区块链系统的一般工作流程

区块链系统有很多种,第一个应用区块链技术的软件就是比特币,事实上区块链的概念就是比特币带出来的。到现在为止,已经出现了相当多的基于区块链技术的衍生系统,比如闪电网络、公证通、以太坊、超级账本项目等。每一类系统都有自己的特点,例如汽车设计,有的设计成跑车,有的设计成运输车,有的设计成商务车,但是有一点,无论是什么类型的车,它的工作方式或者说工作流程都是类似的,在本质上它们都是同一类技术结构的产物。在这一小节,我们从一般性的角度阐述一下区块链系统的工作流程,为了便于说明,我们会选取一些场景例子。

我们先来看一个转账交易的流程。转账交易本质上就是发送一笔数据,这个数据可以表示为资产,也可以表示为订单或者其他各种形式的数据。

整个数据的发送过程其实还是很简单的,数据发送出去后,会被打包进区块,然后广播出去给所有的节点确认,确认没有问题后就写入到各自的本地区块链账本中,当网络中的大多数节点都确认写入后,这个转账过程就算是完成了。有朋友可能会问,在这种分布式的网络中,怎么能知道是被大多数节点确认写入了呢?这里并没有什么服务器登记呀?这个问题我们先留着,在下面讲到区块链分类的时候会有详细的解释,大家可以先思考一下。

这个工作流程图是有代表性的,其他各种系统都是在这个基础上进行衍生和扩展。比如有些会增加身份认证功能,以确保只有符合身份验证的用户才能发送数据;有些则扩展交易数据的表达能力,不但能用来表示一般的交易转账,还能表示更复杂的商业逻辑。各种应用很多,但是万变不离其宗。

实际上,说一千道一万,整个区块链网络,就是大家共同来维护一份公共账本。注意了,这个公共账本是一个逻辑上的概念,每个节点各自都是独立维护自己账本数据的,而所谓的公共账本,是说各自的账本要保持一致,保持一致的部分就是公共账本:

有些节点在广播新的数据,有些节点在接收数据,大家共同维护一个账本,确保达成一致。区块链技术其实就是围绕如何保持数据的一致、如何让这个公共账本的数据不被篡改来展开的。为了解决这些问题,区块链技术拥有一套技术栈,我们通过以下章节来阐述。

猜你喜欢

转载自www.cnblogs.com/txcl/p/8986418.html