火星链 火星链
Ctrl+D收藏火星链

ACH:什么是 Merkle Pollard?

作者:

时间:1900/1/1 0:00:00

在密码学货币领域,默克尔树是一种很高效的方法,用于证明一大组数值中存在一个特定的数值,而且将数据存储量降到了最低。本文介绍了默克尔树,并且展示了如何通过存储多个层级的默克尔树分支而非根节点的方式来大量减少重复证明”)。哈希函数

哈希函数可以把一段任意长度的数据变成一个固定长度的值。例如,下图中“Apple”和“Orange”的哈希值如下所示:

-哈希值-哈希函数有很多特征,其中最显著的两点是:即使输入值仅有毫厘之差,得到的哈希值也会迥然不同;从数学上来说很难根据哈希值倒推出输入值。默克尔树

默克尔树指的是将多个输入值和它们的哈希值结合起来压缩成某个固定长度的值。默克尔树的顶端是各种输入值,被称为“叶节点”。每个叶节点经过哈希得到上一层分支,相邻两个分支拼接在一起之后哈希得到中间支。一层一层哈希之后,最后得到一个哈希值,即默克尔根节点。默克尔树的示例图如下:

华尔街分析师:比特币什么都不是,只是一股蒸汽:华尔街“全明星”分析师安迪·凯斯勒在1月31日《华尔街日报》观点版面发表文章《比特币泡沫背后》。

文章中他表示:比特币什么都不是,它只是一股蒸汽,一种想法的概念。使用比特币的交易非常少。它缺乏价值存储属性——任何一种一周下跌30%的东西都不能发挥这种作用。但彭博社(Bloomberg)的财富报道称:“比特币新手告诉我们,是什么促使他们以创纪录的价格买入。“很多负担不起的人可能因此受到严重伤害。Robinhood周五限制了一些加密货币的购买。

所以加密领域都将目光聚焦于二月中旬。我不知道纽约总检察长会发现什么。她可能会结束调查,继续自己的快乐生活,因为根本就没有犯罪,或者发现一个让伯尼·麦道夫看起来像从柠檬水摊上偷东西的局。我们知道当热空气耗尽时泡沫会发生什么。[2021/2/2 18:41:07]

-默克尔树-上图所示的默克尔树有8个输入值,分为4层。根节点就是位于最末端的0xd576...ffd9。正如上文所述,即使输入值极为近似,得到的哈希值也是迥然不同的。如果输入值发生了变化,会影响到默克尔树的各个层次,最后得出完全不同的根节点。例如,将输入值中的“Peach”改为“Pear”之后,这个默克尔树都会发生变化,如下图所示:

声音 | 江卓尔:改个难度调整算法并不是什么大问题:莱比特矿池江卓尔回应网友指责“BCHABC加入防重组代码是愚蠢的”时称,这逻辑水平也太low了吧,和Core党一个水平,Core党喜欢喷BCH有EDA所以容易分裂,说得好像BTC没有EDA,有哪个BTC分叉币因为难度高死掉了一样。都要改规则分叉了,还不能随便改个难度调整算法?[2018/11/22]

-一处改动对整个默克尔树的影响-默克尔树是可再生的:如果把完全相同的输入值按照同样的顺序排列,默克尔树的分支和根节点始终会得出同样的哈希值。默克尔路径

默克尔路径指的是某个输入值到默克尔根节点之间所有哈希值的集合。下图显示了输入值“Peach”的默克尔路径:

-"Peach"的默克尔路径-默克尔证明

声音 | 赵长鹏:用户在投资前首先得弄清标的究竟是什么:赵长鹏在社交平台上称,投资者与其抱怨USDT在审计工作上有所欠缺,不如变换思路:在投资之前彻底弄清标的究竟是什么。[2018/9/28]

默克尔证明指的是不需要知道一个数据集合中的其他值就能证明某个值属于这个集合。

-默克尔证明-默克尔证明需要三样东西:输入值、中间支哈希值和默克尔根节点。每个输入值对应的中间支哈希值集合各不相同。区块链系统经常会用到默克尔证明,证明某个数据集合内存在某个输入值,这样就不需要将整个数据集合都存储在区块链上了。假设一个以太币合约内有一个白名单列表,只允许列表内的账户购买以太币。如果将白名单内每个账户信息都存储在区块链上,势必要付出很高的成本。在这种情况下,只需要创建一个默克尔树,再将根节点存储在区块链上即可。例如,如果将根节点存储在一个智能合约上,这个智能合约很容易就能证明某个账户包含在白名单内:这个账户需提供中间支哈希值,智能合约将这个账户的哈希值依次与中间支哈希值进行哈希计算。如果最后得出的结果与默克尔根节点一致的话,就证明这个账户确实在白名单里。请注意最后两张图中默克尔路径和默克尔证明的哈希值之间的关系。在同一棵树的同一个层级中,默克尔证明的哈希值与默克尔路径的哈希值是相互关联的。由此可见,默克尔证明能够重塑输入值的默克尔路径,这就是为什么最终结果是默克尔根节点的原因。至此,可以看出默克尔证明具有以下特征:在链上存储默克尔证明所需的空间远远小于直接存储输入值所需的空间在链上公开存储默克尔证明也不会暴露整个输入值集合要证明某个输入值集合内是否存在某个值,验证默克尔证明的成本低于核对整个输入值集合的成本重复证明

