社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  区块链

货币、区块链及社会可扩展性(二)

蓝狐笔记 • 6 年前 • 493 次点击  

前言:区块链在互联网的基础上进一步推动了社会的可扩展性。说白了,就是实现了更多人更大规模的连接。之前连接的是信息,现在连接的是价值,通过信息的匹配和信任最小化,最终实现人类社会的可扩展性。作者是Nick Szabo,智能合约概念的提出者,区块链的先驱人物之一。文章来源于nakamotoinstitute,由“蓝狐笔记”公众号社群“李熙和”翻译。


接上一篇《货币、区块链及社会可扩展性(一)


网络安全的社会可扩展性

 

很久以前我们用黏土,后来用纸,今天使用运行在计算机上的程序、协议和数据网络来执行我们的商业交易。虽然这种变化极大地提高了配对和信息流,但也付出了代价:面对有害行为时,易损性增加了。


随着网络的增长,更多人参与进来,而这些人之间彼此都不理解对方的习惯和行为限制。通过根部信任访问控制实现的安全性,是专门为贝尔实验室等这样的小型办公室设计的,在这种小型场景中,工作人员之间互相认识,他们的收入和支出用纸作为媒介就能管理,并没有通过计算机来管理;而随着办公室规模的扩大,这种方式就不再适用,取而代之的是更高效的安全机制,因为一个公司的不同部门之间界限相互交错,而且更有价值和集中的资源(比如钱)都将通过电脑存储和激活。


一个人收到来自陌生人的邮件越多,就越容易受到网络钓鱼攻击或者附带的恶意软件,因此传统的计算机安全并不具有社会可扩展性。正如我在《可信任计算的黎明》中描述的:


当我们在蜂窝网络或互联网上使用智能手机或者笔记本电脑时,交互界面的另一端通常在其他独立计算机上运行,比如网络服务器。通常所有这些机器都被设计成被一个人或者在层级上相互信任的一群人掌控。站在一个远程网络应用用户的角度来看,这种架构基于对一个未知的根(root)管理的完全信任,管理员能够控制服务器上的一切:可以随意读写更改删除或者屏蔽任何数据。


即使是加密发送的数据最终也会被解密并存放在这样一个架构中。在这个我们信任的现有网络服务中,我们完全受制于那些能够控制服务器的人,比如内部人士和黑客,我们则只能寄希望于他们能够忠实地执行我们的请求,确保我们支付的安全等等。如果服务器那一端的人想要忽略或者篡改你的指令,没有可靠的安全手段能够阻止他们,只有依靠那些昂贵且受到国界限制的人类机构


很多服务器计算机的价值不足以引起内部人士和黑客对其发动攻击。但是随着价值的提升也会使攻击变得更有诱惑力。中心化的“根信任”安全机制的可扩展性极差,传统的“根信任”安全机制更像是在现实世界中的“叫警察”。幸运的是,有了区块链,很多计算的安全性能够得到极大的提升。


区块链和加密货币

 

可扩展的市场和价格需要可扩展的货币。可扩展的货币需要可扩展的安全性,从而使更大规模的不同用户能使用货币,且不必担心伪造、通胀以及盗窃等问题。


2009年,一个以“中本聪”为名的个体或群体将比特币带到了网络上。中本聪在货币上的突破是:通过信任最小化提供了一种具有社会可扩展性的货币:降低了用户在面对交易对手方和第三方时的易损性。


相比传统网络中计算便宜但制度昂贵,中本聪通过使用计算昂贵但安全性高的自动化系统实现了社会可扩展性的显著提升。在这个系统中,一组受信任的中间人取代了单个被完全信任的中间人。

 

通过计算强化实现金融控制:区块链像机器人军队,单个个体相互检查其他个体的工作。


当我们能够通过计算机科学而不是传统的会计师、管理者、调查者、警察、律师等来确保金融网络的最重要功能时,我们就从一个手动的、本地的且安全性不够可靠的系统,走向了一个自动化、全球化且更安全的系统。


如果在公共区块链上得到正确实施,加密货币可以用大量计算机取代大量传统的银行机构。“这些区块链计算机让我们能够把我们线上协议的最关键部分放到一个可靠得多的网络中去,因此我们将能够在全球网络上进行我们以前从来不敢的信托交易。” 


区块链技术,特别是比特币中最有价值的特点是:


· 从现有的制度机构中独立了出来

· 能够跨境无缝运行


这源于区块链可以无需人为干预的情况下实现高级别的安全性和可靠性。没有了这种高级别的安全性,区块链只是浪费计算资源的分布式数据库技术,且仍然受制于当地机构,依赖于它们的正直。

 

