BitVM中文社区
白皮书BTC Layer2生态BitVM生态BTC 2024 会议BTC测试网水龙头社交媒体
  • 社区介绍
  • 成员招募
  • BitVM
    • 📖英文白皮书
    • 📖中英文白皮书
    • 📖BitVM白皮书-详细讲解
    • 🍀BitVM项目概况
    • 🌾基础知识
      • BitVM论文中图1解析
      • 隔离见证的好处
      • Schnorr 签名:简介
      • 谨慎日志合约(DLC):比特币的可扩展智能合约
      • 什么是比特币默克尔化抽象语法树(MAST)?
      • 什么是多重签名钱包(Multisig)?
      • 什么是门限签名(TSS)?
      • 什么是图灵完备
      • 区块、链
      • UTXO与普通账户模型
      • UTXO Vs 普通账户模型
      • PoW共识
      • PoS共识机制
      • 哈希与加密算法
      • 点时间锁合约(PTLC)
      • 基于 Taproot 的闪电通道
      • Taproot 及 MuSig2 回顾
      • Taproot是什么(比特币升级Taproot)
      • SegWit和Taproot是什么?二者之间的差异与各自优势
      • DPoS共识机制
      • 比特币脚本研究
      • 零知识证明介绍
      • Optimistic Rollups
      • Rollup:详解ZK Rollups、Optimistic
  • 👨重要人物
    • Robin Linus
  • BitVM精选文章
    • 与BitVM有关的重要信息
    • BitVM:比特币层计算的突破
    • BitVM 入门
    • 深入探讨BitVM - 表达图灵完备比特币合约的计算范式
    • BitVM and Bridges-侧链桥
    • What is BitVM?
      • What is BitVM? with Robin Linus and Super Testnet (SLP520)
      • BitVM是什么?与Robin Linus和Super Testnet详细讲解
    • Robin Linus on BitVM
      • BitVM:Bitcoin的链下合约
      • BitVM:Off-chain Bitcoin Contracts
      • PPT中文版
      • PPT英文版
    • BitVM:图灵完备的 Taproot 智能合约
    • BitVM 在比特币上实现智能合约
    • 全面解析ZK Rollups和Optimistic Rollups
    • Optimism Rollup原理详解【以太坊L2方案】
    • 要在比特币上计算任何内容,资深开发者们怎么看BitVM?
    • BitVM 是什么?图文讲解
    • BitVM 脑洞大开,复杂概念和落地可行性剖析
    • BitVM:开启比特币的智能合约时代
  • 🆚生态对比
    • 从比特币应用编程理解 CKB 的可编程性
    • BitVM 与 RGB 协议:瞄准比特币生态的“双星”
    • 什么是 RGB 协议?
    • 牛市第一响:BTC L2将造就alpha之王
    • 比特币L2的机会
  • BitVM项目
    • BitVM项目概览
    • Bitlayer
      • Bitlayer 介绍
      • Bitlayer快速了解
      • 一文了解 Bitlayer:构建比特币计算层
      • Bitlayer Research:DLC 原理解析及其优化思考
    • zkBase
      • 为什么市场需要 ZKBase?
      • 了解 ZKByte:基于零知识证明和 BitVm 的比特币 Layer2 拓展解决方案
    • Bitstake
      • Bitstake 简介:基于 BitVM 的权益证明桥
    • Citrea
      • Citrea 概述:比特币首个 ZK Rollup
  • Runes
    • 作者
    • 优质文章
      • 为什么说 Runes 符文赛道即将爆发?
      • 超越BRC20?一文读懂比特币符文协议Runes的前世今生
      • 解读Runes协议:两大发行方式、文化与玩法
      • xiyu 对 Runes 协议的解读:提供了一种在比特币网络上创建和转移符号化资产的方法
      • 解读Runes协议:发展历程及其最新「公开铭刻」发行机制的拓展
      • Ordinals创始人Cesay:首次全面介绍Runes协议
      • Runes预挖矿概念:一文读懂Rune Kingdom符文龙
      • Runes是一个Bitcoin Token Standard协议
      • 一文读懂 Runes 与 BRC20 等同质化代币协议的对比
      • Ordinals创始人首谈Runes协议细节:前10个Runes只支持Open mint
      • 一文看懂BRC20、Atomicals、RUNE等协议的独特之处
    • 视频
      • No129. 什么是符文Runes协议?Runes协议几个关注度高的项目介绍
      • 比特币牛市行情下个热点赛道布局 | 符文协议 runes protocol | 什么是符文协议Runes
      • 被譽為下一個「銘文」的「符文」是什麼?Runes協定主網上線時間已定?|秒懂符文
  • btc
    • 📖白皮书
      • 中英文
      • 注解版
    • 📖《精通比特币》第二版
      • 原版序言
      • 中文版序言
      • 译者序
      • 第二版更新内容
      • 术语
      • 目录
      • 第一章 介绍
      • 第二章 比特币工作原理
      • 第三章 比特币核心
      • 第四章 密钥和地址
      • 第五章 钱包
      • 第六章 交易
      • 第七章 高级交易和脚本
      • 第八章 比特币网络
      • 第九章 区块链
      • 第十章 挖矿和共识
      • 第十一章 比特币安全
      • 第十二章 区块链应用
      • 附录A-1 比特币白皮书吴忌寒翻译
      • 附录A-2 比特币白皮书李笑来翻译
      • 附录B、交易脚本语言操作符,常量和符号
      • 附录C:比特币改进提案(BIP)
      • 附录D:Bitcore
      • 附录E:pycoin库、实用密钥程序ku和交易程序tx
      • 附录F:Bitcoin Explorer(bx)命令
    • 📖《精通比特币》第三版
    • 🌾精选文章
      • BTC生态扩容方案巡礼(1):铭文何去何从
      • BTC生态扩容方案综述
  • 培训
    • Web3技术培训
  • BTC 生态项目汇总
    • 图文版
  • 比特币 二层
    • Rollup
      • Bitlayer
      • QED Protocol
      • BitVM
      • Bison
      • B² Network
        • B² Network技术实现:基于零知识证明验证承诺的比特币ZK-Rollup
      • Chainway
      • bl2
      • Rollux
      • BOB
      • Hacash.com
      • BeL2
      • LumiBit
        • 详解原生比特币 Layer 2 网络 LumiBit
    • 比特币侧链
      • BEVM
        • BEVM Founder自述:为什么以及如何做BTC Layer2 ?
        • 以BTC为Gas且兼容EVM的BTC Layer2
      • MAP Protocol
      • Merlin Chain
      • Chain-key Bitcoin (ckBTC)
      • SatoshiVM
        • 比特币 L2 新机会?详解 SatoshiVM 及测试网交互流程
      • Rootstock
      • Libre
      • Stacks
      • Liquid Network
      • Babylon
      • BitBolt
      • Drivechain
      • RGB++
        • RGB++:为正统比特币L2添砖加瓦
        • RGB++ Protocol Light Paper
        • 从RGB到RGB++:CKB如何赋能比特币生态资产协议
        • 一文了解提出 RGB++ 协议的比特币二层:CKB
        • RGB++:比特币 L2 资产的新思路
    • 数据可用性
      • Veda
      • Nubit
    • 状态通道
      • OmniBOLT
      • Lightning Network
    • 客户端验证
      • BiHelix
      • RGB
    • 其他
      • Path Protocol
      • Bool Network
      • Dovi
      • Bitfinity Network
      • U Protocol
      • Botanix
        • Botanix protocol
      • AiPTP
  • BTC 基础设施
    • 链下索引
      • UniSat
      • Rooch Network
    • 资产协议
      • Layer1
        • Ordinals序列协议
          • BRC20.com
          • LRC-20/LTC-20
          • ORC-20
            • Ordinals
          • BRC-100
          • SRC-20(STAMPS 协议)
            • SRC20 OpenStamp
          • Runes 协议
          • Pipe 协议
          • Tap Protocol
        • Atomical原子协议
          • ARC-20
            • Atomicals Protocol
      • Layer2
        • BitVM
        • Lightning Network
        • RGB
        • Nostr Assets Protocol
    • 资产桥
      • DLC.Link
      • Liquidium
      • BoringDAO
      • GoWrap
      • XLink
      • MultiBit
      • UniRouter
      • VMPX
      • OrdBridge
      • BRCport
      • SoBit
      • BitSwap
      • SaxBridge
      • Ordinfinity
      • Shell Trade
    • 预言机
      • 概览
        • 预言机赛道大全图谱(经典收藏)
        • OKX Ventures研报:重新思考预言机,看到及未被看到的
      • Chainlink
        • 万字拆解 Chainlink 2.0 构成背景、技术原理、经济模型与未来挑战
        • Chainlink (LINK) 资金面情况及近期发展动态
      • Band Protocol
        • 投资 Band Protocol (BAND) – 您需要了解的一切
      • Pyth Network
        • Pyth Network 研报:Solana 生态预言机发展现状与前景分析
      • Supra
        • Supra万字研究报告: Intralayer中间件,能否撼动Link预言机龙头地位?
  • twitter-space
    • 怎么样的 BTC Layer2 更有机会胜出?
      • 全文
    • BTC Layer2 技术创新盘点
      • 全文
    • 比特币L2混战:从业者 / 市场如何选择?
      • 全文版
      • 精简
  • BTC Layer2 周报
    • BTC Layer2 68个项目盘点
    • 2024.3.11 - 2024.3.17
    • 2024.3.4 - 2024.3.10
    • 2024.2.19 - 2024.2.25
  • BitVM 周报
    • 2024.3.18 - 2024.3.24
    • 2024.3.11 - 2024.3.17
    • 2024.3.4 - 2024.3.10
    • 2024.2.26 - 2024.3.3
  • BTC 2024 会议
    • 比特币复兴 2024:按主题演讲和专题小组分段
