Fabric和以太坊的设计思路之差
极客时间编辑部
讲述:杜力大小:1.08M时长:02:22
最近,腾讯云金融业务中心区块链首席架构师敖萌博士,撰文介绍了 Fabric 和以太坊的不同之处,他表示,这两种区块链具有截然不同的设计思路,充分体现了传统企业信息系统,在思维设计模式和区块链原教旨主义思维设计模式上的区别。
敖萌博士首先介绍了以太坊,这是一个非常典型的受到比特币架构影响的区块链系统,它最典型的特点是,链是基础。所有的信任都来自于基于 Hash 密码学安全的链式数据结构,在这个信任基础上,架构所有的功能。
而对于 Fabric 来说,系统一定要有一个漂亮的技术架构,包括可插拔的模块化设计、高扩展性、高内聚低耦合。在一个技术架构上,通过调用各个模块来构造一个链,每增加一个功能,就可以使用已有的链,也可以创建一个新链。
以太坊使用了虚拟机 EVM 的方式实现智能合约,EVM 是一个轻量级的沙盒执行环境。为了让智能合约更加方便,以太坊开发者创造了新的语言来编写智能合约。
EVM 的一大特点就是只能对链上的数据进行读写,非链上的数据只能在调用智能合约的时候,由调用者通过函数参数传递到智能合约中,而智能合约本身和智能合约的调用过程,都会被记录在链上。
因此,可以看出,以太坊的架构中,“链”是信任的锚点,所有的信任都来自于链。
而 Fabric 使用了 Docker 机制,来实现智能合约。相比于以太坊的 EVM,Docker 可以算是一个重量级的沙盒执行环境。由于 Docker 的特性,Fabric 可以使用很多的语言来开发智能合约,同时,也可以使用很多库函数和系统函数,
而 Channel 的引入,使得 Fabric 的智能合约直接部署在几个节点上。每个智能合约都可以创建新的链,也可以和其他智能合约共用一个链。“链”在 Fabric 的架构里,相当于在实现某个功能时,参与该功能的几个节点共用的存储空间。
总体而言,由于这种设计思路上的区别,在以太坊中,所有的智能合约都运行在同一个链上,大家共用一个可信的基础设施。而在 Fabric 中,一个应用对应一个链,整个系统由很多子链构成,这些子链共用一套基本互信的基础设施。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- VoidDocker是Fabric的智能合约执行环境,相当于以太坊的EVM。Fabric会将智能合约打包成chaincode的可执行文件,这个执行文件是可以直接运行的(dev模式,net模式下会有peer来管理 LSCC),内部仍是gRPC的调用,引入Docker是借助了本身Docker带来的很多虚拟化的优势。5
收起评论