我理解到Hyperledger Sawtooth Lake使用新的安全CPU指令来实现Proof of elapsed time (PoET)。 这是否意味着只能在英特尔硬件上使用Hyperledger Sawtooth Lake?其他芯片可否使用?
简短回答:不是。Sawtooth 不仅适用于 Intel。Hyperledger Sawtooth 是一个硬件中立的区块链堆栈。它包含一个可选的 SGX 功能来加强共识。截至 v0.8x,Sawtooth 包含 3 种共识选项:1. DevMode - 用于开发和测试 2. PoET(模拟飞地)- 提供有限的拜占庭容错性 3. PoET(SGX 飞地)- 使用 Intel SGX 强制实施拜占庭容错性。正如 Haim 指出的那样,PoET 规范编写成灵活适应其他或未来的可信执行环境。更新的文档链接: https://sawtooth.hyperledger.org/docs/core/releases/latest/
这里有一些需要更正的错误: Hyperledger Sawtooth拥有“可插拔共识”,允许多种共识算法,包括PoET。请参见https://sawtooth.hyperledger.org/docs/core/releases/latest/introduction.html?highlight=poet%20simulator#pluggable-consensus-algorithms PoET模拟器适用于非Intel或非SGX硬件,包括云环境。 PoET模拟器是安全的,可以用于生产。这是由于多层安全和检查措施。 编辑:最近在Sawtooth中添加了RAFT共识算法。选举一个任意时间的领袖作为共识算法。如果它超时,则替换领导者。Raft比PoET更快,但是不具备拜占庭容错(Byzantine Fault Tolerant,BFT),Raft仅具备崩溃容错(Crash Fault Tolerant,CFT)。此外,Raft不会分叉。
引用规范中的介绍部分:“PoET 的最初参考实现是针对抽象 TEE 编写的,以保持其对任何 TEE 实现的灵活性。本规范定义了一个基于 SGX 的具体实现。”这意味着 PoET 的理论思想并不限于特定的实现,然而,具体实现是基于 SGX(软件保护扩展)的,据我所知,这是唯一支持它的 TEE(可信执行环境)。Intel SGX 是一种技术,供应用程序开发人员保护选定的代码和数据免受泄露或修改,并使软件能够证明正在运行的代码的真实性。(更多关于 SGX 的信息可以在这里找到。)SGX 指令可用于第 6 代(Skylake)Intel Core 处理器(或更高版本),还需要 BIOS 支持。