区块链学习札记六:区块链1.0比特币平台架构解析

区块链学习札记六:区块链1.0比特币平台架构解析

比特币就是区块链1.0最典型的代表,区块链的发展得到了欧美等国家市场的接受,同时也催生了大量的货币交易平台.实现了货币的部分职能,能够实现货品交易.比特币勾勒了一个宏大的蓝图,未来的货币不再依赖于各国央行的发布,而是进行全球化的货币统一。

比特币架构

根据中本聪的论文Bitcoin: A Peer-to-Peer Electronic Cash System中对比特币系统的描述,我们可以整理出如下图所示的比特币系统架构。

https://cdn.55coin.com/upload/1551401934_158758329.jpg

比特币系统架构

如图所示,比特币系统分为 6 层,由下至上依次是存储层、数据层、网络层、共识层、RPC 层、应用层

其中,

存储层主要用于存储比特币系统运行中的日志数据及区块链元数据,存储技术主要使用文件系统和 LevelDB。

数据层主要用于处理比特币交易中的各类数据,如将数据打包成区块,将区块维护成链式结构,区块中内容的加密与哈希计算,区块内容的数字签名及增加时间戳印记,将交易数据构建成 Merkle 树,并计算 Merkle 树根节点的哈希值等。

区块构成的链有可能分叉,在比特币系统中,节点始终都将最长的链条视为正确的链条,并持续在其后增加新的区块。

网络层用于构建比特币底层的 P2P 网络,支持多节点动态加入和离开,对网络连接进行有效管理,为比特币数据传输和共识达成提供基础网络支持服务。

共识层主要采用了 PoW(Proof Of Work)共识算法。在比特币系统中,每个节点都不断地计算一个随机数(Nonce),直到找到符合要求的随机数为止。在一定的时间段内,第一个找到符合条件的随机数将得到打包区块的权利,这构建了一个工作量证明机制。从 PoW 的角度,是不是发现 PoW 和分布式锁有异曲同工之妙呢?

RPC 实现了 RPC 服务,并提供 JSON API 供客户端访问区块链底层服务。

应用层主要承载各种比特币的应用,如比特币开源代码中提供了 bitcoin client。该层主要是作为 RPC 客户端,通过 JSON API 与 bitcoin 底层交互。除此之外,比特币钱包及衍生应用都架设在应用层上。

比特币白皮书英文: https://bitcoin.org/en/bitcoin-paper

比特币白皮书中文:https://wenku.baidu.com/view/f26c8d916bec0975f465e236.html


备注:学习笔记,日有所得。

           --不间端地思考,实时地批判你的工作!

发布了39 篇原创文章 · 获赞 56 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ydyuse/article/details/104738985