一切为了解决隐私问题,绿洲实验室Ekiden协议介绍

绿洲实验室官网截图
下一代区块链平台的竞争已经悄然展开,每个月我们都能看到新成立的创业公司宣称,他们要采用区块链解决所有问题。大约80-90%的区块链项目,运行在像Ethereum这样的平台上。
创建一个新的可行的替代方案?这说起来容易但做起来很难。要颠覆区块链平台在市场上的主导地位,我们需要新的协议来解决一些根本缺陷。其中,性能和隐私是使用区块链技术的基本功能。一个名为绿洲实验室(Oasis Labs)的新项目刚刚筹集了4500万美元来实现这个目标:在区块链上构建一个隐私优先、高性能的云计算平台。
绿洲实验室是来自加州大学伯克利分校(UC Berkely)和麻省理工学院(MIT)安全研究人员的成果。

他们的众筹在区块链社区中引起了很多关注,关于该公司及其目标的文章很多,但对他们技术的介绍知之甚少。绿洲实验室与其他区块链平台有什么不同?当然,有一些创新的分布式账本技术,如Hashgraph、Enigma等协议,正在为下一波区块链技术提高标准。然而,绿洲实验室给人的感觉却有所不同。
使绿洲实验站起来的原因在于,他们使用独特的软件和硬件组合来解决当前一代区块链应用的隐私和性能挑战,同时该平台还为真正去中心化云计算提供动力。 从长远来看,你可以把绿洲实验室比作亚马逊网络服务。绿洲实验室背后的远景可以用三个简单的步骤总结:

为了实现这些目标,Oasis实验室开发了一种协议,该协议使用一种结合软件和硬件的方法来实现智能合约的高性能和高隐私。
来聊聊Ekiden
Ekiden是绿洲实验室平台背后的主要协议。Ekiden的目标是为了高隐私的智能合约执行提供一个系统。这里的独特性在于,在不牺牲性能的情况下解决隐私问题。毕竟,零知识证明系统等协议为智能合约中的隐私挑战提供了一种优雅的解决方案。然而,从计算的角度来看,这些协议非常昂贵,限制了它在简单场景中的使用。
为了解决智能合约隐私性的问题,Ekiden依赖于一种相对晦涩的技术,称为可信执行环境(trusted execution environment, TEE)。从概念上讲,TEEs 提供了一个完全隔离的环境,称为安全区,它可以防止其他应用程序、操作系统和主机所有者篡改甚至了解在安全区中运行的应用程序的状态。TEEs非常适合保密,但它们是孤立的,无法提供存储或网络功能。这里就需要区块链加入进来了。
从架构的角度来看,Ekiden将底层区块链系统与基于TEE的执行相结合。 TEE-区块链组合可实现智能合约的安全和可扩展执行,同时还保留了强大的机密性,完整性和可用性保证。下图提供了Ekiden架构的概述:

