丹棱君有话说:数字货币的火爆,让越来越多的行业关注到数字货币的底层技术——区块链,并积极进行技术应用和商业模式的探索。然而,目前已有的区块链协议和平台一直难以满足企业级用户对系统隐私、性能和管理兼具的要求。近期,微软发布了 Coco Blockchain Framework ,这被认为是企业级开源区块链基础平台。想了解更多吗?请紧跟侧写师丹棱君,一起进行 Coco Framework 的深度画像吧!
不可能完成的任务?
Coco Framework 说:Nothing is Impossible
区块链是达成共享的分布式密码账本,近些年来受到记录和报告交易时需要高机密性和高准确性的行业的热烈追捧,比如金融机构和供应链公司。
公链区块链系统的设计,主要考虑的是如何让不同节点达成共识,而不同节点所处的环境通常是匿名的、不可信任的、潜在敌对的环境。因此,为防止恶意行为,交易一般都用“明文”(非加密)对所有人可见以监督验证,并应用拜占庭容错类算法来达成共识。然而,这就使得公链中的“保障”技术、性能和隐私保护形成了一个“顾此失彼”的关系,运用“保障”技术就意味着无法兼顾性能优化和隐私保护,但这些恰恰是企业业务的需求。
虽然,区块链提供商已构建了诸多平台,但是对于企业级用户来说,直接应用已有的区块链(公链)技术,或者经过复杂的应用开发流程和网络部署管理,甚至根本改变系统架构,也无法达到企业级别对系统性能和安全性的要求。
那么如何解决公链系统的隐私、性能和管理的技术难题?
Coco Framework 是这样运行的
Coco (Confidential Consortium) Blockchain Framework,是微软近日发布的企业级开源区块链基础平台,用于构建符合企业标准的机密的大规模区块链网络。Coco 的全称是 Confidential Consortium(机密财团),其特点是与区块链协议无关,而且与大多数当前的区块链兼容,旨在通过添加关键的企业需求即可扩展其功能。借助 Coco Framework,企业开发人员可以迅速推出大规模的分布式账本技术,这种技术可提供防篡改历史记录、分布式治理和更高的机密性。
利用 TEE 创建可信网络节点
Coco Framework 通过充分利用可信计算环境TEE (Trusted Execution Environment),如 Intel SGX 和 Windows 虚拟安全模式(VSM) ,创建可信的网络。在 TEE 环境中,网络物理节点之间信任的建立,无须节点拥有者之间的相互信任,并能在保证区块链状态保密的情况下处理各种用户请求,进而确保保障区块链协议关键代码和数据的机密性、完整性,使得区块链的应用可以在完全受信任的成员节点上高效运行。
Coco Framework 将区块链和 TEE 高度集成,达到了更高的隐私性以及灵活性。Coco Framework 搭建的网络中的节点,通过证书的验证(如 Intel 背书)成为可信节点 VN(Trusted Validating Nodes)。每个节点运行时,根据一致性协议系统选取 lead 来处理应用中的交易事务。举例来说,成为 lead 的 VN 就像以太坊里面的矿工,但不同的是 Coco Framework 里面的每个 VN 都可以通过 TEE attestation 验证其他节点执行时候所用的代码哈希值(恶意行为将直接被发现),而不需要像以太坊一样通过重新计算交易来验证。VN 之间通过 TEE 可以互相验证身份和代码从而建立可信的连接。
可信网络节点间的运算无需验证结果
在绝大多数的区块链系统里,交易的运行结果必须是确定的,任何纯随机的运算都会导致无法有效重现和验证。而 Coco Framework 中的节点间运算,无需验证结果,为非确定性的计算提供了支持,让交易可根据应用的需要和外界系统进行交互,丰富了应用的语义和场景。同时,还简化了一致性协议,提高了交易的速度和延迟。数据显示,对比使用 Coco 框架(使用以太坊)和使用以太坊本身分别运行大量事务,通过 Coco 来运行,每秒可处理 1600 多个事务,延迟为 125 毫秒。而以太坊,每秒只能处理 15 个事务,延迟却为 56520 毫秒,几乎长达一分钟。有了 TEE 的加成,Coco Framework 还可通过使用数据访问控制,实现复杂的隐私保护模型,让交易的执行,智能合约代码和状态都只能通过应用定义的接口返回给有权限的人。
微软 Azure 首席技术官马克·拉西诺维奇(Mark Russinovich)表示:“Coco 给账本构建带来了另一种方法,为企业提供了所需的可扩展性、分布式治理和更高的机密性,又不牺牲它们期望的固有的安全性和不变性。”
更多精彩,值得期待
Coco Framework 既可以被部署到云上(如 Microsoft Azure),又可以部署在企业自己的服务器上。因此,Coco Framework 在短时间内就迎来了广泛企业和区块链团队的欢迎和拥抱,与银行财团 R3CEV LLC 的区块链 Corda 、英特尔公司的区块链 Sawtooth Lake 以及摩根大通的区块链 Quorum 达成了合作。
目前,Coco Framework 仍处于早期阶段,微软计划在 2018 年发布应用程序提供者接口和开发代码,并放在 GitHub 代码库上,扩大开发规模。