编者按:本文来自:以太坊爱好者,作者:JimMcDonald,翻译&校对:裴奇&阿剑,Odaily星球日报经授权转载。译者注:以太坊网络是一台富状态的世界计算机,其状态包括状态余额、交易流水号、合约代码及合约存储内容等。在技术上,这些状态数据是靠一种叫做“默克尔树”的结构来组织的,因此,以太坊世界状态及其访问、更新,便可表达为一棵默克尔树及其访问、更新。同样地,所有跟默克尔树相关的数据证明及验证操作,都可以在以太坊协议的语境下被理解为状态的证明及验证操作。实际上,默克尔树是我们理解、利用、改进以太坊协议不可或缺的一环。本文介绍了一种可以证明多个值存在于同一棵默克尔树上的方法,因此也可以说,这就是在介绍如何证明多个以太坊状态隶属于同一时刻的世界状态的方法。科普|什么是默克尔截顶
韩国“区块链城市”中的大多数公司都不知道什么是区块链:釜山研究所最近的一份报告显示:在韩国釜山的区块链沙盒城市中,有62%的公司显然对这项技术一无所知。
自去年以来,釜山被韩国联邦政府视为区块链开发的“无监管”区域。该市在区块链领域开展了许多项目,包括基于区块链的虚拟电厂的计划,甚至是其自己的市政加密货币的计划。
来自各行各业的100家接受调查的公司中,有91%的人表示他们没有计划采用区块链技术。在对26家与区块链相关的公司的另一项调查中,有23%的人抱怨最近面临的监管障碍。此外,有19%的区块链企业还表示他们对发展感到孤独,指责政府缺乏对区块链采用的支持,而15.4%的企业则担心缺乏技术和人力资源来开发该技术。[2020/9/19]
稀疏默克尔树多值证明是对默克尔树截顶的一种替代方案,可在为证明一棵默克尔树上存在多个值时提供空间上较为节约的证明。什么是默克尔证明、默克尔树截顶,我已在前一篇··文章中解释过了;推荐您先阅读并理解这些概念再来阅读本文。接下来,文本将用下图的默克尔树来解释多值证明:
声音 | Nigel Green:加密货币市场的波动与其他金融市场没什么不同:deVere Group首席执行官兼创始人Nigel Green表示:“所有金融市场都有高峰和低谷,加密货币市场没有、也不应该有任何不同,每当市场下跌或加密货币出现一轮波动时,那些讨厌加密货币的人就会宣称数字货币完蛋了——结果它们又经历了一轮上涨。在大多数其他金融市场,这些人不会做出如此极端和毫无根据的声明。”(彭博社)[2019/11/28]
-图1:一棵默克尔树-稀疏多值证明最早由VitalikButerin提出。多值证明
多值证明就是把一棵默克尔树中的一组证明打包在一起,从而节省存储空间。例如,下面是上图所示默克尔树的3条默克尔证明:
声音 | 郎咸平发文:没搞清楚比特币,有什么资格活埋李笑来?:郎咸平于5日在微信公众号“功夫财经”上发布标题为《没搞清楚就瞎投,有什么资格“活埋”李笑来?》的原创文章,评论日前发生的李笑来录音泄露事件。
日前,一段疑似“中国比特币首富”李笑来内部讲话的录音在社交媒体上广泛传播。在这段长达50分钟的录音中,李笑来对以太坊、瑞波、小蚁等多个区块链项目和老猫、罗振宇、赵长鹏等多位区块链领域名人进行了吐槽和评价,全程脏话连篇,不断自曝,引起轩然大波。
郎咸平在文中评论此事件,称自己很早之前就揭露过比特币真相,比特币有“三宗罪”:操纵价格,沦为,区块链没有解决问题。由于这三宗罪的存在,郎咸平十分不建议老百姓当下投资比特币,他在文中谈到:“现在的比特币或者各种区块链Token就是中世纪时期的银行业,放长远来看,可能二十年后这里面谁特别牛,谁从里面捞了第一桶金,毕竟这么多聪明人,群雄逐鹿,你方唱罢我登场,肯定有枭雄。但是,你一个老百姓,我非常不建议你参与这个可能99%都注定肉包子打狗有去无回的游戏。”[2018/7/5]
新华网:没有成熟技术,区块链拿什么来颠覆:新华网援引科技日报文章表示,“颠覆”是区块链宣扬者用得最多的一个词。然而,目前的区块链技术水平能否达到安全、可靠、稳定等标准?即便达到了,在可操作性上还应考虑社会学因素。文中指出,“伪装”与“视而不见”的结伴让区块链技术动机不纯;“鼓吹”让区块链哗众取宠;“利益”让区块链可能挣脱“市场规律”。[2018/3/25]
-图2、3、4:分别对应Banana、Peach和Kumquat的默克尔证明-从上图可以看出,3个证明总共包含9个中间分支的哈希值:每条证明有3个哈希值。将这3个证明组合成如下图所示的结构,即成多值证明:
IT记者刘韧:区块链和互联网一样是创业公司机会,没BAT什么事:知名IT记者刘韧今日发表朋友圈说:“1996年到2004年,我对互联网的错误认识。1.1998年完成《知识英雄》,可以去做门户,但我选择写作《企业方法》,我当时的想法和现在很多人对区块链的认识相同,互联网还处在早期,我先将中国IT史写完,互联网机会有的是,等技术成熟了,我再介入不迟。结果到2000年我只有做Donews的机会了。2.《中国.com》很多篇幅写联想怎样转型互联网。我提问《杨元庆会不会掉队?》但依然看好杨元庆。区块链和互联网一样是创业公司机会,没BAT什么事,更不必去看京东的白皮书。3.以传统企业为本,传统企业崇拜,但传统企业使用互联网或互联网化,和互联网公司是两码事。今天传统企业Tokenize,肯定也不是区块链公司,别跟。”[2018/3/22]
-图5:对应Banana、Peach和Kumquat的默克尔多值证明-相比于单条证明时总共需要的9个中间分支哈希值,默克尔多值证明只需要7个哈希值,这就节省了存储空间。稀疏的多值证明
虽然默克尔树的多值证明确实节省了一些存储空间,但其中一些数据可以用其他方式得到,所以移除这些数据可以进一步节省存储空间。以上图的默克尔树多值证明为例,许多中间分支的哈希值都可以被计算出来。比如验证者将已知的值Banana和Peach通过哈希函数计算后,可以得到哈希值bc4F…8d3f和59a0…421d。对于与根节点相连的两个节点的哈希值c0b7…da30和6ff9…8e3d,可以通过其孩子节点的哈希值计算出来。因为孩子节点的哈希值要么是证明中包含的,要么可以通过再上一层的哈希值计算出来。下图中黄色的节点标记了这4个可由计算得到的哈希值:
-图6:默克尔树多值证明中可以被移除的哈希值-移除这些哈希值后,可以得到默克尔树中稀疏的多值证明,如下图所示:
-图7:稀疏的默克尔树多值证明-稀疏的默克尔树多值证明将需要包含的哈希值数量从9个减少到了3个。证明效果相同时,稀疏的多值证明也比默克尔截顶更有效,因为后者需要6个哈希值。验证者得到稀疏的多值证明后,为了验证那些值是默克尔树的一部分,需要执行以下的步骤:将Banana哈希得到bc4f…8d3f将Peach哈希得到59a0…421d将Kumquat哈希得到2aab…6f791将bc4f…8d3f和59a0…421d哈希得到9c15…5dec将2aab…6f79和45cf…14d9哈希得到a6e4…87df将d596…66ef和9c15…5dec哈希得到c0b7…da30将e336…ed14和a6e4…87df哈希得到6ff9…8e3d将c0b7…da30和6ff9…8e3d哈希得到d576…ffd9至此可以把最终得到的哈希值与默克尔树的根哈希值做比较,如果二者一致,则认定所有的值都在该默克尔树中。下图对比了默克尔树中值和证明的数量变化时,默克尔树截顶和默克尔树中稀疏的多值证明在存储默克尔证明时可以节约的空间存储量:
值得注意的是,多值证明的节省量是近似值,因为能节省多少取决于被证明的值在默克尔树中的位置以及可以被移除的中间分支哈希值个数。对比稀疏多值证明与默克尔截顶
从上表中可以看出,稀疏的多值证明比默克尔树截顶节省更多的存储空间,那么为什么还要使用默克尔树截顶呢?因为稀疏的多值证明相对于默克尔树截顶,拥有一些不同的特性,主要有以下几点:在多值证明方法中,所有值的证明都是一起生成、一起得到验证的;而在截顶方法中,各个值的证明是分别生成、分别验证的稀疏的多值证明在生成及验证证明时,需要更多的内存和CPU周期稀疏的多值证明很难并行地生成和验证稀疏的多值证明的大小是可变的,而默克尔树截顶在给定默克尔树和总证明数时,其证明大小是固定的一些情况下,因为用于传输信息的编码系统不同,可能会导致稀疏的多值证明比默克尔树截顶需要更多的空间;因此建议使用之前做一下测试总的来说,还要看单个应用的需求来决定哪个更合适。但是这两种方法都比单独的默克尔证明节省更多的存储空间,因此当需要对同一棵默克尔树提供多个证明时,可以考虑使用这两种方法。实现样例
https://github.com/提供了稀疏的默克尔树多值证明的Go语言实现。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。