美文网首页区块链研习社
Sawtooth Lake学习笔记(二)

Sawtooth Lake学习笔记(二)

作者: HJ很忙 | 来源:发表于2020-02-12 21:37 被阅读0次

(五)适用以太坊合约的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:支持以太坊虚拟机的智能合约

相关文章

  • Sawtooth Lake学习笔记(二)

    (五)适用以太坊合约的Seth 锯齿湖和以太坊联合项目,Seth,扩展了锯齿湖到以太坊的互操作性。适用Seth的交...

  • Sawtooth Lake学习笔记(一)

    一、关于分布式账本 分布式账本是区块链的另一种术语。它把交易的数据库(账本)分布存放在所有的网络参与者(也成为成员...

  • Sawtooth Lake学习笔记(六)

    3.为何采用批次 如前所述,批次是系统中发生变化的最小单位。如果一个批次被执行,批次内所有的交易都会按顺序被执行。...

  • Sawtooth Lake学习笔记(七)

    三、日记账 日记账是由一系列验证组件子模块组成的集合,这些子模块一起工作以执行批次(batch)和提议区块。这些子...

  • Sawtooth Lake学习笔记(八)

    7.创世过程 创建创世区块的过程与之前的日记账部分中介绍的标准区块创建的过程不同。 当使用链上设置(例如在起链时所...

  • Sawtooth Lake学习笔记(十一)

    六、 Sawtooth网络 网络层负责Sawtooth网络中验证组件之间的通信,包括执行初始连接,发现成员和消息处...

  • Sawtooth Lake学习笔记(九)

    四、 交易调度 锯齿湖支持交易的串行和并行调度。启动验证组件进程时,可通过命令行参数或在验证组件的配置文件中作为选...

  • Sawtooth Lake学习笔记(十)

    五、REST API Sawtooth提供了REST API(请参阅REST API参考),它允许客户端通过常用的...

  • Sawtooth Lake学习笔记(四)

    二、交易和批次 通过创建和应用交易来对状态进行修改。客户创建一个交易并发送给验证组件。验证组件应用该交易,从而状态...

  • Sawtooth Lake学习笔记(五)

    2.批次数据结构 和交易一样,批次也是采用Protocol Buffesr来做序列化。它也包括数值字节和字符串,两...

网友评论

    本文标题:Sawtooth Lake学习笔记(二)

    本文链接:https://www.haomeiwen.com/subject/bochfhtx.html