区块链中的分布式

来源:互联网 发布:高级java月薪 编辑:程序博客网 时间:2024/06/05 08:42

解读区块链的分布式系统。一说到分布式这三个字桩主就很熟悉,因为专业学的是分布式发电,所以对它也比较有感觉,更易于理解。但谁都是从不了解开始去了解,然后再到理解。


讲解前先来说说个人的认知,一个人对世界对事物的认知程度决定了他的高度。认知力可以让人停留不前,也更可以让一个人突飞猛变。而你的认知来于你的信与不信。就比如,多年前的中国还不是互联网时代的时候,没人相信马云做的事(这里不是鸡汤),而多年后我们都在很自然而然地使用着淘宝。


我们大多人的认知度是这样的:那就是,你说的话,我觉得对,我就会接受。这样的自我成长是非常的慢。


你的认知度取决于这几个字:相信,接受,知道,做到,得到(这些文字贯穿整个人生)意思就是你只有先相信一样东西是对的,你才会去接受,这样自己才会知道那样东西的价值,你才会去做,去做之后才会得到应有的东西。桩主认为这一年时间自己的突变就是这些原因。

好了废话那么多,其实就是想说:你只有相信区块链技术,自己才会去学习研究。


区块链中的分布式,参照它在比特币中的应用,可以理解为:


一、分布式的信息发布与传输:每个参与系统的节点都可以发起信息,每一个参与的节点可与相邻节点进行信息交互,全网公开传递有价值的信息。

二、分布式记账:每个参与系统的节点只要根据共识机制,完成工作量的设定,便能取得数据库的记账权,且记录可以追溯查询,但不可篡改。

三、分布式储存:分布式记账后在记录信息加工中加上一个时间戳,便会产生区块数据,网络广播出去后,就会在区块链中形成,每个节点可以选择储存完整的数据或者是部分数据。而且,每个节点都可以拥有一份完整的本地数据储存实时的更新。


区块链是一种分布式的网络系统,分布式系统最为关键的问题就是“一致性的问题”而如何保证一致性是分布式系统中最为重要的环节。英文叫做:Consistency 

用中文理解就是:多个网络节点必须达成一致,而这个一至必须要在一定约束操作和规定协议的前提下使得所有的网络节点的处理结果达成规定协议的一致。这种一致性规定协议在区块链中称为:共识算法


列如:你要预定一张火车票,指定好的地点,时间,车次。那你可以去火车站,携程,淘宝,去哪儿网等购买它,但是总的车票只有那么几张,这就要求各大出票站点需要对该车次的车票做出一个实时一致性的要求。


回到区块链,假设区块链系统中的节点遍布整个互联网,那么节点就有可能出现:节点间的通信回出现网络的延时,出现网络故障,节点处理出错,还有可能有恶意节点篡改数据等。那共识算法的设计就必须具备一下条件:


一、可终止性:简单理解就是任何事情都不能无限制的执行下去。

二、共识性:那就是各个节点见对任意结果或出现特殊结果时就必须有良好的判断机制来处理。时间戳,对所有事件加一个时间戳进行排序,保证它的顺序,这就是一种共识性。

三、合法性:决策的结果其他进程提出的提案。就是每个节点必须参考其余节点的执行操作结果。也可以简单认为是具有一定的约束性,保证整个链的完整一致。


欢迎对区块链感兴趣的朋友共同探讨区块链。





原创粉丝点击