这一部分我们会解释区块链旨在解决什么问题,以及问题有多么的重要。我们需要你明白区块链所面对的问题的背景,以及能够产生最大化价值的环境,还有该问题与“信任和正直”的联系。在本章的最后,你会对区块链存在的目的有一个更为深入的了解,并且你会对区块链本身产生不同的认识。
1面对各自独立的计算集群,牧羊犬在哪里
前面两部我们指出了区块链的通用意义,并且强调了在一个完全分布式的端到端系统中区块链的重要性:在一个分布式系统中确保系统的完备性。
但是为什么在一个分布式系统(或者一个特殊的端到端系统)中确保其完备性那么重要而又如此困难?在这一节中,我们会通过对完全去中心化的端到端网络中的完备性与信任之间的关系来探索这个问题。
对以上问题的理解取决于你自己对完备性的重要性的理解,以及是否能意识到区块链所面向的这个核心问题。
最后,我们会展开描绘区块链所能带来极大价值的一些行业。
2隐喻
在很多语言中,都会用成语或者短语描绘一个场景:一个人试图在纷乱的人群中进行协调组织。比如在英语中会用”尝试去组织一群猫“(“try to herd cats”)去描述管理一群倔强而特立独行的动物们是一个多么巨大的挑战。
在一个完全去中心化的端到端系统中,我们会遇到类似的问题,而管理的对象是一台台独立工作的电脑,他们没有中心化的管理方来进行协调。
接下来我们来看这个去中心化的端到端系统面临的主要问题,以及区块链和这个问题的关系。
3端到端系统中的信任与完备性
信任与完备性是一枚硬币的两面。放在软件系统的语义中,完备性是对一个系统的非功能性的特点描述:安全,完整,持久,正确,并不会失控和错误。而信任引申至人类之间对可靠、真相以及对一些事或人无理由的相信。信任往往建立在早期,并且会在之后的行为中受到合作的影响而发生变化。
在一个端到端系统中,这意味着人们如果相信这个系统并且这个系统运作的结果增强了他们的信任,他们就会进一步的进入这个系统并且给出贡献。
整个端到端系统通过系统的完备性来满足用户的预期,并且增强他们对系统的信任。如果因为系统缺乏完备性使得用户没有对这个端到端系统增加足够的信任,那么用户就会抛弃这个系统,进而使得这个系统终结。
意识到信任对端到端系统的重要性之后,核心的问题就变成了:我们如何在一个完全去中心的端到端系统中确保完备性的提供?
满足并确保一个完全去中心化系统的完备性需要好多因素,其中最重要的两个如下:
了解系统中的节点数目
了解节点的信任度
如果我们知道了一个端到端系统中的节点数目,并且知道了他们的信任度,那么就更有可能去满足并确保系统的完备性。
然而在现实中的去中心化端到端系统中,我们只能面临一个最糟的情况:我们不知道系统中的节点数目,更不知道节点的信任度,但是我们需要把他开放给所有人。
4端到端系统中的完备性威胁
为了简化起见,我们列举了两个主要的端到端系统的完备性威胁:
(1) 技术性故障
端到端系统是由网络中互相连接的独立计算机组成,任何一台计算机的任意一个硬件部件或者核心软件,或者这个系统所依赖的网络的组件都有发生故障或者制造错误的风险。因此一个分布式系统必须面对节点故障或者系统错误运作带来的风险。
(2) 恶意节点
恶意节点是端到端系统所面临的第二大完备性威胁,这一类威胁不是技术问题,但是可能比技术问题更难以处理:有人出于自己的利益而剥削整个系统,或者占据这个系统的主要资源。
有人认为这一类的问题更是一个社会或者组织问题。不可信节点与恶意节点构成了端到端系统面临的最大威胁,因为他们在破坏这个系统的基石:信任。一旦用户无法信任他们的联接方,他们就会不信任这个系统转而离开。
5区块链是如何解决核心问题的
满足并确保完备性、并且在最好的情况中都做到系统的高可靠和高可信已经被很好的解决了。真正的挑战发生在面对最差情况的时候,而这就是区块链解决的问题。
通过使用区块链技术,一个不知道内部节点数量也不知道节点可信度的端到端系统也可以实现并确保整个系统的完备性。在计算机科学领域,这是一个由来已久的问题:拜占庭将军问题。有兴趣的读者可以进一步的搜索并了解该问题。
6展望
在这一步中我们强调了端到端系统中完备性与信任的重要性,并指出区块链所解决的核心问题,强调了在现实世界中的去中心化端到端系统中,确保完备性与可靠性的重要性与困难程度。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)