区块链安全的洋葱模型:每一层都增加了额外的安全性

火星财经 2020-06-13 08:03:44
来源:星球日报

原文标题:区块链安全的洋葱模型

根据经验,公有链是安全的。自(不久前)问世以来,它们大多数时间都在完成预期目的,顺利流畅地处理交易。这一点我们有目共睹。但却很难想出一个理论来解释其中缘由。

人们通常会用自己最理解和最看重的点来解释其拿手项目的安全性。至于公有链为何安全,不同人看法不一:要么因为有经济激励措施的保障,要么因为有遍布全球的哈希算力背书,要么因为有全节点的保护,要么因为有一个狂热的社区在维护一套共同的价值观。这种现象也不足为奇:根据工具定律(链接1),人们会对自己已经熟悉的工具过度依赖。如果你手里只有一把锤子,那么所有的东西看上去都像一根钉子。

在我看来,上述任一因素都无法独自解释该现象。即便某一特定领域的保护无懈可击,要想出成功的攻击招数也是轻而易举。例如,在一个所有用户都运行一个全节点的网络中,矿工仍然可以将整个区块链替换为由他控制所有币的备用区块链。因此,要实现开放式数字现金系统所需的安全,必定需要不同部分相互结合与相互作用。

区块链安全的洋葱模型
我提出的模型旨在整合安全性的各个要素,帮助读者形成全面系统的理解。目标是更全面地研究公有链,发现优势和劣势,以及对不同的区块链进行比较。

公有链的安全性类似于洋葱,其每一层都增加了额外的安全性:

要永久性地破坏一条公有链,必须破坏其账本状态(所有权列表)中用户的信念,以及可靠地向前更新该状态的能力。所有更高的层均可防止该情况的发生。

攻击必须穿过漏斗型的各个防御层才能到达核心。下面我们逐一讨论其中各层。

加密保障

最外层的保护由加密保障提供。加密是最可靠的保障形式,因此我们委以重任,从一开始便派它来防止大多数攻击。除其他作用外,加密可以确保:

不能凭空印刷代币:所有区块(以及所有区块奖励)都必须附有足够的工作量证明(proof of work)。

无法使用他人的代币:数字签名方案可确保仅代币的有效所有者有代币的使用权。

无法对旧区块的内容作出追溯性的更改:哈希指针确保攻击者如想更改任何旧区块,就必须更改该区块上构建的所有区块。

上述所有攻击均被第一层保护挡在门外。

虽然加密的功能非常强大,但仍有它无法提供的其他保障。例如,它无法确定两条等长的区块链中哪一条是“正确的”(这需要具备现实世界的知识,例如“其他人会切换到其中的哪条链”和“长远看来,哪一条链具有更高的市场价值”)。它也无法强迫矿工在特定的区块上挖矿,无法即刻发布刚发现的区块,甚至也无法确保将特定交易包括进来。

共识保障
通过第一层的某些攻击将在共识过程中被阻止。在中本聪共识(Nakamoto consensus)中,节点不断观察网络并自动切换到最长(最昂贵)的链上。矿工只有在其区块最终成为该最长链的一部分时才能获得报酬,所以他们需要与其他矿工融合。因此,矿工们存在很强的偏见,都想在区块链的顶端挖矿,因为在这里,他们的区块最有可能被其他所有人认可。

如果流氓矿工想在前一个区块挖矿,他将与其他继续在最长链顶端工作的矿工进入竞争状态。只有当他发现几个比其他所有人相加总和还快的区块时,才能迎头赶上,继而开始领先。但视他的哈希算力份额而定,即便他只进行了非常浅层的重组,他也不太可能成功。

要可靠地发起攻击,攻击者需要首先获得对共识层的控制。这意味着控制工作量证明中50%以上的哈希算力,或基于BFT的权益证明中33%以上的占比,或基于最长链的权益证明中50%以上的占比。

这种控制的操作困难常常被低估。例如,大型政府通常被视为公有链的最大风险。但是,如果他们想在初级市场上购买必要的硬件,很快就会发现硬件的年产量受到中国大陆、台湾和韩国的芯片代工厂的限制。而这些代工厂的生产能力又进一步受到澳大利亚稀土开采、亚洲和非洲晶片生产等因素的限制。即便对于高度积极的买家而言,每年的可用产量也有限。以这种方式来获取必要的硬件可能需要至少2-3年,而且也无法做到神不知鬼不觉。

只有中国大陆可能通过没收现有硬件或迫使池所有者发动一次攻击的方式来获得50%的算力。在个人矿工开始察觉并将其哈希算力转移至别处之前,这或许暂时行得通。虽然短期内不太可能对比特币发起这样的攻击,但较小的网络相应地控制着较小的哈希算力或权益份额。在这种情况下,潜在攻击者也可能对小型(流氓)政府和整个私营部门发起攻击。

