http://www.7klian.com

区块链安详: 探讨Neo与可信执行情况的团结

站在时代前沿
总结
● 共鸣机制
区块链与现实世界的团结必然需要智能合约的加持,但在区块链虚拟机这种断绝情况里执行智能合约时却往往无法满意现实世界里对各类数据的需求。因此,预言机应运而生,区块链的预言机就是一种为智能合约提供现实世界的数据的系统,譬喻航班信息,黄金价值等,这样在合约执行时就可以依据现实世界的数据来执行判定逻辑。
一种是基于共鸣基本的预言机,共鸣节点之间通过对特定命据举办共鸣验证从而判定现实世界的数据是否靠得住,这也是今朝Neo3正在着手的课题之一。
● 私钥寻回
另外,假如一个状态通道在整个生命周期中没有产生任何的资产变换,那么用户可以直接在TEE中协商封锁通道,而不需要向区块链提交任何的生意业务。
AMD的处事器芯片中有Secure Encrypted Virtualization (SEV),这个主要是加密处事器上运行的虚拟机内存,道理是在AMD的处理惩罚器里内置一块小的ARM芯片,专门用来加密虚拟机的内存和在状态切换时加密寄存器。
如果所有的议员节点都支持TEE情况,那么是否可以或许直接答允用户在Neo平台来生本钱身的账户?
今朝,主流的芯片架构平台都有各自的
可信执行情况。
并且,今朝看来这样的生意业务形式也只有与TEE团结才是最靠得住的。因为在Neo情况里,纵然合约挪用生意业务失败了,也依然会被写入区块链,这就导致假如用户发出的触发生意业务不能凭据顺序被严格执行,,那么很大概会被人打乱执行顺序从而导致生意业务失败。而TEE就可以完美掩护生意业务顺序。
可信执行情况下的Neo
本文先容了可信执行情况,并罗列了多个乐成将可信执行情况和区块链团结的案例。
在这个数据获取的模子中,Intel SGX节点是颠末Remote Attestation验证过的正当TEE节点,且运行的是未被修悔改的预言机合约。因此,通过此模子而获取的数据只有两种功效,要么获取不到,要么就是真实可信的数据。
ChainLink项目是基于康奈尔大学的FanZhang研发的合约可信数据源Town Crier而发起的。在TownCrier系统中有专门用于运行Intel SGX的节点,它是用于和现实世界中的可信数据源成立Https毗连,而且在节点的SGX内运行合约来指定命据获取的详细逻辑。
先容了一些项目后,我最想说的照旧Neo自己和TEE团结的天然优势。
安详随机数
Intel平台有Software Guard Extensions(SGX),归功于Intel提供的便利的SDK和开拓情况,成为了今朝学术界利用最遍及的一个TEE平台,也是今朝已有的较多在项目中利用的TEE平台。
可信执行情况和区块链的团结,应该是一种局面所趋。已往每年的
安详定会城市不少相关文章,颠末几年科研规模的不绝摸索,相信将来在家产界也会逐步呈现更多相关的项目。
无论是普通的转账生意业务照旧对合约的挪用,一切都只能从用户生意业务开始。一个关闭的系统固然在执行转账生意业务这种简朴逻辑时还能运转自如,但当涉及到合约执行时就显得捉襟见肘了。
正如我在阐明Neo优势时所说,Neo自己奇特的共鸣机制其实是大有可为的。固然我们无法相信单一节点生成的随机数,但我们可以通过议员的协商进程来多方生成一个最终的安详随机数。
同时,这也可以或许担保共鸣节点的不变运行,有助于算力的晋升。参考EOS项目对付节点设置的要求,我认为Neo完全可以对生意业务提供更强的算力支持,而不消像比特币或以太坊一样担忧会对一些节点发生DOS的结果。
付出通道是改进付出可扩展性的办理方案之一,可以或许办理区块链自己的数据存储,共鸣期待,手续费高以及拓展性等问题,但付出通道的建设进程是需要用户向区块链发送生意业务来完成的,这个进程不只需要耗损手续费,还需要一个完整简直认周期。
通过阐明Neo项目自己的特点,本文提出了几个将可信执行情况与Neo缔造性团结的潜在入手点。
除了协商共鸣外,议员也可以协商些此外议题,好比随机数。既然信任大大都的议员,那么在议员配合协商下,可以在新区块生成前先发生一个随机数。没有任何人可以预测,也没有任何人可以变动,在我看来这是一个可行的随机数生成方案。PoW和PoS共鸣机制里就无法实现这种可行的随机数生成方案,的确是dBFT的天然珍珠。
● TeeChan 付出管道
和此外区块链项目一样,Neo的共鸣节点也需要其担保议员的账户一直处于可用状态,以此完成不中断的生意业务验证区块生成的进程。固然这是正常操纵,但也将议员的账户置于危险之下,因为谁都不能担保议员的共鸣节点永远不会被黑客攻下。一旦共鸣节点被攻下,黑客得到了对共鸣节点的节制权,那么黑客就很大概从内存中获取到议员的私钥从而窃取议员的资产。
那我们是不是可以在TEE里实现一种触发生意业务呢?将触发生意业务发送给TEE,然后挂靠详细事件,通过将区块链的一些信息发送给TEE触发事件,再由事件通知生意业务执行,这样是不是越发便利呢?
可是假如将TEE引入Neo共鸣节点并将议员的私钥加载在TEE中,所有的需要议员签名的进程都将在TEE里执行,并只能用来签名特定范例的生意业务可能区块而不许转账可能导出私钥,那么纵然议员的共鸣节点被黑客节制链,议员的资产也依然是处于掩护状态。

