(五)适用以太坊合约的Seth
锯齿湖和以太坊联合项目,Seth,扩展了锯齿湖到以太坊的互操作性。适用Seth的交易家族可以把以太坊虚拟机上的智能合约可以被部署到锯齿湖上。
(六)动态共识
在区块链里,网络中各参与者之间达成意见一致的过程就是共识。存在任意故障的情况下能够达成共识的算法,一般来说都需要在已知参与者之间进行某种形式的投票。常规普遍的方式包括中本聪类型共识和多种传统拜占庭容错算法的变体。前者是通过某种彩票抽奖方式选举出一个领袖,后者是采用多回合的公开明确投票来达到共识。
锯齿湖项目抽象出共识的核心概念,将共识独立于交易语义之外。锯齿湖项目的共识接口支持插入多种共识实施工具,即共识引擎,它通过共识API与验证节点交互。更重要的是,锯齿湖允许你在区块链网络创建之后替换共识(机制)。在区块链网络最初设置期间选择一种共识算法,并且可以在区块链运行状态下通过一到两个交易进行(共识机制)替换。
锯齿湖项目的共识API支持的共识算法非常广泛。目前它包括以下算法的共识引擎:
1.锯齿湖PBFT(实用拜占庭容错)算法引擎。这个基于投票选举的共识算法可解决拜占庭容错问题。它在传统PBFT算法基础上拓展了新特点,包括动态网络成员、常规视图(经执行器处理之后形成的数据)修订、区块追赶程序。一个采用PBFT共识的锯齿湖网络要求四个(含)以上的节点。
2.PoET(时间流逝证明)算法引擎。这个中本聪类型的共识算法被设计用来支持生产等级的大型网络。PoET借助安全指令执行器来达到中本聪类型共识算法的规模效益,而不用像POW那样消耗能源。一个采用PoET共识的锯齿湖网络要求至少三个节点。
锯齿湖项目包括两个版本的PoET共识:
2.1 PoET-SGX。基于可信执行环境的它可执行投票选举和抽奖工作。因为PoET-SGX也是拜占庭容错的,所以它有时也被称为“PoET/BFT”
2.2 PoET模拟器。它可以运行在任意硬件上,包括虚拟云环境,提供类PoET的共识。因为PoET模拟器只能做到中止容错,而不能做到拜占庭容错,所以它有时也被称为PoET/CFT。
2.3 Raft。它是一种在严格审核身份的小型网络上提供中止容错的共识算法。
2.4 Devmode(开发者模式)。它是一个简化的随机选举算法用于开发和测试交易处理器。不推荐将Devmode用于多节点网络,也不应用于生产环境。
(七)交易家族模板
作为运行在锯齿湖节点上的交易处理器,交易家族负责处理数据模型和交易语言。尽管大多数应用开发者会建立符合他们账本特有需求的定制化的交易家族,锯齿湖还是提供了部分核心交易家族作为模板,如下:
1 IntegerKey:用来测试部署的账本
2 设置:提供一个存储链上配置的实施参考。
3 身份:处理链上对交易者和验证者许可密钥,更高效管理公钥列表。
其他的交易家族是针对特定领域提供的模板,如下
4 微缩银行:用于比较各个区块链系统表现的性能分析。这个交易家族是在H-STORE的微缩银行标准上建立的。
5区块信息:提供了存储可指定数目的历史区块信息的方法。
其他分布式账本项目为锯齿湖平台提供智能合约功能,如下:
6 Sabre:支持WASM虚拟机的链上智能合约
7 Seth:支持以太坊虚拟机的智能合约
网友评论