自从20世纪中叶开始,计算机算力已经提升了多个数量级,但是人类还在用相同的大脑。这就为克服人类的极限创造了可能性,有了计算机能力,包括安全领域,可以发挥计算机的最大优势,而人类的大脑也可以做自己最擅长的事情。现在一些机构仍然单纯依赖人脑的能力,而相应的结果就是,人没有更多的“算力”来将机构进一步扩展,因为人脑的算力是不会增长的。但是可以通过将部分人类的功能替换为计算机从而提升社会可扩展性这方面还是有极大潜力的。(注意:这个论点取决于人类能力线的斜率,而不是绝对位置。图中所显示的绝对位置是任意的,取决于我们衡量的人类“计算”)。


一个新的中心化金融实体,一个被信任第三方却没有类似于传统金融中可看作“人力区块链”的机制,有很大的风险成为下一个Mt.Gox;没有行政机构的支持它不会成为一个可信的第三方。


计算机和网络是廉价的。要扩展这些计算资源所需要的额外资源也是廉价的。而要可靠又安全地扩展人类的传统机构则需要增加更多的会计师、律师、监管机构、警察等等,随之而来是官僚主义、风险和压力也会不断增加。律师费用十分昂贵,管理开支高得不可想像。计算机科学确保金钱安全的方式比传统的会计、警察和律师要好得多。


在计算机科学中,存在基本的安全和性能之间的平衡。比特币的自动化完整性是以牺牲性能和资源作为代价得到的。目前还没有人能够在不牺牲安全性的前提下极大地提升比特币的区块链计算性能上的可扩展性,例如其交易吞吐量。


很可能对于比特币的区块链来说这种大幅提升是不可能的;这可能就是一个不可避免的权衡。跟现有金融IT相比,中本聪做了激进的权衡,选择牺牲性能来换取安全性。这种看起来浪费资源的挖矿过程就是这种权衡中最明显的地方,但是比特币还做出了其他的权衡。


比如它要求信息传递具有高度的冗余性。数学上可证明的完整性要求在所有节点中都被广播。不达成高度的信息冗余,比特币无法做到这一点。因此1MB的区块所消耗的资源远远高于1MB的网页,因为它必须被传输、处理、高度冗余地存储,以实现自动化的完整性。


这些必要的权衡,也就是牺牲性能来实现达成独立、无缝的、全局的、自动完整性所必须的安全性,这意味着比特币的区块链不可能达到Visa的TPS,且还能保持其自动完整性,而这个自动化的完整性是比特币相对于传统金融体系的明显优势。


相反,一个对信任最小化要求不那么高的外围支付系统(如闪电网络等)会被用来处理更大量但额度更低的比特币计价的交易,并用比特币区块链进行周期性结算。


比特币只能够支撑比Visa或PayPal更低的交易率,但是由于它更强大的自动化安全机制它可以被用来处理更重要的交易。任何有良好网络连接和一台智能手机的人,只要能支付$0.20-$2的交易费——远低于现有汇款费用——就能够在世界的任何一个角落使用比特币交易。而费用较低的小额交易将需要在比特币的外围交易网络进行。


至于小额的bitcoin,用比特币支付零售也不是不可能,就像你用法币支付一样——如比特币计价的借记卡或信用卡,并拥有传统法币信用卡或借记卡所拥有的退款或每秒处理的能力。


除此之外还有其他聪明的方式进行零售交易,比如小额支付的链下交易,并周期性地打包进比特币的区块链。而随着比特币使用的增长,这条区块链会演变成为高价值的结算层,我们则会看到外围网络被用来进行小额的比特币的零售交易。


当我设计比特黄金的时候,我已经知道共识无法安全且大量地扩展,所以从一开始就设计了两层架构:(1)比特黄金自身,也就是结算层 以及(2)乔姆数字现金( Chaumian digital cash),一个外围的支付网络用以提供小额支付,它具有高tps的性能和隐私(通过乔姆盲签技术),但是会像Visa一样需要一个被信任的第三方,因此会需要一个类似会计的“人力区块链”,以实现诚信运转。外围交易网络只能处理小额交易,因此需要更少人力来避免Mt. Gox的命运。

 

Ralph Merkle: 公钥密码学先驱分层哈希树结构(Merkle trees)的发明者


在设计时,货币就需要通过安全性来获得社会可扩展性。例如:任何参与者或者中间人都很难伪造货币(从而稀释供给导致意料之外的通货膨胀)。黄金可以在世界的任何角落都保有其价值,而且它不受恶性通货膨胀影响,因为它的价值不依赖于中心权威。


比特币在这两方面都做得非常好,并且它还能在线上运行,使得某个在阿尔巴尼亚的人能够向某个在津巴布韦的人用比特币支付,只需最小化信任,同时不需要向中间商支付任何类似垄断利润的佣金。


