在早期文明中,真理基于神话。对世俗现象的观察被包裹在象征性叙述、宗教信仰和古老智慧之中。随着时间的推移,人类开始重视客观测量和推理,从而诞生了科学、数学和逻辑等学科。
在文字发明之后,印刷机也随之发明,书籍和文件以书面形式记录了世界上的信息,从学术文献和法律合同到统计数据和观点分析。随后,在 20 世纪,电话、计算机和互联网开启了信息创建、分发和验证方式的数字革命,超级计算机现在对复杂的数据集进行大规模计算,全球数十亿用户每天都在实时生成、共享和讨论内容。
如今,只要有一个简单的互联网连接,世界上的任何人都可以立即访问看似无限的信息流。然而,尽管个人现在能够获取和分享比以往更多的信息,但分散在各种应用程序中的高速、大容量信息却带来了巨大的挑战。
{ 来自 Chainlink 博客的类比 }
可验证计算允许用户将计算外包给可能不受信任的计算机,同时确保结果的正确性。它的工作原理是让远程计算机执行计算,然后提供计算准确完成的证明。
用户无需自己重复整个计算即可验证此证明。这对于用户计算资源有限或需要确保在外部系统上处理的敏感数据的完整性的情况特别有用。
长话短说
云计算非常适合完成复杂的任务,但如何知道结果是准确的?
可验证计算让您可以外包计算并验证答案,而无需重新运行所有内容。
它使用证据(如收据)来确认工作是否正确完成。
好处包括安全、高效、透明、以及验证科学计算。
主要有两种证明类型:交互式(客户与工作人员对话)和非交互式(用密钥验证的证明)。
安全区域和同态加密等其他技术可以增强安全性和隐私性。
可验证计算通过减少工作量和支持复杂的智能合约来帮助区块链扩展。
🅃🄴🄲🄷🄰🄽🄳🅃🄸🄿🅂123
在我们这个被大量计算需求主导的世界里,将复杂的任务外包给云服务器已经成为常态。但挑战就在这里:一旦我们收到结果,我们如何才能确信其准确性?考虑一下——你将一个人工智能训练任务分配给像 AWS 这样的平台。一周后,你会从这个人工智能训练任务中收到数百万个神经网络参数。但你如何确保这些参数真正反映的是一周的训练量,而不仅仅是一天的训练量?
最直接的解决方案是将相同的任务发送到另一个云平台 Google Cloud,然后将结果并列。但是,这种方法不仅多余,而且成本也翻倍。那么,替代方案是什么?这就是可验证计算的主题——一个专注于验证外包计算结果而无需重新执行整个过程的领域。
{ 福布斯类比 }
可验证计算的工作原理
想象一下这样一个场景:您拥有一项计算密集型任务,例如财务数据分析或科学模拟。由于硬件限制或安全考虑,本地执行可能不切实际。将计算外包给云服务器似乎是一个可行的解决方案。然而,一个基本问题出现了:您能相信服务器准确地执行计算吗?
恶意服务器可能会操纵数据或直接返回伪造的结果。传统方法通常涉及多台服务器上的冗余计算,效率低下且资源密集。可验证计算为这一难题提供了一个优雅的解决方案。
📀 可验证计算如何解决这一困境
可验证计算使你能够将计算外包给不受信任的服务器,同时保证输出的正确性。它通过双管齐下的方法实现这一点:
🔹 证明生成:计算结果与加密证明一起转换为可验证格式。此证明可作为数学保证,确保计算准确执行,且不会泄露输入数据或所涉及的具体步骤。
🔸 证明验证:您拥有一个验证工具,该工具使用密钥来验证收到的证明的正确性。如果验证成功,则可确保您在不受信任的服务器上按预期执行了计算,从而产生了值得信赖的结果。将可验证计算视为可审计计算的系统。
您将任务委托给工作人员,但您也会获得可验证的收据以确认工作已正确完成。这种数学验证过程使您可以信任结果,而不必盲目依赖服务器的完整性。
💡 可验证计算的好处
可验证计算为各种应用提供了许多好处:
云计算的安全性:它能够安全地利用云资源进行敏感计算,确保数据的隐私和结果的完整性。
可扩展性和效率:复杂的计算可以外包给强大的云服务器,从而加速流程并提高效率。
分布式系统中的透明度:在计算分布在多个实体的协作项目中,可验证计算可保证部分结果的准确性,同时又不损害机密性。
验证科学计算:研究人员可以利用可验证计算来确保在远程服务器上执行的科学计算的可重复性。
🔆 证明类型
可验证计算可以通过两种主要方法实现:
交互式证明:
在这种方法中,客户端和工作者进行交互式对话,以验证证明的正确性。客户端向工作者发送挑战,工作者的响应经过数学验证,以确保计算的有效性。
非交互式证明:
这种方法消除了直接交互的需要。工作者生成一个证明,客户端可以使用加密密钥对其进行验证。非交互式证明通常更有效,但可能需要更强的加密假设。
交互式和非交互式证明之间的选择取决于计算的复杂性、所需的效率水平和应用程序的安全要求等因素。
⚡ 安全区域和同态加密
虽然交互式和非交互式证明构成了可验证计算的核心,但其他加密技术可以增强其功能:
安全区域:
这些是处理器内的隔离执行环境,可在不受信任的服务器上执行计算时保护计算的机密性和完整性。
同态加密:
该技术允许直接对加密数据进行计算,无需在计算之前解密数据,从而增强了隐私性。
🚆 它如何帮助区块链可扩展性
减少区块链负载:复杂的计算可以外包给验证节点,从而减轻负责交易验证和共识的验证节点的负担。这释放了区块链上的空间,用于存储交易数据和执行智能合约规则等核心功能。
提高交易吞吐量:通过卸载计算,区块链每秒可以处理更多交易,从而实现更快、更高效的交易确认时间。这对于需要大量交易的实际应用至关重要。
支持复杂的智能合约:可验证计算允许智能合约利用在区块链上直接执行可能计算成本过高的功能。这为更丰富、更复杂的智能合约应用打开了大门。
🏵️ 加密中的可验证计算应用程序
可扩展的区块链:区块链可能很慢,因为需要所有节点验证交易。可验证计算允许在链下进行复杂的计算,而只有有效性证明存储在区块链上,从而使系统更具可扩展性。
安全智能合约:智能合约是在区块链上运行的程序。可验证计算可以安全执行涉及私人数据的复杂智能合约,而不会损害数据的隐私。
机密交易:可验证计算可用于在区块链上实现机密交易,其中只有发送者和接收者知道交易的金额,同时仍然证明交易是有效的。
💡 具体应用
可验证计算,通常称为零知识 (ZK) 证明,是一种功能强大的技术,可应用于区块链和非区块链环境。它使一台计算机(验证者)能够将计算委托给另一台功能更强大的计算机(证明者),并有效地验证计算是否正确执行。以下是一些值得注意的应用程序:
第 2 层 (L2) 区块链:L2 区块链使用 ZK 证明(具体来说是 SNARK)来保证其状态转换的完整性。这些证明允许高效验证,而无需在链上进行完整计算。
跨链桥:跨链桥利用 SNARK 来向另一条链证明一条链上的存款或取款。这确保了不同区块链之间的无信任互操作性。
ZK 协处理器:“ZK 协处理器”使用 SNARK 来证明链上数据上的链下计算。例如,它可以验证在智能合约中本地计算成本过高的复杂计算。
🔬 值得关注的项目
> Zcash
> 矿井
> 星网
> Loopring
> 斯塔克交易所
> ZigZag 网络
> 不可变的 X
🔼 数据信用
> 维基百科
> 研究之门
> 阿尔卡西
> 福布斯
> Chainlink 博客
> 微软
🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸
可验证计算不仅改变了量子计算,还改变了区块链和加密货币。它与可验证网络一起释放了突破性的可能性。利用零知识证明 (ZK) 和全同态加密 (FHE) 等技术构建的新协议仅仅是个开始。
🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹🔸🔹