工作流程
通过前两篇文章,相信大家对区块链有了基本的认识,区块链系统有很多种,第一个应用区块链的软件就是比特币,事实上区块链就是比特币带出来的,到现在为止,已经出现很多基于区块链的系统了,比如超级账本、以太坊等,每一类系统都有自己的特点,无论是什么类型的系统,他们的工作方式及工作流程是类似的,在本质上他们是同一类技术结构的产物,接下来阐述一下区块链的工作流程。
比如一个转账交易的流程,转账交易本质上就是发送一笔数据,这个数据可以表示为资产,也可以表示为订单或其他形式,我们来看下图:
图中我们可以看到,整个数据发送的过程还是很简单的,数据发送出去后会被打包成区块,然后广播出去给所有的节点进行确认,确认没有问题后写入各自的区块链账本中,当网络的大多数节点都确认后,这个转账过程算是完成了,有朋友可能会问,在这种分布式网络中,怎么能知道大多数节点确认写入了呢?这里并没有服务器登记呀?这个问题我们先留着,在下面说到区块链分类的时候再详细讲解。
这个工作流程图是有代表性的,其他各种系统都是在这个基础上进行扩展的,比如有些会加入身份认证功能,以确保只有符合身份的用户才能发送数据,有些则扩展交易数据的表达能力,但不能用来表示一般的交易转账,还能表示更复杂的商业逻辑,应用很多但是万变不离其宗。
实际上,说一千道一万,整个区块链网络,就是大家共同来维护的一个公共账本,注意了,这个公共账本是个逻辑概念,每个节点各自都是独立维护自己的账本数据,而所谓的公共账本,是说各自的账本要保持一致,保持一致的部分就是公共账本,我们看下图:
如图所示,有些节点在广播新的数据,有些节点在接收数据,大家公同维护一个账本,确保达成一致,区块链技术其实就是围绕如何保持数据一致,如何让这个公共账本的数据不被篡改来展开的,为了解决这些问题,区块链技术拥有一套技术栈,我们下一篇来阐述。