外面有各种各样的区块链的定义,几乎所有这些定义都是在一大堆的市场营销中插入一些笼统而含糊的说明。我提出一种能被用来和门外汉进行交流的定义。如果它有区块和链那么它就是区块链。而这些“链”应该是Merkle trees或者其他的密码学结构,这些结构应该有相似的不可伪造的功能完整性。并且交易或其完整性受区块链保护的任何数据在被复制时应该尽可能地抵御最糟糕的情况,比如系统内有高至1/3到1/2的行为者试图恶意破坏系统。

 

比特币的社会可扩展性的安全,是基于计算机科学而非警察和律师,允许在非洲的客户向在中国供应商提供无缝的支付。私有链很难做到这一点,因为私有链会要求身份验证,权威证明,以及不同司法管辖区的公钥基础设施(PKI)共享


由于这个原因,以及(希望非常罕见)硬分叉——一种会导致之前的区块无效的软件升级——区块链依然需要一个人类管理层,而这一层在硬分叉政治面前是脆弱的。


迄今为止最成功的区块链是比特币,其通过在领域内的专家中进行的去中心化决策,以及对不可更改特性的坚持,成功地维持了它不可更改的完整性。在比特币中,只有出现最重要和罕见的漏洞修正和设计优化,且在无法用其他方式进行提升时,进行硬分叉才是正当的。


在这一管理哲学之下,审计或者司法决策(比如改变一个账户的余额或者撤销一笔交易)永远无法驱使硬分叉的进行,而应该由系统外(或者附加在系统之上)的传统管理来执行(比如:通过庭审强迫一个比特币用户发送一笔新的交易来有效地撤销之前的交易,或者没收特定的公私钥以达到没收特定账户财产的目的)。


我们说数据不可伪造或者不可更改,是说它不可能在被提交到区块链上之后在未被发觉的情况下被更改。和一些炒作完全相反的是,在数据被上传到区块链上之前,它并不能对数据的来源有任何保证,也不能确保数据的真伪。这需要额外的协议,通常包括昂贵的传统控制。


区块链无法保证真相。它们只是可以保留真相或谎言,防止后续被更改而已。它允许后续对这些数据进行安全分析,从而更有信心来发现谎言。典型的计算机在计算上是素描刻蚀(etch-a-sketch),而区块链在计算上是像琥珀(透明)。重要的数据应该尽早地上传到区块链上,理想的情况是在数据生成时就直接上传并由生成数据的设备进行加密学签名,这样可以最大化区块链确保其完整性的优点。

 

一个含有四交易的哈希树(Tx0到Tx3)。结合正确的复制以及pow算法保护交易的区块链,哈希树能够通过共识使交易这样的数据不可伪造。在比特币中,Merkle根哈希安全汇总,并且被用于验证一个区块内所有的交易都处于未被篡改的状态。


我在1998年提出的“安全资产标题”架构,其中有哈希树和数据复制以容忍客观的任意软件错误或恶意行为,但是没有区块。它展示了我的理论:你可以保护全局共享数据和交易的完整性,并用这一能力设计加密货币(比特黄金)。它没有比特币那种更高效和计算可扩展的区块账本系统。就像今天的私有区块链,安全资产标题需要可以区分和计数的节点。


考虑到51%攻击限制了像比特币以太坊这样的公链的安全目标,我们确实在乎大多数有足够算力的矿工能被区分身份,从而回答这样的一个问题——“有人能说服并协调51%攻击吗?”


区块链的安全被51%攻击的潜在可能性所限制,而区块链的治理也被51%攻击影响。攻击者当然不会把攻击叫做“攻击”;相反他们可能称之为“开明治理”或“付诸行动的民主”。确实有时要修复漏洞或及进行软件升级需要软分叉,有时候需要硬分叉。


硬分叉比软分叉对比特币安全和连续性都构成更大的威胁。也因此,区块链虽然比其他的传统网络协议在信任最小化方面做得好得多,但是离完全去信任还很遥远。矿工就是被部分信任的信托者,而那些非专家的人们也必须信任区块链专家,就像普通人想要理解任何一门科学都必须依靠该领域的科学家一样。另外,在硬分叉中,交易平台也具有很大的影响力,因为他们可以选择用自己的交易力量支持某一方。


公链因此无法完全回避身份困难问题并且解决一个余下的重要问题:在更高的“湿的”或“社会”层面识别那些算力最强的矿工身份,在那里可能更适合,而不是试图把这些依赖人脑的概念都编入到区块链协议中去,因为PKI(公钥基础设施)就是一个这么做的糟糕例子。


所以我认为有一些“私有区块链”可以算是真正的区块链;而其他的则只能算是“分布式账本”或者“共享数据库”之类的。他们都与比特币和以太坊这样的公共的且无需身份验证的区块链完全不同,社会可扩展性也完全比不上。


