加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

为什么说区块链“无需信任”?

发布时间:2018-08-25 12:46:32 所属栏目:经验 来源:佚名
导读:副标题#e# 技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战 前言:说区块链无需信任往往让人困惑。区块链本身是算法的信任或是分布式的信任,通过去中心化的方式达成了一个系统信任。区块链的核心就是达成了无需传统中介方的信任,
副标题[/!--empirenews.page--] 技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

前言:说区块链无需信任往往让人困惑。区块链本身是算法的信任或是分布式的信任,通过去中心化的方式达成了一个系统信任。区块链的核心就是达成了无需传统中介方的信任,实现了价值的自由流通。

许多人把区块链描述为一种无需信任的系统。在我看来,“无需信任”这个词是含糊不清的,最重要的是,对于区块链来说,这个词是不准确的。

区块链实际上并没有消除信任,整个区块链系统所要做的就是减少系统中每个单个参与者所需要的信任量。区块链系统通过激励机制来保证每个参与者之间按照系统协议来合作,从而实现把信任分配给每个参与者。

下面我们将通过一些例子来进行详细的解释。一个真正无需信任的交易系统看起来应该像是这样:假设有两个人,他们想要进行转账交易,因为是线下交易,所以可以进行很轻松的验证。

首先,真实性对他们来时是没有任何问题的,因为交易方式为现金交易,其次,双花问题也不存在,因为每张货币都有自己独特的编号。

为什么说区块链“无需信任”?

这种交易理论上完美无暇,但是交易量却是有限的,只有在物理位置足够接近时才有可能采用这种交易。如果想要进行规模化的操作,那么这个交易系统应该能够让世界上的任何一个人进行自由的资金转移。所以我们更需要下图所示的转账交易系统:

为什么说区块链“无需信任”?

从图中可以看出,我们实现这一目标的方式是通过中间媒介来促进价值转移,以确保实际的发送者发送的钱是真实有效的。那么谁会是完全可信的中间人呢?在现实交易系统中,这个中介可以是银行(如chase bank),支付提供商(如 paypal),汇款公司(如,western union),信用卡公司(如visa)等等。

在这种中心化模型中,由银行确认和确保你收到的钱是真实有效的。换句话说,除非有直接的物质价值从一个人转移到另一个人,否则必须存在一些我们信任的中介。

区块链也并无不同。区块链通过协议,允许两个单独个体通过互联网以点对点的方式进行彼此交易。当你在区块链系统中将数字货币从一个账户转移到另一个账户时,那么说明你信任区块链底层系统既能够支持该转账,又确保发送人的真实性和数字货币的有效性。

为什么说区块链“无需信任”?

在一个中心化的系统中,我们信任第三方(例如chase bank)能够承担起中介的角色来担保转账的真实性和有效性。在一个分布式系统中,第三方中介将被公钥密码系统和共识机制替代,用来保障转账的真实性和有效性。

公钥密码(非对称密码)通常由两组密码构成,一组是任何人可见的公钥,另外一组是只有拥有者可见的私钥。每一次转账交易都将由私钥来进行数字签名,数字签名能够确保每一笔交易都是来源于数字货币的拥有者,同时还保证一旦交易被发送出去之后,交易不被串改。

更改交易的任何信息都会导致验证失败。如下图所示,交易的验证过程是采用交易发起者的公钥来验证交易信息的正确性。

为什么说区块链“无需信任”?

公钥密码可以帮助我们在点对点交易中验证账户的真实性和转账的有效性。但是,这并不能保证双花问题(双重支付问题)。因此我们需要持续的跟踪每个账户,以便确保每笔交易的有效性,避免出现双重支付问题。

为什么说区块链“无需信任”?

这时候我们就需要共识机制来保证账本的真实性(shared truth)。区块链拥有一个共享账本,它为我们提供了系统状态的绝对真实性。它使用数学,经济学和博弈论来确保和激励这个系统的所有参与者达成共识,或者就这个账本的单一状态达成共识。

那么通过比特币来举个例子,比特币协议中有一个共识算法叫做工作量证明,它将系统的所有参与者连结在一起。为了确认每笔交易,共识算法要求一组节点(即矿工)通过解决复杂的算法问题来竞争验证交易。

换句话说,比特币协议通过经济手段来激励矿工购买拥有更高算力的机器来解决复杂的算法问题。这些激励包括,每笔交易所产生的交易费用和新区块产生时系统给予的比特币奖励。

由于这些激励措施,矿工们通过不断的监控整个比特币网络来收集每一笔交易用以产生新的区块,然后他们使用计算资源解决复杂算法来证明他们做了这些工作。第一个解出算法的矿工将证明和新区块加入区块链账本,同时将区块全网广播出去。此时,网络中的其他矿工都会验证并且同步最新的区块。

为什么说区块链“无需信任”?

因为矿工们都在竞争产生新的区块,那么有时就会有多个区块同时产生,这会导致产生很多的分叉链,这些分叉如下图所示:

为什么说区块链“无需信任”?

那么整个网络的规范链(canonical chain)就是最长的那条链,拥有最多矿工信任的并继续工作的那条链。

为什么说区块链“无需信任”?

以这种方式添加到账本的的每一个新区块都会增加系统的安全性,因为攻击者想要修改账本的历史数据就必须提供超过全网百分五十一的算力来使得自己修改的账本变成最长链。在现实中这是不可能实现的,这就是为什么用户可以继续信任这个系统的原因。

所以当我们在区块链网络进行转账交易的时候,我们信任那些矿工们所贡献的算力来确保没有双重支付问题。

当然,即使机器能够提供完美的共识,在其他一些重要的方面,我们仍然未能达成百分百的共识。例如,当底层网络需要升级,改进或者维护时,我们需要以某种方式来信任网络及其所组成的成员能够适当的处理这些变化。

在这种情况下,需要第三方参与人员之间协调合作,或者我称之为社会共识(social consensus)。

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读