论文名称:《Confidentiality Support over Financial Grade Consortium Blockchain》
论文地址:https://dl.acm.org/doi/abs/10.1145/3318464.3386127
区块链可以作为传统互联网的一种补充,在信任机制不完善的领域建立(相比多次协商)更高效的、具体到代码的多方互信。但在真实世界中很多应用场景的信任体系已经完备且成本低廉,那么区块链的多方互信其实没有必要,传统的金融领域,区块链只能锦上添花。所以需要什么思考哪些场景的信任体制没有建立完善,信用成本高昂。
联盟链适合的技术场景,为实现技术场景又面临哪些技术问题?
性能瓶颈,以公有链为基础的解决方案更为严重。性能低下在看重安全性的公有链可以接受,在直接对接业务的联盟链不能接受。
部分区块链共识算法的吞吐量示意图
联盟链和公有链的不同:
针对业务制定联盟链,需要引入很多不同的技术来满足特定业务的强制要求,技术本身是有冲突的。比如:
所以在规划联盟链的结构时,为了尽量满足不同场景的复用要求,非常重要的设计原则是模块化,技术之间需要尽量降低耦合程度。
因此,蚂蚁区块链设计了一个由加密传输、加密存储、密钥管理和可信执行环境(TEE)构成的端到端、全声明周期机密性保护机制,而不是拆分出来加密或执行。机制成为蚂蚁区块链硬件隐私保护技术,CONFIDE(confidentiality in financial grade blockchain)。
蚂蚁区块链TEE智能合约逻辑
为什么CONFIDE是一个硬件隐私保护技术?什么是可信计算环境?TEE是什么?
区块链智能合约的瓶颈:
出块速度。区块时间固定,但每个业务的流程不一样,则出块的速度差异很大。是否可以把业务部分的处理流程放在区块链外,只在链上存储初始化状态和最终状态。并通过保证链下计算的可信度和链上数据可验证来获取近似的安全性。
可用区块链的Layer-2扩展,业务逻辑和共识逻辑分离,业务逻辑off-chain。特性如下:
待看paper:朱立, 俞欢, 詹士潇, 等. 高性能联盟区块链技术研究[J]. Journal of Software, 2019, 6: 1577-1593.
所以在蚂蚁区块链的技术方法出现了:基于可行计算机环境(TEE)的加密计算协议。
在区块链中应用TEE,是通过CPU来隔离一块安全区域来实现,对于Intel CPU这块安全区域称为Enclave(飞地)。
Intel SGX业务框架
不采用TEE,传统区块链也能保证用户隐私,但是付出的代价不同。
区块链的隐私保护方案有很多,比如:同态加密、零知识证明、环签名、分布式密钥
而TEE本质上是通过对区块链参与方增加硬件约束(需要支持TEE的CPU),来换取性能和隐私保障。因此相比公链来说,TEE也更适合联盟链这种带有一定准入门槛的区块链体系。
建立端到端、全业务声明周期的设计方案。
CONFIDE的简易流程图
1. 数据加密传输协议 2.智能合约处理引擎 3.数据加密储存协议 4.远程认证及密钥协商协议
智能合约处理引擎
在 TEE 合约链中,交易和合约都分为隐私交易/合约和明文交易/合约。明文交易即无需隐私保护的交易,其执行过程与现有明文逻辑一致;隐私交易/合约是利用密码学技术进行保护的交易,交易/合约内容只有在 TEE 内才安全可见,其执行过程中产生的全局状态数据以及交易回执均采用密码学技术进行加密保护。
从系统设计角度,这其中的关键点是如何正确识别、分发隐私交易和明文交易。 蚂蚁区块链的设计思路是增加了交易分发和交易存储这个阶段,把待处理的交易放入缓存池中识别、预处理,同时扩展智能合约的隐私标识。
最后,在Synthetic workload的模块测试中,由图可知,CONFIDE的虚拟机大幅度领先EVM(ETH的虚拟机)。
总结:
1.目前只有趣链和微软在考虑基于TEE可信执行环境的区块链解决方案,但都离落地还很远。
2.但蚂蚁金服的CONFIDE已落地,在此基础上运行了若干金融业务,日均交易达上千万。
3.中国科技公司区块链原创技术在CCF国际A类学术会议的第一篇独立论文。
参考链接:如何看待蚂蚁区块链技术入选国际顶会? - 知乎目录(八千字长文):1.背景 2.狂欢过后,联盟链探索的这一年3.区块链中只有链上计算才能保证可信吗?…https://www.zhihu.com/question/384569738/answer/1123624078