薛蛮子:什么是区块链企业家精神?: 今日知名投资人薛蛮子在三点钟区块链社群回应问题“您经常提到的区块链企业家精神具体是指的什么”时表示:我这次在京都附近的天桥立看了一个奇景是屁眼看天。原本是海中有了一个长几公里的沙堤,和西湖的苏堤白堤一样,仅是一个美景而已。可是到了上顶上有个地方,叫裤裆看天。每个游客必须把头伸到裤裆底下看景。这时候,这个沙堤就不是一个普通的沙堤,而是宛如一条巨龙,直飞天际。我之所以句这个例子,就是因为区块链颠覆了以往的商业逻辑。因此,颠覆是第一条。第二个精神是有抡开膀子 时不我待的精神。第三个精神是要有超强的学习能力,才能与时具进。眼界,胸怀,识人之能和容人之量是前所未有的重要。[2018/2/25]

在上文的例子中,每个账户只需要发送一个默克尔证明,就能够验证自己是否在白名单上。此外,默克尔树还可以用作概率性知识证明,每一次知识证明都能使我们更加确信:默克尔树的创建者知道所有的构成值。在这种情况下,证明者通常会根据包含几十个乃至成百上千个输入值的默克尔树生成上百个证明。这些证明会连同默克尔根节点一起发送给验证者,来验证它们的有效性。让我们紧接着上面的例子来探究重复证明,下面三幅图分别是由同一个默克尔树生成的三个不同的证明:

-同一个默克尔根的重复证明-可以看出总共发送了一个默克尔根节点和三个证明,加起来共有10个哈希值:根节点有1个,其余三个证明各有3个。有没有效率更高的做法?可以看出默克尔树的第一个层次只有两个值c0b7...da30和6ff9...8e3d,但三个证明总共发送了3个哈希值。那么,如果一开始提供的部分不仅包括最低层次的哈希值,还提供更上一层次的哈希值,效率会不会更高?

-扩展式默克尔根节点的重复证明-默克尔树截顶

扩展默克尔根也可以说是给默克尔树截顶,也就是只保留默克尔根节点和少数几层中间支。默克尔树截顶的顺序是按照根节点上方的中间支层数决定的。1阶默克尔截顶包含一层中间支,如下图所示:

-1阶默克尔截顶-2阶默克尔截顶包含两层中间支,如下图所示:

-2阶默克尔截顶-如果同一个默克尔树存在多个重复证明,采用默克尔树截顶会减少证明的大小以及验证证明所需的时间。要求得默克尔截顶的最佳阶数,只需对证明数量取2的对数,再向下取整。下图是一个低阶默克尔树截顶表,显示了包含4096个输入值的默克尔树可节省的空间和时间,如下所示:

-不同阶数的默克尔树截顶所带来的优势-使用默克尔树截顶能够节省大量存储空间。例如,一个STARK测试证明如果使用的是默克尔根节点,需要564KB的存储空间,如果使用的是默克尔树截顶,只需要346KB的存储空间,减少了40%。传输并验证证明所需的时间也会减少。实现样例

https://github.com/wealdtech/go-merkletree/提供了采用Go语言实现的默克尔树截顶。

标签:区块链比特币PEAACH区块链专业方向好就业吗比特币今日价格人民币PEARLluxalpachain

火必交易所热门资讯
TIN:又一个国家对加密资产释放善意,ICO合法化之路迎来转机

法国金融市场监督者AutoritédesMarchésFinanciers正在起草监管框架,该框架旨在消除这些创业公司面临的长期争论点“银行业关系”.

1900/1/1 0:00:00
区块链:组成比特币的三驾马车

“TheTimes03/Jan/2009Chancelloronbrinkofsecondbailoutforbanks”《泰晤士报》:2009年1月3日.

1900/1/1 0:00:00
MEDI:谷歌、微软、阿里云……六大云厂商区块链服务哪家强?

作者|秦晓峰编辑|卢晓明美国信息技术研究和咨询公司Gartner近日发布了一份报告,主要针对全球云计算厂商提供的区块链云服务进行了技术评估.

1900/1/1 0:00:00
区块链:首批区块链信息服务备案名单公布,部分涉币企业存在合规风险

编者按:本文来自财经网链上财经,作者:长风,Odaily星球日报经授权转载。2019年3月30日,中国互联网信息办公室公布了第一批境内区块链信息服务备案名单及相关编号.

1900/1/1 0:00:00
区块链:升谱科技「职场通行证」,让履历造假现形

3月30日,首批197个区块链信息服务名称及备案编号发布,Odaily星球日报发现其中北京升谱科技推出“职场通行证”平台,意欲用区块链解决招聘问题.

1900/1/1 0:00:00
TOR:为艺术品做档案数字化记录,「Artory」获730万美元融资

如果你了解艺术品收藏,你就会知道市场有多厌恶“假货”。艺术品收藏投资看重的是其“真、珍”属性,大多数人在购买前会多方收集出处等资料信息,以确保其大额投入产生的的确是“艺术品投资”.

1900/1/1 0:00:00