当说区块链“Trsutless”时,是什么意思?

许多人都将区块链描述为“Trsutless(无信任)”系统。但是,我逐渐意识到“Trsutless(无信任)”一词含糊不清,令人困惑,最重要的是,不准确。

区块链实际上并没有消除“信任”,它所做的事情是尽量最小化系统中集中于单个个体行为的信任量。它将信任分散在系统中不同行为主体之间,并通过经济游戏来激励各行为主体根据协议上的规则来进行合作。

一个真正的去信任化的交易系统是这样的:

两个彼此有交易意愿的人,可以面对面一手交钱一手交货。因为他们在物理意义上是真实存在的,所以交易能够轻易被验证:

1.可靠性:交易实际发起方付钱;

2.没有双重花费:钱是真实存在的,是10美元的账单就是10美元。

虽然理论看起来完美无缺,但是这个交易系统存在局限性。考虑一下:这种面对面的,一手交钱一手交货的交易模式,只有在两个人的物理距离很近的时候,才有可能实现。为了实现大规模的经济交易,一个交易系统应该是能够让交易者无视物理距离而与世界上任何一个人交易。

所以,我们真正需要的其实是这样的:

从上图中,你可以看到,我们要实现大规模的经济交易,需要有一个可以促进价值转移的中介来确保实际的交易发起者发送的是货真价实的钱。

问题来了,谁是完全可信的中间人呢?

在现代交易系统中,中间人可以是银行、支付机构、汇款公司、信用卡等。

在这个模式中,由银行验证交易发起人的真实性,并保证收款人收到的都是真金白银。换句话说,在这个模式中,除非是有直接的物质价值从一个人转移到另一个人,否则必须有一个我们“信任”的中介才能放心交易。

区块链也不例外。

区块链定义了一个允许两个人通过互联网以“点对点”的方式彼此交易的协议。当你在区块链中将钱从一个账户转到另一个账户时,你“信任”的是底层区块链系统,这个系统既能支持转账又能确保交易的真实性和货币的有效性。

在一个中心化的系统中,我们信任第三方中介机构(如银行),中介机构能够保证交易双方的财产安全。在一个去中心化的系统中,我们的信任不再是由中介机构来担保,而是被放到了“公钥密码学”和“共识机制”中,这两个东西能够使我们确定交易真实性。

公钥密码学

公钥密码学(或者说非对称加密技术)是:

1.一组对任何人都可见的公钥;

2.一组仅有持有者知道的私钥。

私钥为用户发送的每笔区块链交易生成一个“数字签名”。签名保证了交易的可靠性,因为:

1.证实交易确实是这个用户发起的;

2.防止交易发布后被任何人修改。

无论以何种方式改变交易信息,都会导致验证失败。

但是要保证不会发生双重花费,需要跟踪谁拥有什么,以便确定是否有人发送真实的数字货币或假的数字货币。这时,就需要“共识系统”,它允许保存一个电子的共享的事实。

机器共识

区块链有一个共享账本,为我们提供了绝对真实的系统状态。它运用数学、经济学和博弈论,来激励系统中的所有参与方达成“共识”,或就这个账本的某个状态达成协议。

以比特币为例,比特币协议有一个叫做“工作量证明”的共识算法来将系统聚拢在一起。为了确认两个消费者之间的交易,该算法要求一组节点(矿工)通过解决复杂的算法问题来竞争以验证交易。换句话说,比特币以“经济激励”的方式促使矿工购买并使用算力来解决复杂的问题。经济激励措施包括:

1.矿工能够获得用户为交易执行而支付的交易费用;

2.矿工成功解决算法问题后,可以获得新发行的比特币。

因为这些经济激励措施,矿工们持续不断地观察网络,以便他们可以收集一组新的交易并生成一个新的“区块”。然后,他们用他们的算力解决复杂的算法问题,来“证明”他们确实做了工作。

第一个解决出算法谜题的矿工把工作量证明和新区块(以及其中的所有交易)添加到区块链上,并广播告诉全网络。然后,网络中的所有人都会同步最新的区块链,因为它是所有人都相信的“事实”。

因为矿工运用算力同时竞争,有时会有几个块同时出现。这就造成了多链“分叉”:

当出现这样的分叉时,网络中最“权威”的链条是“最长”的那条——大部分矿工信任并且继续为其工作的链条。

以这种方式添加到区块链上的每个新块都为系统增加了更多的安全性,因为一个想要通过创造新区块来改写一部分历史的攻击者将需要持续不断地比网络中的其他所有人都更快地解决谜题。

这在实际操作中是不可能的,也几无可能对这些块内的数据进行逆向工程或者修改。这就是为什么用户会信任这个系统的原因。

因此,当我们在区块链上和别人交易时,我们是将我们的信任“瞄定”在那些运用他们的算力来工作以确保没有双重花费问题的矿工身上。

社会共识

当然,即使机器共识完美无缺,我们也永远无法保证为了维持网络中的信任,在其它方面也能100%的达成共识。比如,当底层网络需要更新、提高、修复时,我们需要某种方式来相信网络及其所有成员能够恰当地处理这些变化。在这种情况下,需要多方之间的共同努力,或者称之为“社会共识”(比如治理)。

如果区块链需要提升(如更好的交易记录),我们需要治理机制给出最好的解决方案来协调各方之间(用户、开发者、投资者等)的利益。或者如果在最佳发展路径上存在争议(如有争议的分叉),那么社区需要就下一步做什么形成共识。如果协议无法达成一致,网络分叉,人们就要被迫选择一边,不再是每个人都相信一个共享的事实。用户会失去对系统的信任,因为他们无法合理确定哪条链是“有效的”链。

区块链治理有很多不同的模式,它仍是社区正在积极研究的领域。区块链治理是一个棘手的问题,在中心化控制和分布式控制之间找到平衡对于维护人们对系统的信任至关重要。

总而言之

当说区块链是“Trsutless”时,意思是系统中的一些机制能保证所有参与方能够就什么是权威真相达成共识。权力和信任是分布(或被共享)在网络股东(开发者、矿工、消费者)之间的,而不是集中在某个个人或组织(银行、政府、其它金融机构)中的。

或许,更准确地描述区块链的方式并不是“Trsutless”,而是建立在分布式的信任基础上:相信系统中的每一个人。

当然,这假设我们相信:系统中的大部分权力属于拥有相似价值观的人。不幸的是,我不认为我们能够宣称我们确切地知道这些共享价值观是由什么构成的(至少现在还不能)。因此,有争议的分叉不断发生。

文章翻译自:

https://medium.com/@preethikasireddy/eli5-what-do-we-mean-by-blockchains-are-trustless-aa420635d5f6

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180830G1X7XM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券