以太坊声称要做计算机,EOS 要做全球操作系统,但无论是做计算机还是做操作系统都得正视计算这个问题,链上计算的开销是非常大的,链上每一个 EVM 的 Code 计算需要全球计算机都算一遍,才能得出结果,所以有人做了这么一个计算的扩展,在链外做 Computation。
这个方式大致有两种
第一种是在可信的执行的环境中,把这个计算算出来,然后传到链上去,再加上可信环境的一个证明。
这个证明不是计算结果的对和错,而是证明这个计算是在安全的环境里运行的。
可信的执行环境在工业界相对来说还是比较成熟,ARM 芯片是支持 TrustZone 方案的,我们用的苹果和安卓手机的指纹,它的秘钥信息都是存在 TrustZone 里面的。它的优缺点通过介绍其实也比较清楚了。
优点
隐私性很强,因为所有东西都是在黑箱子里面的。
性能也非常的高,单个机器执行即可,因为我信任的不是这台机器,而是这个 Trust Zone。
功能非常的灵活,不像 Plasma 比较单一,它可以做各种各样的东西甚至是远超过 EVM 的东西,因为 EVM 里面做一些加密运算是很难的
缺点
黑箱计算引入了未知的风险
依赖于硬件限制了它的扩展性,因为不可能每个人都有一个符合硬件要求的设备来运行这套系统。
系统的安全性是依赖于厂商的,厂商是可以在 Trustware 里面做任何的事情,这个也引入了风险.
所以这种依赖于安全执行环境的 Layer 2 方案一般是由联盟链或者是企业内部的链来使用的。
第二种叫 Trurbit,它解决的也是链外运算的问题,这个项目很有趣。这里面有好几个角色,包括用户、Solver 和 Challenger。
第一个是计算需求的提出者(用户),这个计算需求是用 Truebit 的 VM 来描述的,在实际操作的时候,Truebit 的 VM 是用 Rust 实现的
用户可以选择悬赏的方式找人来帮他做运算,运算的执行人叫做 Solver。Solver 把每一步的运算状态都算成一个哈希折叠到默克尔树里面,在最后,Solver 把所有运算结果的默克尔树的根哈希,以及运算的最终结果提交到区块链上。
而 Challenger 需要自己算一遍生成结果,如果他发现算的结果和 Sovler 算的不一样,他就能根据错误信息找到哪一步或者是哪几步错了。Challenger 就能把这个状态和状态运行的指针上传到区块链上,挑战这个 Solver。
因为 Truebit 在链上拥有指令集,而且 State 可以证明它在原来的默克尔树里面,于是链可以计算这个 State 加指令得到一个新的 State,通过这个链可以开始判断,这个 State 是 Solver 生成的 State 还是 Challenger 生成的 State,谁对谁错。
Truebit 只需要链上的一步运算,就能够证明所有运算是正确的还是错误的,它能把普通运算折叠成了最关键的计算,交给主链去运算,验证。
以太坊声称要做计算机,EOS 要做全球操作系统,但无论是做计算机还是做操作系统都得正视计算这个问题,链上计算的开销是非常大的,链上每一个 EVM 的 Code 计算需要全球计算机都算一遍,才能得出结果,所以有人做了这么一个计算的扩展,在链外做 Computation。
这个方式大致有两种
第一种是在可信的执行的环境中,把这个计算算出来,然后传到链上去,再加上可信环境的一个证明。
这个证明不是计算结果的对和错,而是证明这个计算是在安全的环境里运行的。
可信的执行环境在工业界相对来说还是比较成熟,ARM 芯片是支持 TrustZone 方案的,我们用的苹果和安卓手机的指纹,它的秘钥信息都是存在 TrustZone 里面的。它的优缺点通过介绍其实也比较清楚了。
优点
隐私性很强,因为所有东西都是在黑箱子里面的。
性能也非常的高,单个机器执行即可,因为我信任的不是这台机器,而是这个 Trust Zone。
功能非常的灵活,不像 Plasma 比较单一,它可以做各种各样的东西甚至是远超过 EVM 的东西,因为 EVM 里面做一些加密运算是很难的
缺点
黑箱计算引入了未知的风险
依赖于硬件限制了它的扩展性,因为不可能每个人都有一个符合硬件要求的设备来运行这套系统。
系统的安全性是依赖于厂商的,厂商是可以在 Trustware 里面做任何的事情,这个也引入了风险.
所以这种依赖于安全执行环境的 Layer 2 方案一般是由联盟链或者是企业内部的链来使用的。
第二种叫 Trurbit,它解决的也是链外运算的问题,这个项目很有趣。这里面有好几个角色,包括用户、Solver 和 Challenger。
第一个是计算需求的提出者(用户),这个计算需求是用 Truebit 的 VM 来描述的,在实际操作的时候,Truebit 的 VM 是用 Rust 实现的
用户可以选择悬赏的方式找人来帮他做运算,运算的执行人叫做 Solver。Solver 把每一步的运算状态都算成一个哈希折叠到默克尔树里面,在最后,Solver 把所有运算结果的默克尔树的根哈希,以及运算的最终结果提交到区块链上。
而 Challenger 需要自己算一遍生成结果,如果他发现算的结果和 Sovler 算的不一样,他就能根据错误信息找到哪一步或者是哪几步错了。Challenger 就能把这个状态和状态运行的指针上传到区块链上,挑战这个 Solver。
因为 Truebit 在链上拥有指令集,而且 State 可以证明它在原来的默克尔树里面,于是链可以计算这个 State 加指令得到一个新的 State,通过这个链可以开始判断,这个 State 是 Solver 生成的 State 还是 Challenger 生成的 State,谁对谁错。
Truebit 只需要链上的一步运算,就能够证明所有运算是正确的还是错误的,它能把普通运算折叠成了最关键的计算,交给主链去运算,验证。
Share Dialog
Share Dialog
Subscribe to 十3
Subscribe to 十3
<100 subscribers
<100 subscribers
No activity yet