请选择 进入手机版 | 继续访问电脑版
高级搜索 关闭
本帖最后由 飞鸟 于 2018-11-4 19:13 编辑

1、区块链的基础架构模型
区块链的基础架构分为六层:

C:/Users/Administrator/AppData/Local/YNote/data/qqE72FE0C80A1FAE7BBF312CD2454BAEE5/c282d2f35acb4957973cf99fd805db89/clipboard.png
其中关于几个概念的说明
1>区块链的基础架构必须包含数据层、网络层、共识层
2>时间戳:记录新的区块生成的时间通过算法计算生成的数据
3>哈希函数
①特点
   .把变长转换为定长
   .计算容易倒推难
   .哈希值对细节敏感
②又叫散列函数,它具有确定性的结果,也即是如果两个数据的哈希值不同,那么这两个数据也是不同的。
③哈希函数具有不可逆性,输入数据与输出数据不是唯一对应的关系。
扩展知识:“哈希碰撞”是两个哈希值相同的数据,它的输入值可能不同。处理哈希冲突的方法有开放定址法、再散列函数法、链地址法、公共溢出区法
⑤有如MD5、SHA-1、SHA-2(SHA-256等)、SHA-3等
⑥分类:加法Hash、位运算Hash、乘法Hash、除法Hash、查表Hash、混合Hash
4>Merkle树:将区块主体中的交易数据进行逐级两两配对(如果只有单个交易数据,那会将其复制并进行自我配对)并通过哈希函数进行哈希计算出哈希值,然后将哈希值两两配对再次计算哈希值,直到获得最终的唯一一个哈希值,这个哈希值就是Merkle根,而整个过程中的交易数据构成的叶子节点、配对哈希的哈希值构成的兄弟节点、父子节点以及Merkle根节点构成的树状结构就是Merkle树。Merkle根可以用来验证交易数据的是否被篡改。其中这种Merkle树状结构有利于更快地遍历检验出被篡改的交易数据。
5>P2P网络:点对点的自动组网即临近节点间通过相同的区块链程序相互通讯
2、比特币区块链的体系结构
一个区块中包含:区块头区块体
1>区块头-头哈希值-作为下一个区块存储的父哈希值(即当前区块的父哈希值是上一个区块的头哈希值)
区块头中包含版本号父哈希值时间戳随机数(工作量证明的载体,第一个通过机器挖矿得到的正确数据,证明工作结果的载体)、难度值(会根据之前一段时间区块的平均生成时间进行调整,来应对整个网络整体变化的计算总量。用来维持产生区块的时间在一个稳定的值,难度值越大得出正确的随机数就更难)Merkle根。
那么头哈希值=hash(父哈希值+Merkle根+难度值+随机数+时间戳 )。在这个等式中,如果计算出的头哈希恰巧达到某个正确的数值的时候,那么就说我们挖矿成功,这个区块所记录的交易也就正式被确认。 其中,等式右边的父哈希值、Merkle根、难度值、时间戳是已知的,唯一未知的是随机数,所以我们挖矿,其实是让机器不停的去猜这个随机数,如果这个随机数猜中,那么就会得到一个哈希值,而这个哈希值满足前n位是0,并且小于目标值(一个区块链的常量/难度值),那么这个头哈希值就是有效的了。
2>区块体-当前区块所有的交易信息
3>通过保存上一个区块的头哈希值即父哈希值,当前区块就可以与上个区块衔接起来,网络里的区块连在一起就形成了区块链。
3、新区块产生的过程
一笔交易要成功,这笔交易必须是要被记录在区块里才算确认。新的区块的诞生就叫做挖矿。
当前区块加入到区块链后,矿工们就会开始准备新的区块的生成,而一个新的区块的产生矿工们会进行下面的步骤:
1)-把本地的交易信息记录到区块主体中;
2)-在区块主体生成此区块中所有交易的Merkle树,通过连续的哈希把最后算出的Merkle根保存在区块头中;
3)-把上一个刚刚生成的区块的区块头数据通过哈希算法生成一个哈希值 填入 当前区块的父哈希值中;
4)-把当前的时间计算后保存在时间戳中;
5)-根据之前一段时间区块的平均生成时间进行调整难度值,来应对整个网络整体变化的计算总量。
其中区块的高度是区块链中区块的个数。比特币的区块大小限定为1M(1M=1MB=1024KB=1024*1024字节=1048576字节-byte)即大约一百万字节,每笔交易大约250字节,那么每个区块能容纳大约4千笔交易,而每个被认可的区块平均产生时间为10分钟(比特币的开发者规定,新的区块生成平均需要10分钟),最后我们可以知道比特币网络中每秒处理约7笔交易。
猜想-这个10分钟规定的目的:
1>确保网络中的其他矿工有足够的时间同步交易记录,即同步区块链。更新速度太快,可能导致矿工之间的区块链不同步。
2>确保恶意矿工不能伪造区块。如果区块生成时间太快,恶意矿工可以快速地生成假的区块追加到假的区块链上,比其他诚实的矿工生成的真实区块链还长。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
向来心是看客心,奈何人是剧中人
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版规则