以下列出的几条在身份验证方面都非常相似,他们都要求一组经过安全身份验证(可区分,可计数)的服务器而不是像在公链中的一组随机匿名矿工。换句话说,他们要求一些社会可扩展性差得多的解决方案来应对女巫 (sockpuppet) 攻击问题:


· 私有链

· 侧链的联邦模型(即使之前的承诺与希望,依然没有人弄清怎么在要求更少程度信任的前提下做侧链),侧链也可能是私有链,并且很合适,因为它们的架构和外部依赖(例如PKI)是很相似的;

· 基于多签的方案,即使使用基于区块链的智能合约也是如此;

· 基于阀值的“oracle”架构,用于将链下数据转移到链上;


验证一组服务器的主要但通常不具社会可扩展性的方式是:使用基于可信证书颁发机构(CA)的PKI(公钥基础设施)。为了避免第三方安全漏洞的问题,可靠的证书颁发机构必须非常昂贵,劳动力密集的官僚机构通常自己做透彻的背景调查或者雇佣其他机构做调查(例如Dun或Bradstreet等)。证书颁发机构可以成为一个单一的守门者,呈现这些许可系统。“公链是自动的安全的也是全的,但是身份验证是劳动密集型工作,且是不安全的,本地化的。


支持PKI的私有区块链对银行和其他大型企业来说不错的选择,因为它们已经拥有成熟且直接可用的PKI,并覆盖了所有的雇员合作伙伴以及用于批准交易的私人服务器。银行的PKI是相对可靠的。


我们也有半可靠的CAs用在网络服务器上,但是对于网络客户来说还不够普遍,即使人们从互联网的诞生起就开始着手解决客户证书问题:比如广告商很想有一个更安全的替代方案,用于替代电话号码和cookies,以实现对消费者的身份的追踪。但是目前还没有。


PKI对于一些重要的人和事可以很好地解决问题。但是对于较小的实体来说,目前的方案还不够好。它的社会可扩展性受限于传统的身份管理机构。

 

一些发生在泛比特币生态系统中的重要盗窃案。虽然比特币自己的区块链可能是现存最安全的金融网络(实际上比特币必须比传统支付网络更安全,以实现其低成本治理和无缝的跨境能力),但其外围服务依然基于更老的中心化网络服务器,所以非常不安全。


我们需要更多的社会可扩展方式来安全地计算节点,或者使用另一种方法尽可能地提高反对腐败的可靠性,评估对于保障区块链完整性做出的贡献。这就是工作证明(proof-of-work)和广播复制(broadcast-replication)的关键所在:极大地牺牲了计算可扩展性,以提升社会可扩展性。这就是中本聪做出的绝妙的权衡。


之所以说它绝妙,是因为人类比计算机要贵得多,而且两者之间的能力差距还在逐年扩大。另外这么做还允许人们无缝地和安全地,且能跨越人类信任边界进行工作,而不像PayPal和Visa这样的机构,它们会“叫警察”,它们依赖于昂贵的、容易出错的、有时候还可能是腐败的管理机构才能正常运作。

 

总结

 

互联网的崛起已经见证了一系列线上机构,这其中有社交网络,“长尾”零售(比如亚马逊等),以及一系列允许小的买家和卖家做生意的服务(eBay,Uber,AirBnB等等),这些只是运用我们新能力的一系列最初的尝试。


由于近年来信息技术的极大提高,能够参与到线上机构中来的人们的数量和丰富程度都将不再像过去那样受到客观上的电脑和网络的限制。相比之下,思维和制度上的限制则被凸显出来,比如我们还没能够充分的重新设计系统或进一步发展以便于能够更好地利用这些技术的提升。


这些最初的尝试都非常的中心化。区块链技术,这种通过计算机科学而非传统的“叫警察”机制来保障数据完整性的技术,迄今为止已经实现了信任最小化的货币——加密货币——并会让我们在其他的金融领域都取得进步,以及那些交易主要依赖线上数据的领域。


这并不是说让我们现有制度适应我们的新能力是容易的,或者在特殊情况下,任何事情都是困难的、难以成功的。乌托邦式的方案在区块链社区中非常流行,但这些并不是可行的选择。对已经高度进化的传统制度进行逆向工程,甚至试图将一些老的制度以新的形式复活,通常也比从零开始设计一套宏观的博弈理论等机制更有效。


最重要的策略已经由中本聪演示过了——牺牲计算效率和可扩展性——消耗更多便宜的计算资源——以减少和更好利用人力资源的巨大费用,而在现代制度(市场、大公司、政府等)中维持陌生人的关系都需要耗费巨大费用。


------

风险警示:蓝狐笔记所有文章都不构成投资推荐投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。

通往区块链的新世界:关注“蓝狐笔记”区块链公众号:lanhubiji 

或加入蓝狐笔记的知识星球:https://t.zsxq.com/iaQNnIq

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/29883
 
493 次点击