Zk rollups", "Validiums", "Volition", "DAC", "Data availability layer" 都是啥

现在也许你已经知道什么是有效性证明了validity proof 爱丽丝执行一个程序,然后将输出output+执行证明发送给鲍勃。 鲍勃验证了该证明,并确信输出output是正确的。

很酷哈,是因为

  • 1 鲍勃不需要运行该程序,而且 2)有效证明validity proof 要比运行程序容易得多,而且 3)以太坊智能合约能够验证这种证明。

  • 程序的 "证明”(proof) "和 "输出(output )"可以是独立的。

    鲍勃可以检查爱丽丝是否正确执行了她的程序,而不知道执行的输出是什么

  • 举一个例子。 爱丽丝和鲍勃在玩牌。 爱丽丝正在计算点数。 她可以给鲍勃一个证明proof ,证明她算得很准。 鲍勃可以在数学上确定她是诚实的,而他不知道每个人有多少分(output)

  • 对于他们进行的每一轮游戏,爱丽丝向鲍勃发送一个PROOF,说明她从N轮到N+1轮的转变是正确的。
    鲍勃可以检查这个转换是否正确。

    但是,如果爱丽丝丢失了她正在计算点数的纸,会发生什么?

  • 他们会被卡住。
    产生一个新的证明以使游戏前进到N+1状态的唯一方法是知道N是什么状态;如果它丢失了,就不能产生证明。

    换句话说,他们需要从N-1过渡到N的输出output来生成新的证明。以此来确定N的状态而推出N+1的状态

  • 简而言之,这就是数据可用性问题data availability problem,你证明了一个状态转换,但你仍然需要该状态被广泛使用,以便之后可以计算出后续的状态。

    那么区块链网络呢?

    当StarkNet在以太坊上结算时,它可以在不发送区块N+100的情况下发送一个正确的执行证明 "我正确地从区块N移动到区块N+1"。

    但是,如果区块N+100丢失了,那么就不可能将StarkNet向前推进。

    所以StarkNet发送正确执行的证明 "我正确地从区块N移到区块N+1",以及输出 "这里是区块N和N+1的状态差异"

    数据存储在Ethereum上。问题解决了!

  • 这被称为 "Validity rollup "或 "ZK rollup"。通过这些,我们今天实现了500-1000倍的成本降低。

    但我们能做得更好吗?
    毕竟,在链上存储数据是昂贵的。
    也许将数据存储在链外而不丢失并不难?

  • 所以就有了 "数据可用性层"Data availability layers,比如 @CelestiaOrg的设计,为数据的可用性提供保证。

    另一种设计了DAC数据可用性委员会(Data Availability commitees),它是负责保管数据的一组实体。

    这是一个有趣的设计空间。这些设计--由以太坊验证的证明,数据存储在其他地方--被称为 "Validiums"。

    有了这些,你可以得到如今成本降低了20,000倍,是的。这就是 @Sorare 或 @Immutable正在采用的验证逻辑

  • 最后一点。
    在Validity rollups和Validiums中,这些设计选择会影响整个链条。
    但是,如果在一个单一的链中,你选择哪个变量去哪里呢?
    例如 "NFT所有者在L1,NFT元数据在链外"。

    ”自愿“Volition“,你可以设计你的应用程序并以不同的方式保护不同的区域。

    StarkEx已经开始Volition,并且最终将在StarkNet上使用

Subscribe to scarlet
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.