经济保障
我之前曾提到,由于有经济保障的缘故,倘若单个实体控制了共识层,区块链并不会立即中断(链接2)。通过设定适当的激励措施,区块链可以将实际成本与不良行为关联起来。而这一能力的实现来自于原生代币,其引入了数字稀缺性(进而衍生出价值)的概念,该概念可以(用区块奖励和费用)奖励良好行为并(通过削减保证金或预扣未来奖励)惩罚不良行为。

这些激励措施的规模与参与者对共识层的控制程度成正比。控制许多(甚至是大多数)哈希算力的参与者若破坏系统,会按比例遭受更多损失。因此,可通过对攻击者设定经济惩罚来阻止其发动攻击。

如果流氓矿工想在前一个区块挖矿,他将与其他继续在最长链顶端工作的矿工进入竞争状态。只有当他发现几个比其他所有人相加总和还快的区块时,才能迎头赶上,继而开始领先。但视他的哈希算力份额而定,即便他只进行了非常浅层的重组,他也不太可能成功。

并非所有的经济激励措施都是平等的。区块奖励比网络价值更大的网络更加安全,因为它迫使矿工在游戏中投入更多筹码。(这就是区块补贴下降对比特币安全构成风险的原因(链接3))。

当哈希算法需要无法在网络消失时重新利用的专用硬件【所谓的专用集成电路(ASIC)】时,矿工在这场游戏中投入的筹码也会更多。迄今为止,所有挖矿攻击都发生在规模较小的网络上,这些网络都受制于一种叫做ASIC抗性的谬论,即很少甚至无需参与游戏,便可获得控制权(例如:通过租用哈希算力(链接4)),这绝非偶然。

社会保障
上文曾提到,要永久性地破坏一条公有链,必须破坏其账本状态(所有权清单)中用户的信念,以及可靠地向前更新该状态的能力。

这是必要的,因为区块链并非目的本身。没有必要因为其中某些部分暂时无法使用就收拾行李打道回府。区块链仅仅是在参与者之间自动建立社会共识的一种手段,是维护和更新共享数据库的一种工具。该数据库的状态对参与者有价值,并且强烈激励他们在系统崩溃时恢复系统。

例如,如果加密哈希函数中断,则社交层可以(在技术专家的指导下)达成手动共识来替换中断的部分:

同样地,如果共识攻击超出了经济保障的阶段,社会层仍然可以手动拒绝它。如果具有多数哈希算力的攻击者开始通过挖掘空块来对网络发动DOS攻击,并且完全接受对他自己造成的经济损失,那么用户可以决定更改PoW函数,从而手动解除该矿工的控制权。

如我们所见,永久性破坏区块链的唯一方法是要么使用户对账本状态本身失去兴趣,要么将系统破坏至无法修复的程度。

当攻击可以穿透所有层并最终耗尽系统的社会核心,直到系统无法再覆盖对更高层的破坏和自我修复时,攻击就变得危险了。

要使自我修复和手动干预都起作用,每个项目的社区都需要围绕各自项目的主要属性建立强大的社会规约。就比特币而言,这些核心价值是交易的不可逆性、抗审查能力、没有向后不兼容的变化和2100万枚的比特币供给上限。它们是何时需要社会干预的行动蓝图,并围绕需要解决和不需要解决的问题创建谢林点(Schelling point)。

项目的这些核心价值需要不断地重新协商,且并非所有用户都同意所有属性。但是,围绕特定价值达成的协议越强,该价值在困难时期就更有可能得到维护。

如果将社交层视为任何区块链的归零点,便可发现社会工程攻击是一大威胁。如果流氓开发者能在没有监督的情况下潜入系统进行有害的代码更改,尤其是在频繁实施硬分叉政策的项目中(该主题的推荐阅读文章(链接5)),那么更高的层将变得更加脆弱。

结论与展望
我发现洋葱模型有助于了解区块链的各层如何创建一个安全的整体。在某种程度上,本文是对关于“比特币的社会契约”(链接6)的上篇文章的延伸:任何公有链都始于一套共同的核心价值观,始于系统希望实现的蓝图。

这套价值观必须转化为人际行为规则(协议!)。然后,我们自动执行这些规则,创造不同类型的保障:经济保障、共识保障和加密保障。系统通过约束参与者的行为来获得社会扩展性(链接7),从而在低信任环境中实现合作,进而创造财富。

#蔡立文人墨客[超话]#❤
现实生活中很多连自已都无法控制的人,居然想管着别人,一个连夫妻关系都处理不好的人,却梦想当人生规划师,一个没有“自律”的人,又怎去“渡人?
切记,人生在世唯一能给你留下来就是血脉和亲情这点东西!在过去和未来中,我们可以把握住的只有现在。人生在世,我们无法预知未来,幸与不幸,总需坚持到最后才知道!
当你指责抱怨他人时多想想自己,自己处在对方角度能否做的更好,如果不能你如此行为有何意义,若能做的更好,你又怎不去试试,对方欠你的吗?
不伤害他人是一种教养,不被他人伤害是一种气场!

小祖宗,你老娘受能些罪,你可得对我好一点