由 GitBook 提供支持
在本页
  • 逻辑门的基础知识
  • 在比特币上构建 NAND
  • 任意计算的用处
  • 从这往哪儿走

这有帮助吗?

  1. BitVM精选文章

与BitVM有关的重要信息

上一页BitVM精选文章下一页BitVM:比特币层计算的突破

最后更新于1年前

这有帮助吗?

原文:

​​

​​惧怕巫师。不是那些巫师,而是真正的巫师。

是一项为比特币应用程序开发打开非常有趣的大门的提案,该协会成立的目的是通过使用零知识证明来帮助扩展比特币。它几乎可以实现任何任意计算,并使用该计算来强制执行链上比特币发生的情况。

它根本不需要对比特币进行共识改变。诀窍是将所有逻辑提升到链外,并且如果另一方声称结果不诚实,则能够挑战链上计算的几个步骤。简而言之,今天,BitVM 将以可执行的方式为比特币本身带来任意图灵完备计算。

逻辑门的基础知识

为了真正掌握该提案背后的机制,我们需要了解一些计算的物理和逻辑基础。

每个人都知道,在底层,你的计算机只是传递各个 1 和 0 来完成它所做的一切,但它是如何工作的呢?这是什么意思?计算机中的每个芯片的核心都是由数百万或数十亿个称为逻辑门的个体组成。

