先看看架构的相同点和不同点。简单来说,都是由底层(网络) 核心层(区块数据结构&共识或者合约&安全) 应用层构成。
Btc架构:
(1)P2P网络层
完成P2P的组网,网络连接管理,节点状态的维护,为比特币提供数据传输服务;
(2)安全与共识层
这一层主要向上层提供安全与数据共识服务,保证比特币中的交易数据的安全与区块链(账本)的一致性,又可以细分成三个主要模块:
加密算法:提供各种加密算法,如SHA,ECDSA数据签名算法,hash算法以及Base58编码算法等等。
认证模块:merkle树用来快速验证交易是否包含在区块中;通过加密算法对交易进行签名,生成锁定和解锁脚本;脚本引擎负责解析并执行脚本;
共识模块:比特币中采用的是PoW。
(3)数据层
比特币中的数据,例如交易,区块,区块链等等。另外该层还包括了数据的存储,例如通过level db存储与加载区块链,内存交易池等。
(4)RPC
RPC服务端的实现,提供JSON