账本存储在每个节点中,怎么保证每个节点中的数据共同,或者说怎么避免某些节点的账本被歹意篡改而影响到整个网络的买卖?
如果说买卖的验证由各个节点完结,那么怎么在不把暗码走漏给其他节点的前提下,证明自己对某个账户的所有权呢?
去中心化就要求时刻有节点在线,由这些节点去完结记账、验证买卖等作业,那么有什么机制能够让节点有动力自发的保持在线去完结这些作业呢?
对于上面的问题,比特币都给出了很高雅的处理方案,咱们一一道来。
CoinGecko新增比特币Ordinals NFT版块:7月26日消息,加密数据分析网站CoinGecko新增比特币Ordinals NFT版块,用户可以查看比特币Ordinals生态NFT系列的地板价、成交量和市值。[2023/7/26 15:59:54]
1.账本验证问题
实际上对于第一个问题,很简单想到处理办法,那便是少数服从多数,如果某个节点的账本数据被篡改了,那么只需求和全网其他节点的数据比对,就必然能发现异常。
但问题在于,随着时刻的推移,记录的累积,数据量会越来越巨大,记得在13年的时分,笔者下载的比特币钱包,从网络同步下载下来的买卖账本数据就现已多达几十GB,如果说要对这么大的数据进行逐一传输、比对,能够说是不现实的。
Binance比特币期货合约过去24小时交易额超335亿美元,创近一个月新高:金色财经报道,据区块链分析公司Glassnode最新数据显示,Binance平台上比特币期货合约过去24小时交易额达到33,571,077,689.27美元,创下近一个月新高,此前高点发生在5月13日,当日交易额为31,783,460,428.98美元。[2022/6/13 4:22:25]
在介绍比特币的处理方案前,咱们先了解一个函数:Hash函数,俗称哈希函数。
关于Hash函数的细节,咱们今后再描绘,现在咱们需求知道便是:一段数据经过Hash函数的运算后,得到一段长度很短的数据,咱们称之为摘要数据,能够表示成:
分析:比特币波动区间出现下移 8750美元上方多头已全部浮亏:BFX.NU研究成员表示,通过对上月27日起至本日午前的盘面数据观察,虽然市场上的比特币期货持仓主力仍偏向多头,但波动区间已在不断的下移,目前8750美元上方区域的多头投资者已全部处于浮亏,新进空头开仓规模已出现明显下降,说明此前的空头已进行了部分止盈,而多头杠杆比率也因平仓、补仓等日渐下降,目前比特币挂单支撑主要聚焦于8360美元附近区域,投资者需周内重点关注此价位的支撑情况。主流币期货板块,EOS、ALGO、CKB等12类合约短时增仓明显,而XTZ、LTC、TRX等11类合约呈现为减仓趋势;平台币期货板块,HT合约短时新增2.59万开仓,日内空转多操作有所增加,目前持仓导向整体偏为多头。[2020/3/2]
Hash(原始数据)=摘要数据
而Hash函数有以下三个特点:
相同的原始数据,经过同一个Hash函数,总是能得到相同的摘要数据;
原始信息的任何细小的修正,经过Hash函数后,得到的摘要数据会改头换面;
不行逆运算,即:拥有摘要数据,无法逆向反推出原始数据。
比特币的做法是,买卖账本数据依照时刻分块存储,每一块只存储10分钟的买卖账本数据,这每个存储单元即称之为“区块”。而每一个区块的头部会记录这一数据块的序号、时刻和Hash摘要数据。
比较巧妙的当地在于,区块头部中的Hash摘要数据是由上一个区块的摘要数据和本区块的买卖账本数据叠加后经过Hash函数得到的,即:
第n块的Hash值=Hash(第n-1块的Hash值+第n块的账本数据)
能够看到,虽然每一个区块内的买卖账本数据是独立的,可是区块头部的Hash值却是依赖于上一区块的Hash值,从而形成了一条链式的结构。这想必也便是“区块链”姓名的由来。
链上的任何一个区块中的数据受到的篡改,都将反映到最新的一个区块的Hash值上,因此,要想验证某个节点的账本数据是否正确,只需求比对最新一个区块的Hash值即可。
2.账户所有权的证明
如果我要经过某个账户给另一个账户转账,必然需求证明我对此账户的所有权。对于中心化的货币系统,咱们只需求向银行出示暗码即可,可是对于去中心化的系统,如果咱们也经过出示暗码给其他节点,来证明咱们对账户的所有权,那么咱们的暗码也就走漏给了其他节点。
事实上这是一个现代暗码学中比较根底的问题,说白了便是怎么在不露出自己私钥的前提下,自证身份,也有很成熟的处理办法:利用非对称加密算法。关于算法的细节,计划在后面单独说说现代暗码学的一些根底算法,这儿咱们就用类比的办法描绘一下。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。