Ekiden当前的架构模型基于三个基本实体: 客户端、计算节点和一致节点:
客户端: 这些节点可以使用秘密输入创建合同或执行现有合同。
计算节点: 这些节点负责实例化多个TEE来执行智能合约程序。
共识节点:这些节点负责通过运行共识协议来维护分布式附加分类帐本。合同状态和安全证明在此区块链中保留。
Ekiden模型的最大贡献之一是它与合约计算的共识脱离,该合约计算允许更高级别的并发性,同时保持区块链的完整性。
为了达成共识,Ekiden依赖于一个发布证明(proof-of-publication)协议,该协议证明了TEE的合约,特定项目已存储在区块链中。 该协议是基于由共识节点提供的简单多签名模型。
编程模型
绿洲实验室的最终目标是构建一个真正去中心化的云,为此,他们需要强大的编程环境。目前,Ekiden支持两种主要类型的智能合约:
Rust合约: Ekinden合约是用Rust语言编写的。Rust程序针对并发性进行了优化,它们可以使用RPC协议与Ekiden集成。
EVM契约: TEE环境中运行的以太坊虚拟机Sputnik VM实现被包含在Ekinden合约中。这意味着现有的以太坊智能合约可以在Ekiden平台上自动运行。
超出交易的思考
我们自然地将区块链与金融交易场景相联系,并且大多数当前协议都以这种方式建模。在我看来,绿洲实验室平台的价值在于能够实现复杂的工作负载,利用区块链的不变性和完整性功能,同时实现高性能和高扩展性。机器学习和网络安全等场景非常适合利用Ekiden的功能。Uber似乎已经在这场比赛中起了带头作用。
翻译的原文:Jesus Rodriguez, This Startup Wants to Build a High Performance, Privacy-First Blockchain Platform
文章作者:Wayne Wong
转载请注明出处
如果有关于PPIO学习的交流,可以通过下面的方式联系我:
加我微信,注意备注: 区块链
wechat:omnigeeker
一切为了解决隐私问题,绿洲实验室Ekiden协议介绍的更多相关文章
- delphi 解决android 9上无法使用http协议
delphi 解决android 9上无法使用http协议 安卓9不让客户端通过非https方式访问服务端数据(不允许发送明文http请求)的问题. 解决方法: 1.选择安卓平台编译一次程序,在项目根 ...
- 基于隐私保护技术的DNS通信协议介绍
本文提出了一种基于用户数据报协议的DNS传输中用户隐私保护的加密方法:DNSDEA.该方法采用PKI加密体系与DNS协议相融合,不仅解决了域名隐私保护问题,而且与传统DNS体系相兼容,保持了DNS系统 ...
- 解决iOS9苹果将原http协议改成了https协议问题
解决方法: 在info.plist 加入key <key>NSAppTransportSecurity</key> <dict> <key>NSAllo ...
- 解决android 9上无法使用http协议
用户反应本来好用的app,突然无法访问服务器,不能正常用了,拿到手机,从头检查权限,重新安装都不能解决,网络是正常的,怎么就不能访问网络了呢?所有想到的办法都用了而不能解决,最后想起看一下androi ...
- 【转】Netty之解决TCP粘包拆包(自定义协议)
1.什么是粘包/拆包 一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据.TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消 ...
- Netty之解决TCP粘包拆包(自定义协议)
1.什么是粘包/拆包 一般所谓的TCP粘包是在一次接收数据不能完全地体现一个完整的消息数据.TCP通讯为何存在粘包呢?主要原因是TCP是以流的方式来处理数据,再加上网络上MTU的往往小于在应用处理的消 ...
- JavaScript中url 传递参数(特殊字符)解决方法及转码解码的介绍
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码 十六进制值 1. + URL 中+号表示空格 %2B 2. 空 ...
- 跨域解决之JSONP和CORS的详细介绍
JSONP跨域和CORS跨域 什么是跨域? 跨域:指的是浏览器不能执行其它网站的脚本,它是由浏览器的同源策略造成的,是浏览器的安全限制! 同源策略 同源策略:域名.协议.端口均相同. 浏览器执行Jav ...
- 解决 nginx https反向代理http协议 302重定向localtion到http问题
location /rest { #proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remot ...
随机推荐
- vue 自定义组件使用v-model
<input v-model="something"> v-model指令其实是下面的语法糖包装而成: <input :value="something ...
- Mysql 截取日期的方法
//显示年月日 select date_format(date ,'%Y-%m-%d' ) from talbe_a //根据年月日分组 select date_format(date ,'%Y-%m ...
- Java删除文件夹和其子文件、文件的拷贝和剪切
1.递归删除目录下的所有文件及子目录下所有文件 //递归删除目录下的所有文件及子目录下所有文件 public static boolean deleteDir(File dir) { if (dir ...
- ActiveMQ使用介绍及实例
上一篇讲了rabbitmq的使用以及demo,activemq的思路也与之有相似的地方. activemq是基于Java实现的.activemq没有rabbitmq那么多的路由规则,其通信方式只有两种 ...
- Python编程--类的分析
一.类的概念 python是面向对象的编程语言,详细来说,我们把一类相同的事物叫做类,其中用相同的属性(其实就是变量描述),里面封装了相同的方法,比如:汽车是一个类,它包括价格.品牌等属性.那么我们如 ...
- asp.net mvc模板布局
- activity select problem(greedy algorithms)
many activities will use the same place, every activity ai has its' start time si and finish time f ...
- 13--Python入门--文件读写--CSV&Excel文件
EXCEL文件 import pandas as pd excel=pd.read_excel('read_excel.xlsx') print(excel) CSV文件 import pandas ...
- 公网定制化yum仓库部署
公网定制化yum仓库部署 (1)搭建公网源yum仓库 安装wget aliyun源 # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun ...
- C语言如何在可变参数函数中使用printf?
我要将printf外面再包上一层:void fun(const char* fmt,...) {........printf(fmt,...);........}这种函数怎么写? 对比下printf与 ...