其他分享
首页 > 其他分享> > 区块链技术与应用【肖臻老师】笔记整理之------16-BTC-匿名性

区块链技术与应用【肖臻老师】笔记整理之------16-BTC-匿名性

作者:互联网

注:没有全部复原,抽取了主体知识,加入了一些自己的理解,强烈建议去学习肖臻老师的课程,这绝对算得上是国内区块链讲解的顶级教程,纯学术和技术

完成的功能:账户地址->账户状态的映射

​ address->state

​ 地址是160bits 40个16进制的数

状态就是指外部账户与合约账户的状态,包括余额,交易次数nonce,对合约账户还包含代码和存储

以太坊使用的数据结构:MPT(Merkle Patricia Tree)

trie: 来源于retrieval(信息检索),前缀树或字典树,也是key-value

特点:

  1. trie中每个节点的分支数目取决于Key值中每个元素的取值范围(16进制0-f)
  2. 键值越长,查找访问内存的次数也就越多,ETH都是40位16进制的数。(ETH和BTC的地址不通用)
  3. trie不会出现碰撞
  4. 输入不变,构造的trie是一样的
  5. 更新操作局部性很友好

Patricia Tree/Trie(压缩前缀树)

在这里插入图片描述

Merkle Patricia Tree

在这里插入图片描述

shared nibble:16进制数,一个nibble就是一个16进制数

三种节点:

每一个合约账户的存储都是一个小的MPT

ETH中代码的数据结构:

块头的结构

在这里插入图片描述

区块的数据结构:

在这里插入图片描述

在这里插入图片描述

真正在网上发布的就是这些信息

前面讲(key,value)键值对,没有讲Value部分的存储,他需要进行序列化

RPL:Recursive Length Prefix是一种序列化的方法,特点是简单,极简主义,越简单越好,

只支持一种类型,nested array of bytes字节数组,一个一个字节组成的数组,可以嵌套

protocal buffer,protobuf:很有名的做序列化的库

标签:肖臻,BTC,账户,tree,匿名性,哈希,Merkle,区块,节点
来源: https://blog.csdn.net/qq_38123961/article/details/116563167