配景
衷心但愿Neo可以在此,有所成绩,有所打破。
● ChainLink 预言机
在区块链的世界里,数据的流入只能通过用户举办的生意业务而发生,即区块链自己就是由用户生意业务驱动的。
前面已经阐明白Neo自己的一些特性,这些特性其实可以拓展发挥出更多的成果,尤其是与可信执行情况举办团结的环境下。
如果我有两个可能三个生意业务需要按顺序执行,并且每个生意业务需要在差异的区块里执行,那我独一的步伐就是在第一个生意业务执行乐成后再发送下一个生意业务,然后以此类推,这样的操纵方法是很反人类的。
● 隐私掩护的生意业务
● Intel平台
以上均是小我私家的技能构思,若有疏漏之处,万望留情。

可信执行情况(Trused Execution Environment,TEE)是一个由处理惩罚器直接打点的断绝区域,在可信执行情况中运行的代码将完全断绝于系统以及Hypervisor。
● ARM平台
我在早期文章《一个大概的Neo链上安详随机数办理方案》里就阐明白Neo合约自己共鸣机制的优势。Neo共鸣机制在执行生意业务之前有一轮巨大的共鸣协商进程,我认为这个进程大有可为。
另一种就是在可信执行情况与现实世界中的可信数据源间成立可信的通信通道,由靠得住的数据源将数据发送给可信执行情况下的预言机系统,然后再将数据发送给区块链。通过长途验证(Remote Attestation)后,可信执行情况中的措施必然会严格凭据设定的逻辑执行,所以,通过这种预言机获取的数据是可信的。ChainLink就是基于此逻辑设计的预言机区块链系统。
– 今朝预言机的两种主要实现方法
在参加NEL社区开拓NNS产物时,我发明一个区块链很让人难熬的处所是所有的生意业务必需当即发送且当即执行,不能是一种先发送然后依据某个事件触发执行的方法,这很惆怅。
Neo与可信执行情况团结的优势
ARM平台有TrustZone,今朝我们用的安卓或苹果,都是通过TrustZone掩护我们录入的指纹信息、脸部信息等小我私家隐私数据。
● 相对去中心化
为了办理这个问题,帝国理工的 Joshua Lind 在TEE里建设区块链账户,通过打点付出通道的方法制止建设付出通道的繁琐进程。
● 共鸣节点私钥掩护
可信执行情况在区块链中的应用案例
议员节点将以动态隐私数据共享的形式来维护用户的私钥,另外用户在建设私钥时,让用户提供一些只有用户本身知道的信息作为依据。当用户丢失密钥时,可以通过向Neo提供要害数据来规复密钥找回资产。由于用户信息的收集以及账户生成的进程都是直接颠末TEE举办,因此即便Neo议员节点也无法获取详细的用户隐私信息。
尤其是今朝仿佛随机数生成依然是区块链世界里的一浩劫题。假如Neo有志于在链游方面成长,这个随机数办理方案是否可以参考下呢?
出自于康奈尔大学的Ekiden,主要操作可信执行情况以一种隐私掩护的形式来执行智能合约。
● AMD处事器
在我看来,「相对去中心化」是Neo自己最奇特的优势。不像比特币和有极重的肩负,被一堆好处纠葛所绑缚,也不因为所谓的信仰压制而让创新举步维艰。
● Ekiden 隐私掩护的区块链
● 触发生意业务
– 一个大概的随机数生成方案
在TeeChan系统中,没有付出通道的用户可以直接在线下建设付出通道,由于TEE情况自己的断绝性,纵然用户自己也无法随意的动用TEE内账户里的资产,因此只要有付出通道在对方TEE里建设,那么你就不需要担忧对方在没有你答允的环境下把那笔钱用在此外处所。通过在TEE里建设付出通道,TeeChain制止了建设通道的漫耐久待进程。
参考Ekiden对付隐私生意业务的处理惩罚方法,其实Neo以其相对去中心化的特点更容易实现基于可信执行情况的隐私掩护生意业务。
虽然Neo自己并不主打隐私掩护,所以也没须要把所有的资产都抹去用户信息,但至少可以在合约挪用的进程中对用户发送的信息举办加密掩护。
在Ekiden的网络里,节点分为计较节点和合约节点。合约节点用于区块链自己的打点维护,计较节点用于执行用户的生意业务。用户的生意业务直接发给合约的执行节点,然后在TEE里运行,执行的功效将会以密文的形式生存在区块链上。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读