专栏名称: 区块链技术学习
致力于区块链技术的学习和普及,对区块链技术和相关企业事件进行深度分析和研判,探索去中心化账本技术应用领域。
目录
相关文章推荐
中国食品药品监管杂志  ·  科普 | 把苏打水当日常饮用水,真的健康吗? ·  8 小时前  
新疆949交通广播  ·  正式开通! ·  昨天  
中国药闻  ·  “稳”了,中国“磁吸力”将更强 ·  2 天前  
51好读  ›  专栏  ›  区块链技术学习

区块链和共识:理解区块链和用例的非技术性方法

区块链技术学习  · 公众号  ·  · 2019-08-16 12:30

正文

来自:区块网, 作者:考拉

链接:http://www.qukuaiwang.com.cn/news/143329.html


区块链技术是近年来人们越来越感兴趣和关注的课题。有很多关于这个主题的讨论、活动和出版物;然而,大多数关于区块链的内容都具有误导性。


关于区块链技术的真相、它的功能以及它对企业未来的影响,人们仍然有很多困惑。甚至有人提出,区块链将取代医生。



不, 区块链不是来统治我们的未来的。 作为一名致力于开发该技术并将其应用于实际场景的技术人员,我认为现在应该对区块链进行清楚的说明,并就其好处和最合适的用例达成共识。

我认为,人们在解释这项技术时最常犯的错误是,在解释技术细节时,甚至没有提到我们最初为什么需要它。要清楚地理解一个解决方案,最好的方法是首先理解问题本身。那么,区块链存在的目的是什么?它解决了什么问题?

“共识”是我们在这里寻找的关键词,具体来说,它是 计算机系统的共识 。由于我们已经开始构建多进程、多机器、可伸缩和冗余的系统,所以我们在系统的历史和当前状态方面存在共识问题。

我们在这里讨论的计算机系统可以被认为由两个基本部分组成。我们有当前状态的数据,我们有规则来处理数据,改变它,创建它。


这些系统有多个部分,即通过部分可靠的网络分布和连接的机器来实现。 系统的各个部分对收集到的数据进行处理,并根据系统预先确定的规则运行,以此,对数据进行操作


在此过程中,它们需要彼此同步,而同步的目的是保持数据的完整性和系统的共识性。事实上,无论它们是如何分布的,它们都试图像一个原子实体那样工作。

当我们有一个分布式系统时,我们经常不得不面对共识的问题。

为了保持数据的完整性和正常工作,分布式系统的各个部分相互通信。不幸的是,他们的通信渠道是不完善的计算机网络,数据可能丢失或延迟。

此外,还存在竞争条件问题,可能会与其他竞争部分的工作发生冲突。在这些情况下,共识算法可以帮助我们,有几种成熟的算法,如PAXOSand RAFT。我不会详细介绍这些算法,但是我们需要知道的是它们是在一个可信任的环境中工作的。我的意思是,系统中的每一方都依赖于这样一个事实,即 系统的其他组成部分是根据规则工作的,而不会试图破坏系统。

另一方面,分散式系统与分布式系统的不同之处在于,它缺乏中央权威,并且对业务网络的其他各方缺乏信任。旧的共识算法在分散的环境中变得不够。这就是区块链解决方案和拜占庭共识算法帮助我们的地方。


在分散式的系统中,没有任何一方说了算。 即使我们可以依靠其他各方的意愿,建立一个健全的制度,我们也需要执行规则,并能够相应地运行这个制度。那么,当没有人来统治这个体系时,我们如何让它运转起来呢?当我们进入一个分散的环境时,我们的共识问题会发生一些变化,变成拜占庭式的共识问题。


拜占庭共识不同于分布式系统的共识 。在分布式系统中,所有各方都可以信任对方正确地工作。然而,拜占庭式的共识必须考虑到不可靠的政党,甚至那些反对体制的政党。区块链系统固有的拜占庭容错算法是分散业务案例的止痛药。

区块链技术的价值在于它所嵌入的拜占庭共识性算法。事实上, 块、链只是一个巧妙设计的工具,帮助我们达成共识,并保持它 。在区块链实现中使用了许多共识的算法。举几个例子,我们可以提到PoW (work proof)、PoS (proof of stake)、PoA (proof of authority)、PBFT等等……

基于区块链的系统按其性质可分为三类:公共的、许可的和私有的。 在公共区块链中,任何人都可以访问和参与网络。 比特币是公共区块链的一个很好的例子。在一个被许可的区块链中,只有那些被授权的人才可以参与网络。私有区块链是用于替换机构中基于数据库的解决方案的内部区块链。

虽然区块链因比特币的流行而出名,但加密货币只是合适的用例之一。在企业界,尤其是在金融业,有很多研究和工作正在进行,以利用这项技术。

企业应用程序通常更喜欢经过许可的区块链 。企业区块链系统通常选择PoA、PBFT算法或其变体作为共识算法。

对于在这个领域工作的人来说,为区块链找到一个合适的用例是一个常见的痛点。要找到合适的用例,我们应该看到区块链解决的问题是分散的、不可信的系统。在这样的系统中,多个参与方共同工作,但并不一定信任彼此。区块链技术使得网络中没有必要信任其他系统。






请到「今天看啥」查看全文