[置顶] 区块链系列----ChainVm区块链虚拟机平台

架构

笔者18年任务准备搭建ChainVm区块链虚拟机平台。该平台旨在提供高通用性,高扩展性,高并发的区块链平台。
这里写图片描述

ChainVm

ChainVm包括DB、BlockChain、拔插共识、网络和智能合约。编程语言以golang为主。

DB

DB包括嵌入式LevelDB和分布式dispersedDB。
LevelDB是默认存储方式,全量数据数据的存储。
dispersedDB可以采用CouchDB,ScyllaDB。达到单节点的账本分布式。

BlockChain

BlockChain包括BasicChain和ChanelChain。
BasicChain即基础账本,用于存储状态账本(Stat ledger)和基础状态block,同时用户可以选择性的发币。
ChannelChain即通道账本,每个组织(Org)可以授权和订阅单独的通道(Channel),每个通道存储历史数据。

拔插共识

拔插共识包括POW、POS、DPOS、PBFT
POW即传统挖矿算法,参考比特币挖矿算法。
POS参考Cardano中的Ouroboros协议
DPOS:暂无。
PBFT:采用 tendermint作为底层实现。

网络

网络包括P2P和RPC
P2P前期采用go-libp2p库,后期自己实现。
RPC是客服端通讯服务,采用Grpc。

智能合约

智能合约包括AssemCode和LibCode。
AssemCode采用webassembly技术实现,即任何语言均可编译成智能合约。
LibCode即是内嵌性的智能合约,对于那些改动量小,性能要求苛刻的场景采用LibCode。

其他

网站地址:chainvm.io(暂未开通)
git组织:https://github.com/chainvm

猜你喜欢

转载自blog.csdn.net/niyuelin1990/article/details/79999592