博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
区块链的工作流程
阅读量:4450 次
发布时间:2019-06-07

本文共 846 字,大约阅读时间需要 2 分钟。

工作流程

  通过前两篇文章,相信大家对区块链有了基本的认识,区块链系统有很多种,第一个应用区块链的软件就是比特币,事实上区块链就是比特币带出来的,到现在为止,已经出现很多基于区块链的系统了,比如超级账本、以太坊等,每一类系统都有自己的特点,无论是什么类型的系统,他们的工作方式及工作流程是类似的,在本质上他们是同一类技术结构的产物,接下来阐述一下区块链的工作流程。

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

  

 

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

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

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

 

 

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

转载于:https://www.cnblogs.com/gslblog/p/8744470.html

你可能感兴趣的文章
对Netflix Ribbon的Loadbalancer类源码设计合理性的一点质疑
查看>>
关于日历的算法
查看>>
[QT编程]QT实现的一个渐隐渐显窗体
查看>>
在Web工程中引入Jquery插件报错解决方案
查看>>
大学总结之影响我最深的十本书
查看>>
用myEclipse连接数据源生成动态数据报表
查看>>
[myeclipse]@override报错问题
查看>>
자주 쓰이는 정규표현식
查看>>
超简单的listview单选模式SingleMode(自定义listview item)
查看>>
vue-11-路由嵌套-参数传递-路由高亮
查看>>
HDU 1199 - Color the Ball 离散化
查看>>
[SCOI2005]骑士精神
查看>>
Hibernate原理解析-Hibernate中实体的状态
查看>>
六时车主 App 隐私政策
查看>>
C语言常见问题 如何用Visual Studio编写C语言程序测试
查看>>
Web用户的身份验证及WebApi权限验证流程的设计和实现
查看>>
hdu 2098 分拆素数和
查看>>
[ONTAK2010]Peaks kruskal重构树,主席树
查看>>
ECMAScript6-let与const命令详解
查看>>
iOS 使用系统相机、相册显示中文
查看>>