f. Applying binary search, the verifier can quickly identify the prover's error after just a few rounds of challenge-and-response. 如果证明者停止与验证者的链下合作,验证者需要一种方法在链上强迫他的行动。验证者通过解锁一个哈希锁来做到这一点:证明者的UTXO中的每个与非 Tapleaf 只有在证明者知道验证者持有的一个原像时才能被消费。因此,证明者可以通过揭示其输入和输出来证明给定的 Tapleaf 正确执行,但仅当验证者通过揭示守卫该 Tapleaf 的哈希的原像为他"解锁"时才能这样做。应用二分查找,验证者在log(N)轮挑战和响应后就可以快速识别证明者的错误。 Figure 6: After each response, Vicky can punish equivocation. If Paul ever reveals two conflicting values for a variable, then Vicky immediately wins the challenge and is allowed to take his deposit. Vicky proves Paul's equivocation by revealing for any of his bit commitments both of the preimages. 图6:在每次响应后,Vicky可以惩罚含糊其辞。如果 Paul 曾经为变量揭示两个矛盾的值,那么 Vicky 立即赢得挑战,并被允许拿走他的存款。Vicky 通过揭示 Paul 的任何一个位承诺的两个原像来证明 Paul 的含糊其辞。 7 输入与输出 (Inputs and Outputs) The prover can set inputs by revealing the corresponding bit commitments. Ideally, they reveal the commitments off-chain to minimize their on-chain footprint. In the noncooperative case the verifier can force the prover to reveal their inputs on-chain. 证明者可以通过揭示相应的比特承诺来设置输入。理想情况下,他们会在链外揭示这些承诺,以最小化在链上的占用。在非合作情况下,验证者可以强制证明者在链上揭示他们的输入。 It is possible to process large amounts of data by exchanging it upfront, but encrypted. This way the prover can reveal the decryption key at a later point in time. 通过预先交换数据但加密的方式,可以处理大量数据。这样证明者可以在之后的某个时刻揭示解密密钥。 Multi-party inputs are also possible. Gates can have bit commitments from both parties. 多方输入也是可能的。门可以有来自双方的位承诺。 8 局限性与展望 (Limitations and Outlook) It is inefficient to express functions in simple NAND circuits. Programs can be expressed more efficiently by using more high-level opcodes. E.g., Bitcoin script supports adding 32-bit numbers, so we need no binary circuit for that. We could also have larger bit commitments, e.g. it is possible to commit to 32 bits in a single hash. Additionally, scripts can be up to about 4 MB in size. Thus, we can implement substantially more than a single NAND instruction per leaf script. 在简单的NAND电路中表达函数是低效的。通过使用更高级的操作码,程序可以更有效地表达。例如,比特币脚本支持添加32位数字,因此我们无需为此使用二进制电路。我们还可以拥有更大的比特承诺,例如,可以在单个哈希中承诺32位。此外,脚本的大小可以达到约4 MB。因此,我们可以在每个叶子脚本中实现远远超过一个NAND指令。 The model proposed here is limited to two parties. However, it might be possible to have two-way channels, and chain them to form a network similar to Lightning. Exploring the two-party setting might yield interesting possibilities for generalization. For example, we can explore a 1-to-n star topology for the network. Another research question is if we can apply our model to the n-of-n setting and create more sophisticated channel factories. Furthermore, we could combine our system with different off-chain protocols, e.g., the Lightning Network or rollups. 这里提出的模型仅限于两方。然而,可能可以建立双向通道,并将它们链式连接以形成类似于闪电网络的网络。探索双方设置可能会产生一些有趣的泛化可能性。例如,我们可以探索网络的1对n星型拓扑结构。另一个研究问题是我们是否可以将我们的模型应用于n-of-n设置,并创建更复杂的通道工厂。此外,我们还可以将我们的系统与不同的链下协议结合使用,例如闪电网络或rollups。 Other directions of research include cross-application memory, how to make statements about arbitrary data inscribed into the chain, or off-chain programmable circuits, i.e. an off-chain VM. It also might be possible to apply more sophisticated sampling techniques, similar to STARKs, to check a circuit in a single round. 其他研究方向包括跨应用内存、如何对刻在链上的任意数据进行陈述,或链下可编程电路,即链下虚拟机。还有可能应用更复杂的采样技术,类似于STARKs,以在单一轮中检查电路。 The next major milestone is to complete a design and an implementation of a concrete BitVM and also of Tree++, a high-level language to write and debug Bitcoin contracts. 下一个重要的里程碑是完成具体的BitVM设计和实现,以及Tree++,一个用于编写和调试比特币合约的高级语言。 9 结论(Conclusion) Bitcoin is Turing-complete in the sense that encoding fraud proofs in large Taptrees allows to verify the execution of any program. A major constraint of the model outlined here is that it is limited to the two-party setting. Hopefully, this can be generalized in further works. 比特币在编码欺诈证明的大型 Taptrees 中可以验证任何程序的执行,因此在某种意义上是图灵完备的。这里概述的模型的一个主要限制是它仅限于两方设置。希望这可以在后续工作中得到泛化。 致谢(Acknowledgments) Special thanks to Super Testnet and Sam Parker, who always kept refusing to believe that Bitcoin would not be Turing-complete. 特别感谢Super Testnet和Sam Parker,他始终拒绝相信比特币不会是图灵完备的。 参考文献(References) [1] Ethereum Research. Optimistic rollups. https://ethereum.org/en/developers/ docs/scaling/optimistic-rollups/, 2022. [2] Salvatore Ingala. Merkleize all the things. https://lists.linuxfoundation.org/ pipermail/bitcoin-dev/2022-November/021182.html, 2022. [3] Jeremy Rubin. CheckSigFromStack for 5 Byte Values. https://rubin.io/blog/2021/07/02/signing-5-bytes, 2021. 来源:金色财经lg...