马上就是国庆长假,为了愉快的给祖国庆生,楼主把前段时间个人对比较知名的区块链底层的研究结果发出来,跟大家共同探讨下。
样本:
Btc、Ethereum、Fabric、Ripple、Bubichain、Corda
上榜理由:
Btc:不用说,区块链的龙头老大,知名度最高,受众最广;
Ethereum:首先提出智能合约的概念,开源社区最为成熟;
Fabric:联盟成员机构知名度比较高,希望制定联盟链的框架标准;
Ripple:解决实际应用,获得相当一部分银行机构的认可;
Bubichain:国产老牌区块链底层,虽然比较低调,但业内名气较大,应用最多。
Corda:首先提出主打金融领域的区块链底层架构,奈何作死要自毁前路,说金融不需要区块链技术,但考虑到之前还是对它有一些研究,放上去吧。
评判标准:
链类型、账户设计、数字货币、共识算法、共识间隔、吞吐率、智能合约引擎、智能合约开发语言、链开发语言、数据库、隐私保护、国密、访问控制、加密连接、节点监控、云支持、主要应用。(大家如果觉得这些标准不够全面可以提出来一起讨论)
表格如下:
名称 | BTC | Ethereum | Fabric | Ripple | Bubichain | Corda |
链类型 | 公链 | 公链/联盟链 | 联盟链 | 公链/联盟链 | 联盟链 | 联盟链 |
账户设计 | UTXO | Account based | Account based | Account based | Account based | UTXO |
数字货币 | BTC | Ether | - | xrp | - | - |
共识算法 | PoW | PoW=> PoS(Casper) | PBFT(v0.6)/ Kafka(v1.0) | RCP | PBFT/bPaxos | BFT(Notary) |
共识间隔 | 10分钟 | 15秒 | 秒级别 | 秒级别 | 秒级别 | - |
吞吐率(TPS) | 7 | 15 | - | - | 万级别 | - |
智能合约引擎 | - | EVM | Chaincode | - | V8/EVM兼容 | JVM |
智能合约开发语言 | - | Solidity | Go/Java/Nodejs | - | JS/Solidity | Kotlin/Java |
链开发语言 | C++ | Go/C++/Rust/Python | Go | C++ | C++ | Kotlin |
数据库 | LevelDb | Leveldb/RocksDb | LevelDb/CouchDb | RocksDb | LevelDb/RocksDb | H2 Database |
隐私保护 | - | 即将支持zkSNARKs | 支持(多channel) | - | 支持 | 支持 |
国密(SM算法系列) | - | - | - | - | 支持 | - |
访问控制 | - | - | 支持 | - | 支持 | 支持 |
加密连接 | - | - | - | - | 支持 | - |
节点监控 | - | - | 支持 | - | 支持 | 支持 |
云支持 | - | Azure | - | - | QingCloud/Aliyun | Azure |
主要应用 | 数字货币 | 众筹(ICO)及其他 | 供应链、物联网、金融等 | 跨境支付 | 数字资产、供应链金融、溯源、存证等 | 金融 |
PS:“-”一般表示不支持,但也有可能是机构未公布,所以就以符号代替。
优势:
Btc:作为第一条公链,知名度最高,算力最高最安全。
Ethereum:亮点在于智能合约,用户可基于以太坊编写复杂的业务逻辑。交易速度明显快于比特币,并且手续费较低。其开源社区较成熟。
Fabric:IBM搭建了一条通用的联盟链架构,开发者可以基于此快速开发自己的应用。
Ripple: 真正解决实际需求,且商用较早的一款区块链应用。
Bubichain:目前最为成熟的商用区块链,在安全、合规、性能、易用可维护性等方面有较大优势,极其适用于商业领域。
Corda:亮点在于不同于一般的区块链设计,专门为金融机构而设计的“无链之链”。
总结一下,越是新出来的区块链底层越注重实用性,更注重安全和隐私性,可以看出区块链底层的思想已经由极客开始向商业靠拢。
不出意外,未来的区块链的行业上面6个会占据一席之地,大家更看好哪一个底层,可以留言和楼主讨论~
附开源代码链接:
Btc:https://github.com/bitcoin/bitcoin
Ethereum: https://github.com/ethereum/go-ethereum
Fabric: https://github.com/hyperledger/fabric
Ripple: https://github.com/ripple/rippled
Bubichain: https://github.com/bubicn/bubichain-v3
Corda: https://github.com/corda/corda