区块链技术为何普及“缓慢”?你得走出“它是一个应用”的思维
当四辆自动驾驶的汽车同时到达一个十字路口的时候,谁会先通过呢?
这听起来像一个笑话,但问题是非常真实的,而且非常困难。解决方案或许需要去中心化计算,这是一个可能涉及区块链的新兴领域,以及许多其他技术。为了解它试图解决的问题,让我们深入讨论这个领域的僵局......
我们假设没有静态基础设施(例如,交通信标)来指挥交叉路口,则车辆将不得不使用其仅有的车载计算能力来协商解决方案。计算机的指令是什么?嗯,有一些一般的社会规则:没有人想要发生事故; 他们都希望尽快通过十字路口,并且有一些“公平”的概念(“真的,我先来到这里,所以我先去!”)。
所有这些听起来或多或少都是可行的,车辆可以增加一个“小红色按钮”,再与其他车辆谈判以便先通过。(说真的,如果你上班迟到了,你会按下按钮的吧?)。
但是,从系统架构的角度来看,这种情况存在很大问题。这里有一些:没有中央权威机构决定哪辆车按顺序排列。其次,唯一可用于计算的基础设施存在于汽车中; 也就是说,为计算动态分配资源。第三,每个驾驶员都受到推动其车辆计算的目标的激励,而一些目标被所有人共享,例如通过交叉口而没有意外,一些目标将是个人独有的。
(我迟到了,所以先让我通过!)。
正是这最后一个特征使去中心化计算变得如此具有挑战性。
应用和挑战
加密货币是去中心化计算目前最佳的应用。但还有很多其他的。在大多数情况下,区块链作为一种去中心化的、基于共识的替代方式,可以信任一个中央政府,可能会发挥关键作用。然而,区块链本身是无用的。要使去中心化计算起作用,区块链必须与其他解决方案相交叉。
一个备受争议的去中心化计算应用程序在供应链中起源。沃尔玛最近宣布,其所有食品供应商必须将其数据上传至基于区块链的系统,以便用户可以监控供应链中的污染食品。正在采用类似的想法来追踪无冲突的物品。
在这些来源案例中,区块链是一个关键组成部分,但绝不是唯一的组成部分。正如我在去年的共识杂志中所讨论的那样,虽然区块链可以提供持久和透明的事务管理,存储和数据更新,但跟踪起源的能力还需要高效,高完整性的数据输入。区块链监控的质量与收集的数据一样好。如果没有适当的监督,恶意参与者可能会操纵数据输入(例如通过传感器和遥测数据)来篡改源头。
供应链应用程序还证明了数据机密性和隐私的重要性,因为它们的核心是跨组织访问共享数据。对“这批莴苣来自哪里?”等数据的查询相对没有争议,并且在大多数情况下,与参与者的共同目标一致。然而,其他人则更加矛盾,而那些揭示了在去中心化系统中管理机密性的困难。
例如,供应商是否可以证明其能够满足交付要求而不会泄露其内部运营的其他机密细节?这就是去中心化计算的核心问题:如何在不对机密数据泄露的情况下对机密数据执行网络范围的计算。
考虑基因组数据的挑战。随着研究人员寻找治疗疾病的方法,在最广泛的基因组数据源中进行计算具有巨大的社会和潜在的商业价值,这些数据源通常由不同的组织创建,管理或拥有。但是,每个数据库都包含作为知识产权具有高度价值的数据,并且受到保护该基因组数据的个体贡献者隐私的法规的限制。
或者我们可以回到我们的自动驾驶车辆,这些车辆可能仍然坐在十字路口。(“你先走了。”“不,你先走了”,“不,你先走了”)。最近操作的要求是它必须有一个“黑匣子”,记录可用于分析过去行为的遥测数据,例如,确定事故原因。这与黑匣子在飞机上扮演的角色基本相同 - 只有一个关键区别:飞机主要靠空管,而自动驾驶汽车则不断与其他(潜在自主)车辆互动。一辆车中的黑匣子提供了单一的历史视角。
但是,它并未提供对道路上其他自动驾驶车辆的行动或决策的深入了解。所有这一切都因对抗性机器学习而变得复杂,这可能为自动驾驶汽车创造新的攻击向量。计算机如何依靠简单的本地遥测数据记录来区分自主车辆发出的内部错误,车辆遥测的外部攻击或协调协议中恶意参与者的行为?
理想情况下,为了提供车辆行为的抗攻击历史,黑匣子将确认车辆的遥测数据与附近车辆的遥测数据以及与这些车辆相互作用的信息。换句话说,一个完整的系统范围的快照。这只会让我们回到使用来自不受信任来源的机密信息进行计算的问题。
将区块链作为信任锚点处理
物联网将需要去中心化的应用程序。但是构建它们的非平凡版本很难。如果没有受信任的第三方来仲裁交互,则已知双方之间确定性公平交换等相对直接的问题是不可能的。在这里,区块链提供了巨大的价值,因为它实际上变成了一个可以指挥多方协议的基于技术的可信第三方。在我们实现通用去中心化计算之前,我们必须解决许多其他挑战。
在某种程度上,到那里需要从“区块链是应用程序”到“区块链是信任锚”的过渡。
这是我们在比特币中已经看到的转变。例如,闪电网络将比特币交易管理转移到由一对参与者创建的脱链渠道,如果存在脱链争议,他们只会将其余额关闭到区块链。
因此,区块链充当信任锚点,而lighting网络是去中心化的应用。
同时,在康奈尔大学开发了一种共识算法Thunderella,当乐观的假设失败时,将通过高性能的“off-chain”共识协议与使用传统区块链共识协议作为后备信任锚异步慢速路径结合。
在这种情况下,底层区块链的作用是发布乐观假设不再成立的证据并重置不一致的视图。
我们自己的私有数据对象工作,一个用于探索去中心化计算模型的Hyperledger实验室项目,将合同执行分解为执行实际计算的脱链组件,以及一个简单确保对依赖关系的更新顺序的链上组件合同对象。因此,直观地,区块链用作数据库更新的去中心化提交/协调日志。
面对保密性的挑战
如何扩展这一点并保护机密性?
我们认识到,如果我们扩大成功计算的概念,就可以简化平衡共享目标和个人目标之间的紧张关系。在差异隐私原则下,我们可以拨打或“模糊”数据库所需的准确性以保护机密性。例如,我们可能会将精确的结果转换为的精确结果,如“送货卡车将在大约10分钟内到达”。
考虑一下这个概念,在某些目标必须成功实现而其他目标被“模糊”以完成计算,可能适用于我们的自动驾驶汽车。只要没有事故并且它可以及时地继续到达目的地,则到达交叉口的第一辆车可能不必是通过交叉口的第一辆车。公平和先到先得仍然是目标,但可能不是成功的要求。
计算机科学的其他进步也可能有所帮助。使用零知识证明(ZKP)的隐私保护加密货币(如Zcash和Monero)证明了加密功能可以对受隐私保护的数据集进行计算。尽管如此,截至目前,开发人员仍在努力将这种计算复杂的技术应用于通用去中心化计算所需的规模。
在这里,基于硬件的可信执行环境(TEE)提供了一种潜在的替代方案。许多现代处理器都带有执行计算的技术,以确保在某些情况下计算的完整性和机密性。
运输产品的例子包括ARM的TrustZone,Intel的Software Guard Extensions(SGX)和AMD的安全加密虚拟化(SEV)。对于那些更倾向于开放硬件规范的人来说,加州大学伯克利分校和麻省理工学院的研究人员提出的Keystone项目旨在为RISC-V处理器开发一个开源TEE。
基于硬件的TEE提供了通用计算环境,可满足限制ZKP技术适用性的性能和灵活性要求。但是,基于硬件的信任不应被视为灵丹妙药。当它恰当地位于更大的安全设计环境中时,它可能是一种以乐观方式执行机密计算的有效方式。
换句话说,去中心化计算需要解决方案的组合,但那些卡在十字路口的汽车将不得不进行多任务处理。