人人都应学习的公链知识——比原总体架构
【揭秘区块链技术从入门到精通】比原链整体设计&架构解读视频链接:
本文将会给大家介绍一下比原链总体的技术架构。如下图所示:比原链分为三个层次
-
第一层就是大家接触比较多的钱包层,就是进行收款和打款的模块,钱包一般带操作界面,大家都可以日常使用,所以会比较熟悉。
-
第二层是最核心的内核层,内核可以理解为分布式系统中每个节点认同的一套规则,只有有相同的规则,两个节点才能达成一致。如果规则不同,其实就是发生分叉了。
-
第三层是通信层,通信层是节点之间交换信息的方式,包含区块同步,交易同步等。
首先来看内核层,内核层主要由五个模块构成:
-
孤儿块管理:孤儿块就是由矿工挖出但未成为主链区块的区块(在相同高度产生2个甚至更多的合法区块,一个区块成为主链,剩下的则称为孤儿块),孤儿块管理就是将未成为主链区块的孤儿块存储起来。
-
共识层:确认一个块是否合法。分为区块头验证和交易验证。区块头验证需要验证它的父块和时间戳,同是需要算力来保证记账权利。交易验证比原特别的设计了一层BC层,这层在交易验证时会获得更好的性能,交易验证还和智能合约相关,交易被验证时参数会参入虚拟机验证该交易是否合法。
-
区块树管理:又成为Block Index,作用是记录全网所有的块,保存了全网所有块的一张镜像图。因为有孤儿块,所有它并不是链式结构的,会有分叉的情况,所以称为区块树
-
数据存储:将区块数据做持久化存储。包含两种数据,第一种是区块数据,会在网络上进行广播的原生区块信息;第二种是UTXO数据,存储UTXO数据是为了更快的验证一笔UTXO是否可以花费,而不需要去遍历所有区块信息
- 交易池:维护了所有全网发出的但是还未被确认的交易。跟它关联最大的是挖矿模块,挖矿模块每次要产生一个新区块的时候,它会从交易池拿一些交易打包成块,然后用Tensority共识算法进行工作量验算。
然后来说一下钱包层:
-
私钥模块:主要用于管理私钥(私钥的生成,存储,备份等)和签名。
-
账户模块:在比原的设计中,使用了账户-地址-密钥三层体系,每个人可以拥有多把私钥,通过私钥不同的组合形式形成账户,每个账户可以又无限多个地址,地址是由账户的私钥派生出的二级私钥形成的地址,使用多地址可以更好的保护用户的隐私。
-
资产模块:管理账户下创建资产的模块,任何issue的资产都是在这个模块中交互。
-
交易模块:可以理解成跟我相关的交易数据,它主要做了两件事:
将和你相关的交易从所有交易所中筛选出来;
维护钱包层UTXO的数据库,记录本人所拥有的UTXO;
最后说一下通讯层:
-
节点发现:P2P相关,是非常独立和成熟的一块,通过节点发现这个模块获得种子节点,然后通过种子节点来获取其他更多的节点。
-
交易同步:在各个节点之前同步交易。
-
区块同步:又称为被动区块同步,如果发现存在区块高度高于自己的其他节点时,不断请求区块同步。
-
新区块快速广播模块:新区块主动同步,当挖到一个新的区块时进行强制广播,从而更快的在全网传播。
上述内容为比原链的基本架构,后续我们将进一步深入探讨和讲解具体流程。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
在koa中想要优雅的发送响应?看这就对了
背景 前不久把项目中用了很久的一个伪中间件撸成了一个npm包发布了出去。为什么叫伪中间件?正常的中间件的引用方式, 就拿body-parser为例。 var Koa = require('koa'); var bodyParser = require('koa-bodyparser'); var app = new Koa(); app.use(bodyParser()); app.use(async ctx => { // the parsed body will store in ctx.request.body // if nothing was parsed, body will be an empty object {} ctx.body = ctx.request.body; }); 反观我撸的伪中间件的引用方式。 const response = require('../uitls/Response'); const data = {}; response.success(ctx, data); 为什么要这么干呢...纯粹是因为这个伪中间件与现有项目的耦合度太高了...
- 下一篇
AI干货分享:基于群签名的新一代区块链技术
一、去中心化技术和区块链技术的前世今生 郭晓峰:区块链(BlockChain)其实并没有那么神秘,它本质上是一个提供去中心化的(Decentralized)次序的技术。在对它进行深入讨论钱,我们首先要从去中心化技术和区块链技术的发展谈起。 去中心化是相对于分布式(Distributed)而言的,主要有两种代表性的技术,P2P和区块链技术。 P2P(peer-to-peer,对等网络)是一种unordered decentralized technology,是在对等者(Peer)之间分配任务和工作负载的分布式应用架构。其中比较有代表性的案例为早期的Gnutella,BitTorrent等。最近比较火的IPFS也属于这个范畴。这种技术的特点是不提供事件次序,因此没法支持交易处理。世纪初的时候P2P的技术风靡全球,但是最终没有形成巨大的bu
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Linux系统CentOS6、CentOS7手动修改IP地址
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- 2048小游戏-低调大师作品