蚂蚁区块链-CONFIDE-ACM SIGMOD 20

论文名称:《Confidentiality Support over Financial Grade Consortium Blockchain》

论文地址:https://dl.acm.org/doi/abs/10.1145/3318464.3386127


一、区块链可能在哪些场景中找到自己的归属?

区块链可以作为传统互联网的一种补充,在信任机制不完善的领域建立(相比多次协商)更高效的、具体到代码的多方互信。但在真实世界中很多应用场景的信任体系已经完备且成本低廉,那么区块链的多方互信其实没有必要,传统的金融领域,区块链只能锦上添花。所以需要什么思考哪些场景的信任体制没有建立完善,信用成本高昂。

联盟链适合的技术场景,为实现技术场景又面临哪些技术问题?

  • 跨境结算
  • 供应链金融
  • 医疗行业的隐私保护
  • 保险行业的数据共享 

性能瓶颈,以公有链为基础的解决方案更为严重。性能低下在看重安全性的公有链可以接受,在直接对接业务的联盟链不能接受。

蚂蚁区块链-CONFIDE-ACM SIGMOD 20_第1张图片

部分区块链共识算法的吞吐量示意图

联盟链和公有链的不同:

  1. 公链需要严格的安全性来保证用户资产,联盟链中安全性和性能的优先级要根据业务调整。
  2. 联盟链直接面向业务,联盟链各个用户之间存在上下级关系,权限等级也不同。联盟链中独有的概念:权限管理和机密性(confidentiality)。相对而言,公有链称之为用户隐私(privacy)。

针对业务制定联盟链,需要引入很多不同的技术来满足特定业务的强制要求,技术本身是有冲突的。比如:

  • 增加链上存储容量和吞吐量,要考虑提高区块大小和降低区块间隔。这样做可能会降低安全性。
  • 采用多链结构,会增加数据查询的复杂度,需要考虑优化查询时的路由寻址。

所以在规划联盟链的结构时,为了尽量满足不同场景的复用要求,非常重要的设计原则是模块化,技术之间需要尽量降低耦合程度。

因此,蚂蚁区块链设计了一个由加密传输、加密存储、密钥管理和可信执行环境(TEE)构成的端到端、全声明周期机密性保护机制,而不是拆分出来加密或执行。机制成为蚂蚁区块链硬件隐私保护技术,CONFIDE(confidentiality in financial grade blockchain)。

蚂蚁区块链-CONFIDE-ACM SIGMOD 20_第2张图片

蚂蚁区块链TEE智能合约逻辑

二、区块链中只有链上计算才能保证可信吗?(联盟链中智能合约有效性和可信程度的思考)

为什么CONFIDE是一个硬件隐私保护技术?什么是可信计算环境?TEE是什么?

区块链智能合约的瓶颈:

出块速度。区块时间固定,但每个业务的流程不一样,则出块的速度差异很大。是否可以把业务部分的处理流程放在区块链外,只在链上存储初始化状态和最终状态。并通过保证链下计算的可信度和链上数据可验证来获取近似的安全性。

可用区块链的Layer-2扩展,业务逻辑和共识逻辑分离,业务逻辑off-chain。特性如下:

待看paper:朱立, 俞欢, 詹士潇, 等. 高性能联盟区块链技术研究[J]. Journal of Software, 2019, 6: 1577-1593.

  • 计算部分被移动至链下,实现隐私和节省计算机资源。(业务逻辑越复杂,区块链带来的速度越明显)
  • 只在链上存储初始化状态和最终状态,方案就能同时完成高效的隐私保护。

所以在蚂蚁区块链的技术方法出现了:基于可行计算机环境(TEE)的加密计算协议。

在区块链中应用TEE,是通过CPU来隔离一块安全区域来实现,对于Intel CPU这块安全区域称为Enclave(飞地)。

蚂蚁区块链-CONFIDE-ACM SIGMOD 20_第3张图片

Intel SGX业务框架

不采用TEE,传统区块链也能保证用户隐私,但是付出的代价不同。

区块链的隐私保护方案有很多,比如:同态加密、零知识证明、环签名、分布式密钥

而TEE本质上是通过对区块链参与方增加硬件约束(需要支持TEE的CPU),来换取性能和隐私保障。因此相比公链来说,TEE也更适合联盟链这种带有一定准入门槛的区块链体系。

三、区块链中实用的TEE(可信执行环境)存在什么问题?蚂蚁金服解决了什么问题?

建立端到端、全业务声明周期的设计方案。

蚂蚁区块链-CONFIDE-ACM SIGMOD 20_第4张图片

CONFIDE的简易流程图

1. 数据加密传输协议 2.智能合约处理引擎 3.数据加密储存协议 4.远程认证及密钥协商协议

  1.  数据加密传输协议:确保交易数据端到端的隐私安全,交易数据从客户端加密发出后,仅在需要的时候载入TEE环境进行解密运算
  2. 智能合约处理引擎:运行在TEE内部的智能合约处理引擎,可以高效处理智能合约数据,在保证数据隐私的情况下,最大限度的保留的性能和通用性。
  3. 数据加密储存协议:充分考虑区块链数据持久化的特性,建立了完善的数据安全加密和数据完整性保护机制,确保数据持久化安全。
  4. 远程认证及密钥协商协议:确保了区块链节点上在TEE内运行的程序的可认证性,同时各节点TEE内协商的密钥对外不可见,确保节点TEE运行时数据安全。

智能合约处理引擎

在 TEE 合约链中,交易和合约都分为隐私交易/合约和明文交易/合约。明文交易即无需隐私保护的交易,其执行过程与现有明文逻辑一致;隐私交易/合约是利用密码学技术进行保护的交易,交易/合约内容只有在 TEE 内才安全可见,其执行过程中产生的全局状态数据以及交易回执均采用密码学技术进行加密保护。

从系统设计角度,这其中的关键点是如何正确识别、分发隐私交易和明文交易。 蚂蚁区块链的设计思路是增加了交易分发和交易存储这个阶段,把待处理的交易放入缓存池中识别、预处理,同时扩展智能合约的隐私标识。

最后,在Synthetic workload的模块测试中,由图可知,CONFIDE的虚拟机大幅度领先EVM(ETH的虚拟机)。

蚂蚁区块链-CONFIDE-ACM SIGMOD 20_第5张图片

总结:

1.目前只有趣链和微软在考虑基于TEE可信执行环境的区块链解决方案,但都离落地还很远。

2.但蚂蚁金服的CONFIDE已落地,在此基础上运行了若干金融业务,日均交易达上千万。

3.中国科技公司区块链原创技术在CCF国际A类学术会议的第一篇独立论文。

参考链接:如何看待蚂蚁区块链技术入选国际顶会? - 知乎目录(八千字长文):1.背景 2.狂欢过后,联盟链探索的这一年3.区块链中只有链上计算才能保证可信吗?…https://www.zhihu.com/question/384569738/answer/1123624078

你可能感兴趣的:(paper阅读汇总,区块链)