这些小设备采用一个或两个“位”信息(1 或 0),并对它们执行简单的逻辑运算以产生 1 或 0 作为输出,然后将其馈送到下一个逻辑门。

有许多不同类型的逻辑门,有些只接受一位并输出相同的数字(缓冲门)。其他的则采用单个位并输出与其接收到的相反值(非门或反相器)。有些采用两位,如果两个输入位均为 1,则输出 1,而任何其他组合则输出 0(与门)。最后,至少今天在这个示例列表中,有一个门,它采用两个位,如果两个输入都是 1,则输出 0,而对于所有其他位组合,则输出 1(与非门)。

NAND真值表来自

与非门的有趣之处在于,您可以仅从与非门构建任何其他类型的逻辑门。它肯定不会像只制作另一扇门的特殊用途版本那么有效,但它会完成工作。因此,既然您可以用 NAND 门构建任何逻辑门,那么您就可以用 NAND 门构建用于任意计算的电路。

在比特币上构建 NAND

现在如何使用现有的比特币脚本构建 NAND 门?哈希锁和您可能不熟悉的其他两个操作码:OP_BOOLAND 和 OP_NOT。

首先,让我们看一下哈希锁。您创建一个分支脚本,可以使用以下两种方式之一:向哈希锁 A 显示原像,或向哈希锁 B 显示原像。路径 A 将数字 1 放入堆栈,路径 B 将数字 0 放入堆栈。

这允许您通过向散列锁提供原像来“解锁”一个位,以用作我们正在构建的 NAND 门的输入。您只能使用其中之一来完成脚本,而不能同时使用两者,我们很快就会对此进行探讨。这个简单的原语只是允许用户一次提交单个位以在 NAND 门脚本中使用。

现在回想一下什么是与非门,它需要两位并输出一位。如果输入位均为 1,则输出必须为零。如果输入位是任何其他组合,则输出为 1。您可以使用上面的双路径哈希锁技巧来提交两个输入以及输出,您只需要一种方法来验证输出是否正确。这就是 OP_BOOLAND 和 OP_NOT 发挥作用的地方。

在选择了要指定为输入的值以及要验证的输出值后,您可以利用一个巧妙的技巧。OP_BOOLAND 的作用与 NAND 完全相反,如果两个输入均为 1,则输出为 1。其他所有值都输出 0。OP_NOT 接受输入的任何值并将其反转,1 变为 0,反之亦然。这允许您获取两个输入值并在脚本堆栈上实际对它们执行 NAND 操作。然后,您可以使用 OP_EQUALVERIFY 对照哈希锁技巧提交的断言输出来验证其输出。如果在堆栈上创建的实际 NAND 操作输出与用户声称它将产生的输出不匹配,则脚本将不会通过评估。