知道怀孕到预产期,数不清的检查,原来我也能那么厉害,抽血化验一次都没落下。唯一没完成的检查就是糖耐了,从喝糖水到抽血,恶心头晕脑胀,第三次抽血坚持不住吐掉了。
从检查出来羊水少,喝水上厕所就成了每天的日常,不是在喝水的路上,就是在上厕所的路上。喝水喝到吐,大概很少有人体验。。最后喝的脚都肿了,厕所跑的都累了,才勉强合格。。
小懒懒,你就没让我省心过,后期胎心监护吸氧重做大概是我最多的体验了。。
马上就是预产期了,珍惜最后几天与你合体的日子


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • #苍兰诀[超话]#[打call][打call][打call][打call]#苍兰诀爱奇艺站内热度破10000#[打call][打call]听本座说这都是你应得的
  • 2021.12.19-2022.8.30冬-春-夏还是要离开家了还是没能看到济南的秋天以前大学的时候羡慕别人能坐飞机,而我一个半小时的高铁就能到现在想想多么可笑
  • 对于健康人来说,多吃护肝片不如少喝点酒,对于肝病患者来说,重要的是遵照医嘱用药,药物、保健品使用不当,反而有引发药物性肝损伤的风险。护肝片护肝片常被宣传以“熬夜
  • 纯自然棉质面膜,含有山羊奶与各种营养成分,让你的肌肤恢复健康,为你打造柔滑健康的肌肤【赠运费险】-------------------------Elizabe
  • 某次在录制《快乐大本营》的时候,原本设定的游戏环节是要求关晓彤对黄景瑜说土味情话,当气氛已经烘托到极致的时候,没想到黄景瑜却坚决不配合,让关晓彤整段垮掉:
  • 星星的闪烁能说明些么,正如海的脉搏此时的激荡,让你欣喜,却又让你空茫。人生不能太过圆满,求而不得未必是遗憾 ——陈粒《自渡》#阳光信用##每日一善##虽离山正[
  • !!
  • (华商报)#西安爆料##西安[地点]#给70岁老父亲的晚年礼物30多年过去了,房子的外墙有剥落、屋顶又漏雨,父亲住在里面我很不放心,于是我们索性把这栋“危房”推
  • 第8件- 做次布施 -《杂宝藏经》云:如果有人以清净心,向佛陀、僧众、父母、病人布施一掬水,以此功德,在数千万劫中都会感受无穷的福报。比丘们经过长达三个月的“结
  • 小时候喜欢看动漫,尤其是日漫,动漫里的一切都那么美好,尤其是那些我不知道的生活让人向往,因为前面有了希望,即使不完美的现实生活也觉得很快乐和知足,天阴天晴,都不
  • 8月11日,赵某某(男,44岁)违反疫情防控规定,未按要求在公共场所佩戴口罩,且不听从防疫工作人员劝阻,造成疫情传播风险。8月11日,赵某某(男,44岁)违反疫
  • 我会用一世思念,来填补内心的遗憾……亲爱的儿子妈妈好想你[拥抱][拥抱]孩子想你,我站在风中凝望,我走在雨中驻足,我在月下徘徊,我在家的路口等待,好怀念有你陪伴
  • 过眼万物,随遇而安,无论曾经什么沉浮什么难堪,对生活的全部遭遇,照单全收,然后努力、坚强、阳光,活好经过时光的每一天。认真生活,就可以找到生活藏起来的糖果[举杠
  • 她无愧于自己的努力 更无愧于大家的喜欢 我只是一个学生党 其实这次已经超过预算了但是昨天真的很难过本来她也可以开开心心的在舞台上跳舞和大家讲讲虽然不想讲但还是要
  • #山东地区亲子读书会##亲子共读记# 在10月21日下午成功举办了我的第十场线下亲子故事会,本期主题《牙齿,牙齿,扔屋顶》美丽花原创绘本《牙齿,牙齿,扔屋顶》
  • #ive# / 你不笑的时候,很好奇你在想什么니가 웃지 않을까 , 무슨 생각 하는지 궁금해.那我也不会问,我知道总有一天会告诉我的그래도 묻지
  • 我非常喜欢的良宽禅师的一首诗:懒到没有野心不问世事,袋子里有三升米,炉边有一束柴,何必闲谈幻想与开悟,听着夜雨打在屋顶,我伸直双腿,舒服地坐着。#吴磊穿越火线[
  • 随后,他们仔细检查了王女士家的线路和用电设备,也没有发现漏电和短路现象。 虽然排除了王女士家存在漏电和短路现象,但陈勇和王立如还是发现了几处用电安全隐患。
  • 所有普通人仰望着这个圈子,想各种方法靠近这个圈子哪怕会遍体鳞伤……这种物质下产生的精神状态情况被无线极速的扩大,让这些普普通通的老百姓承受翻倍的劫难,无可厚非这
  • 有些人,注定是生命中的过客;有些事,常常让我们很无奈。有些人,注定是生命中的过客;有些事,常常让我们很无奈。