Hyperledger Sawtooth Lake的PoET简介

来源:互联网 发布:淘宝管理团队 编辑:程序博客网 时间:2024/06/05 02:10
警告
这个工程包含一个运行在受信任的执行环境(例如:Intel Software Guard Extensions (SGX))的共识算法PoET(时间消失证明)。它发布了包含运行在SGX外部和模仿PoET算法行为的软件。在这种模式下他并不提供安全性。这个工程打算用于实验运用,我们反对在安全敏感的程序中使用这个工程

Sawtooth Lake简介

这个工程称为"锯齿湖",对于创建,部署和运行分布式账本来说它是一个高度模块化平台的工程,分布式账本提供数据记录维护一个去中心化权威和实现。代替单个集中式数据库,分布式帐本中的参与者为共享计算贡献资源,确保对分布式帐本的状态的普遍一致。比特币是最流行的分布式分帐本,该技术已经被提议用于国际汇款,保险索赔处理,供应链管理和物联网(IoT)的许多不同的应用场景。

分布式账本一般由下面三个基本组件组成
1.获取账本目前状态的数据模型
2.改变账本状态的交易语言
3.用于在参与者之间建立的被账本接受的交易的共识协议

在锯齿湖工程里面数据模型和交易语言在“transaction family”中实现。我们期望用户能够构建反应他们账本独特需求的自定义交易家族。我们提供三个足够您用来构建,测试和部署一个商场的数据资产的交易家族。

1.EndPointRegistry--注册账本协议的交易家族
2.IntegerKey--用来测试和部署账本的交易家族
3.MarketPlace--购入、售出和交易数据资产的交易家族

交易家族提供一个“立即可用”实现了市场数据资产的完整功能的账本

"锯齿湖" 的共识
共识是在一组相互不信任的参与者之间建立协议的过程,基于性能、扩展性、一致性、威胁模型、失败模型相关的需求有很多种算法来实现共识。大多数分布式账本操作采取了PBFT这种共识算法,其他性能主要由应用要求决定。例如,记录财政交易的账本经常需求少量需求者高交易频率和短期做出定局出结果。与之相反的消费者市场,需要通过大量人参与实现大量的总产值;然而短期定局则是次要的。

实现具有任意故障的共识的算法通常需要在已知的参与者集合中进行某种形式的投票。 现在已经提出了两种方案。 第一种,通常被称为“中本共识”,通过某种形式的“投票”来选举领导。 领导者然后可以添加块到先前提交的区块链网络中。 在比特币中,第一个参与者赢得领导选举投票成功解决一个密码学难题。 所选出的领导将新块广播给其他参与者,其中,通过将块添加到接受的块链中,这就隐含地建立基于该链的建立的后续事务区块来隐式地投票接受该区块。第二种方法基于传统的BTF算法并且使用多次明确投票来取得共识。Ripple和Stellar开发了公开参与共识协议来扩展传统的BFT。

锯齿湖抽象了共识的核心概念,从交易语义学孤立共识,提供了两种不同性能的共识协议。第一种,称为PoET"流失时间证明"是一种建立在可信环境上的彩票协议,它通过Intel的SGX来满足大量参与者需求。第二种是法定投票,是一种Ripple and Stellar开发的共识协议的改写的一种共识协议,用来满足应用程序的需求需要立即交易终结情景。


时间消失证明(PoET)

为了实现分布式协议的有效性的目的,一个难以算计的功能有以下几个特征

1.Fairness:这个功能通过宽广的可能性参与人口分布式账本来完成
2.Investment:控制领导人选举过程的成本应该与从中获得的价值成正比
3.Verification:所有参与者应该相对简单地验证领导者是是不是合法地选择的

锯齿湖提供一种使用一个可信任环境(TEE)如 Intel® Software Guard Extensions (SGX) 来确保安全性和随机性的不需要权力的昂贵的投资的领袖选举过程的被称为PoET的中本共识算法,是一种基于专门硬件“证明”算法。我们的方法通过TEE提供的基于保证等待时间。

基本的,每个验证器从可信任函数哪儿请求一个等待时间,验证器利用短暂的时间为每个特别的交易区块选择一个领导。一个叫"CreateTimer"的函数为已经确保被TEE创建的交易区块创建一个定时器,另一个叫做“CheckTimer”函数核实定时器也会被TEE创建,并且,如果它已经过期,创建一个能识别验证器的证明,实际上,等在规定时间之前声称的领导角色。

PoET领导者选举算法满足良好抽彩算法的标准。 它在整个验证者群体中随机分配领导选举,其分布与其他彩票算法相似。 选举的概率与所贡献的资源成比例(在这种情况下,资源是具有可信执行环境的通用处理器)。 执行的证明提供用于验证证书是在TEE内创建的信息(并且验证器等待分配的时间)。 此外,低参与成本增加了验证器群体将很大的可能性,增加了共识算法的健壮性。

处理器的“证据”算法扩展到成千上万的参与者并且任何支持新交所的英特尔处理器上运行都有效。正如上面的警告,当前实现的PoET的行为模拟算法运行在一个可信执行环境,是不安全的,使用这个模拟算法有一下的好处

它不需要一个支持SGX处理器当你为了用锯齿湖进行试验时
它允许在单个系统中允许很多验证器。一个PoET的实现SGX将允许每个CPU槽仅仅有一个单节点

2 0