现在,您已经在比特币脚本中实现了一个 NAND 门,实际上可以通过比特币脚本强制虚拟 NAND 门正确运行。

任意计算的用处

那么现在你可以做什么,你可以在比特币脚本中制作单个 NAND 门呢?您可以创建一个完整的 Tapleaf 树,涵盖任何任意计算的每一步,就像制造计算机处理器的实际逻辑门一样。

为了完成复杂的计算,人们将逻辑门串联在一起,这样一旦将初始输入输入第一个门,每个门的输出就会直接输入另一个门作为输入。通过在门之间适当地将哈希锁绑定在一起,可以完成同样的事情。即,如果一个门脚本可以在值 C1 或 C2 的原像之间进行选择作为输出,则该系列中的下一个门在匹配输入中使用那些相同的散列锁值。这样,某人对前一个门的结果撒谎的唯一方法就是揭露另一个 C 哈希锁。我们可以将其用于惩罚机制。

两个用户都可以进行他们想要进行的任何计算,并将其分解为仅由 NAND 门组成的电路,逐个门进行计算。然后,他们对电路中的每个单独的门进行编码,并为每个电路步骤选择适当的哈希锁选择,并将其编码成单个 UTXO 可以锁定的 Tapleaf 树。该树有一种版本供用户尝试证明他们正在正确执行程序,另一种版本供人员验证程序是否正确执行。现在他们所做的是预先签署一系列可以在链上执行的挑战和响应游戏的交易。理想情况下,整个计算是在链下运行和验证的,用户根据计算结果将资金一起花给适当的人来合作解决。然而,如果证明者停止合作,验证者可以在链上挑战他们。

第一步是将资金注入该计划。一个脚本路径将让证明者在时间锁定后单方面索取资金。如果验证者能够显示当前门的任何输入或输出的可能值的原像,则下一个脚本路径将让验证者立即领取资金。下一个脚本路径将允许验证者强制证明者在链上执行任何特定的门合约(即在他们停止与链下合作后立即执行的合约)。这条路径要求验证者释放另一个只有他们拥有的哈希锁原像,作为对证明者的每个门挑战的锁。这保证了证明者只能执行该特定的门。验证者针对该路径的预签名交易会将其花费到具有以下脚本路径的脚本:验证者在时间锁后获取代币,或者证明者执行门并将代币花回脚本中,如第一个脚本,即证明者可以在时间锁后领取这笔钱,如果向任何单个哈希锁对显示两个原像,验证者可以立即领取这笔钱,或者验证者可以再次挑战证明者。

该方案只需进行几轮即可保证合约正确结算。要么验证者用完预签名的交易来继续挑战证明者,因为证明者不断证明每个门的正确执行,并且证明者声称该资金;或者,证明者不回应挑战,因为这会让他们受到惩罚,并且验证者在时间锁定后领取资金;或者证明者实际上确实在链上错误地执行了门,并且验证者立即索取资金。理想情况下,一切都发生在链下并通过合作解决,但如果合作失败,在链上经过几轮之后,除了正确解决合约之外,实际上没有其他结果。

从这往哪儿走

当然,如此规模的提案将在未来几周内进行讨论。

需要处理和生成的数据量是巨大的。我们谈论的是带有数十亿叶子的taptree,以及与它们一起至少有几个跳跃长度的预签名交易,以确保准确的结算。

链下数据管理成本绝对是巨大的。

另一个很大的限制是该方案只能与两方合作,一方扮演证明正确执行的角色,另一方扮演验证执行的角色。

虽然未来的研究有可能找到一种方法将这一点推广到更多的参与者,但我至少没有看到实现这一目标的明确途径。此外,即使解决这个特定问题,我也看不出有什么办法可以解决这个问题:这是一个交互式协议,需要合作案例中所有参与者始终参与。

尽管如此,这是一个非常有趣的演示,展示了如何使用复杂的程序来对比特币实施条件控制。在可以将多少逻辑打包到单个叶脚本中,或者使用不同的操作码可以做什么以使整个方案更加高效方面,肯定存在优化的空间。对基本操作和博弈论平衡的简单解构可以使用比特币强制执行任意计算。

真正是奇才的创造。

https://bitcoinmagazine.com/technical/the-big-deal-with-bitvm-arbitrary-computation-now-possible-on-bitcoin-without-a-fork
ZeroSync 的开发者 Robin Linus 今天宣布, BitVM