当前位置:首页 > 数字货币交易所 > 正文内容

无状态性:基于键值对的见证数据方案

数字货币交易所2021-01-15 15:58

无状态性:基于键值对的见证数据方案

目前,无状态以太网运动已经提出了一种块见证的格式,其细节如下所示。该块见证方案基于操作码。你可以理解为一种小编程语言,可以用几个命令生成“默克尔多值证明”(中文翻译)。

本文研究了块见证数据的另一种构造方法,该方法基于键值对列表,语义更简单。

在本文中,我将尝试回答以下问题:

什么是键值对见证数据(KvWitness),KV  witness和目前提出的基于操作码的见证数据格式有什么区别?

键值对见证数据与操作码见证数据相比有什么优缺点?

从网络带宽的角度来看,键值对见证数据方案有多高效?

(见证数据方案满足的前提)

所有块见证数据方案必须满足以下要求:

是正确的(正确性)。确保该节点可以执行以太网主网络的任何块。

效率(效率)。传输见证数据所需的网络带宽应尽可能小。

merk  alization(merk  alization)。有必要支持合约码的汉化(中文翻译)。

状态树的格式(不依赖于Arity)被忽略。支持十六进制默克尔树和二进制默克尔树(中文翻译)。

语义意义

这部分我先说键值对见证格式的语义,具体的字节布局就不说了。

稍后,我将解释我在测试中使用的数据格式。

见证:=标题、正文、校样

报头:=版本:字节,trie_arity  :字节

body  :=数组[ { type: byte  key  : []byte,value  : []byte  } ]

校样:=map  { :[{ prefix  :[]byte,hash  : []byte  } ] }

见证数据主体

见证数据的数据主体由两个元素组成:

数据

“密钥”可以是:账户地址、存储密钥或代码密钥;“值”可以是:帐户、存储项目或相应的代码块。这部分的数据体与用来验证正确性的默克尔树格式无关。而且即使用其他方法验证正确性,这部分也不会改变。

证据。

密钥是默克尔路径,值是哈希值。证据的形式取决于状态树的格式,所以十六进制树和二叉树下的证据会有所不同。这种语义使我们能够在同一个见证中包含多种类型的多值证明。因此,理论上,我们可以创建一个既支持十六进制又支持二进制状态树的见证数据格式。

数据体根据关键字的字典顺序进行排序和存储,以确保:

较短的键总是在列表的顶部(从上到下重建默克尔树时很有用)

当两个数据的关键字相同时(账号地址可能与代码关键字相同),与账号相关的数据总是排在第一位。

解析算法

检查证人数据的版本和用于证据的默克尔树格式(以确保证据的格式与块要求的状态树格式相匹配)

验证见证数据的哈希值(如果有“规范见证”的概念)

用正确的格式创建一个空的默克尔树

遍历数据,并按照读取数据的顺序为这个空的默克尔树插入数据(见证数据也应按照字典顺序存储)

将证据插入树中

验证根哈希值(它应该与前一个块的根哈希值一致)

优点和缺点

比较键值对见证格式和当前操作码见证格式的优缺点。

优点:

匹配平坦数据库机制,因此如果规范见证哈希值有效,可以立即插入(不需要验证默克尔根值)

它可以用于快照同步

见证中的数据与我们选择的验证证据的方法无关:无论是默克尔树、多项式承诺还是其他方法,都不会影响我们需要添加的数据。

缺点:

在二进制状态树中,由于字节对齐可能会占用更高的带宽(例如,证据的密钥是0b01,只有两位,但需要占用一个字节的存储空间)

解析可能会更慢

分享给朋友:

相关文章

高盛押注区块链 探索数字代币的可能性

高盛押注区块链 探索数字代币的可能性

上个月,高盛任命负责内部资本运营的董事总经理马修麦克德莫特(Mathew  McDermott)为新的全球数字资产经理。这一任命意味着,区块链和华尔街的新形象不再是过于乐观的比特币传播者或夸...

朋友的妈妈贷款了30万进入币圈,问我怎么办?

朋友的妈妈贷款了30万进入币圈,问我怎么办?

昨天,一个朋友突然来问我是否知道虚拟货币。我说我只听说和知道一点点(当然,我不能透露我也在投机硬币),但没有太多的研究。于是她开始了吐槽模式,说她刚刚得知她妈妈借了30万元的信用贷款,所有的钱都买了虚...

新冠形势严峻,币圈行情震荡,Filecoin挖矿是否可行?

新冠形势严峻,币圈行情震荡,Filecoin挖矿是否可行?

昆明昨天再次新增一例国外输入病例,属于中国籍,孟加拉国输入。目前为止,云南省现有境外航空输入确诊病例3例,孟加拉国输入2例、俄罗斯输入1例、无症状感染者5例,均为俄罗斯输入,在定点医疗机构隔离治疗和观...

火币网官方网址

火币网官方网址

火币网官方网址1)梳理heco生态中的DeFi项目,以及谁可能利用生态链Heco  《造物主计划》观察一个新的公共链的DeFi生态发展。2)分享基模型算法稳定货币数据观测。BAG能走多远?1...

2020年传销币名单

2020年传销币名单

什么是MLM货币?2020年MLM硬币列表:你见过多少?什么是MLM货币?MLM货币是MLM活动中使用的一种虚拟货币。像其他MLM活动一样,会员们被鼓励通过吸引人们在快速致富的口号下购买MLM货币来赚...