STARKs工作原理(一)

elibensasson 发布于 2026-05-05 阅读 215

STARKs是一种密码学证明系统,用于区块链扩展。文章首先指出区块链因所有节点重算交易而面临扩展性挑战,然后说明STARKs通过让一个不可信的计算者(Prover)生成简洁的证明,验证者(Verifier)只需少量计算即可确认大量交易的有效性。以学校考试类比,解释为什么需要证明而非重算。STARKs的数学方法混合并放大数据,使任何错误都变得可检测,从而在不牺牲安全性的前提下大幅提升效率。文章强调STARKs已在实际应用中经过实战检验。

Image

STARK 是一类加密证明系统。它们能够实现可扩展性和隐私性,并且具备后量子安全性。

在这篇多部分文章中,我将尽力以简化的方式向非数学专业人士解释 STARK 的工作原理。注意:我所描述的并非理论上的可能性,而是 StarkWare 自 2018 年以来一直在实战中使用的技术。

首先,准备工作

在深入之前,有几个重要说明:

  1. 我将主要关注我们如何生成 STARK 证明。

  2. 我将使用简化的例子来解释实际上非常复杂的数学过程。自然,我会跳过过程中的某些部分,一些类比也可能不够完美。这引出了第三点:

  3. 我真心鼓励任何对这个主题有深入研究的人提供他们自己对 STARK 工作原理的最佳解释。教育永远不嫌多!

  4. STARK 可以在区块链领域之外使用。然而,就本文而言,我将描述 STARK 在扩展区块链时是如何工作的。

这是一个很长的解释,所以在我们开始之前,给自己倒杯咖啡,伸伸腿,按摩一下眼睛。

好了,我们开始吧。

概览

(你可能已经熟悉了区块链可扩展性挑战的基本信息以及 STARK 在此背景下的用途。如果是这样,可以跳过本系列的第 2 部分

问题:区块链可能很慢

要理解 STARK 提供的解决方案,我们首先需要理解它们所解决的一个问题:可扩展性。

去中心化区块链使用户能够进行数字活动并将数据存储在链上。在去中心化链中,所有运行它的各方都会检查并验证每一次交互。像比特币和以太坊这样的去中心化区块链是安全的,因为每个人都在检查所有数据。

例如,如果 Alice 向 Bob 发送了资金,网络中的每个节点都会重新执行这笔交易并验证其细节,如下所示:

  • Alice 是否有足够的资金?
  • 她的签名是否有效?
  • 余额是否正确更新?
  • 等等。

让每个人验证所有数据虽然对安全性有好处,但要求每个节点重新执行每一笔交易则对可扩展性非常不利。这里有一个类比:

想象一所学校,30 名学生参加数学考试。通常,一位老师批改考卷,每个人都信任那个分数。但如果这位老师不值得信任呢?如果其他老师怀疑他有理由给出假分数,例如,他因给某特定学生最高分而被收买?

在这种情况下,其他老师都会想自己重新批改所有考卷,以确保他们的结果与给出的分数一致。想象一下这个负担。这将花费太多时间和精力。在更大规模上,这根本行不通——对 30 名学生如此,对 300 或 3000 名学生更是如此。

解决方案:提供有效性证明

与其让所有老师重新检查所有考卷,或者让数千台计算机重新执行所有交易,不如让一方完成大部分工作,并向其他方证明它正确完成了工作?如果其他方可以运行一个简单的检查来确保交易的有效性和处理过程的完整性,那将为他们节省大量的工作,同时允许他们最终确定结果数据,而不牺牲安全性。这就是 STARK 所实现的。

STARK 协议涉及两方:

  1. Prover:一台计算机,通过极其复杂和冗长的计算处理交易,并生成一个 STARK 证明。

  2. Verifier:一个软件,通过几个步骤检查 Prover 的工作。

当应用于区块链时,一旦证明被验证,系统就可以用处理过的交易产生的数据更新。

使用 STARK,Prover 可以是任何人,包括你不信任的人:一个国家、一家公司、一个匿名个人,甚至是达斯·维达。他们无法为了恶意目的扭曲数学。我们不信任达斯,我们信任数学,而我们每个人在运行 Verifier 时都在运行这套数学。

采样代替重新执行计算

验证 STARK 证明不需要重新执行所有处理过的交易。证明的构建方式允许 Verifier 运行一个相对较小的计算来检查是否存在任何错误或无效数据的迹象。如果没有,Verifier 就可以确认所有处理过的交易都是有效的。

STARK 通过数学实现了这一点。数学协议混合并放大了数据,因此即使是最小的错误也会影响证明的每个部分。这确保了任何无效数据都能被检测到,就像一滴血能揭示我们健康的关键信息一样。

这个允许我们验证 Prover 的工作而不是让网络所有节点重做工作的过程效率有多高?如果我们处理 100 万笔交易,Verifier 可以用执行 6 笔交易所需要的计算量来检查 STARK 证明。

那么这是如何做到的呢?STARK 如何处理 100 万笔交易,将其打包成一个证明,该证明可以用处理 6 笔交易所需要的工作量来验证,同时确保没有错误或恶意行为未被发现?请阅读下一部分

  • 原文链接: x.com/elibensasson/statu...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论