# 阿剑 - 从比特币应用编程理解 CKB 的可编程性 (Highlights) ![rw-book-cover|256](https://talk.nervos.org/uploads/default/original/2X/c/c4292978a632f0d8a62117254152faa824e41bdf.png) ## Metadata **Review**:: [readwise.io](https://readwise.io/bookreview/33492793) **Source**:: #from/readwise #from/reader **Zettel**:: #zettel/fleeting **Status**:: #x **Authors**:: [[阿剑]] **Full Title**:: 从比特币应用编程理解 CKB 的可编程性 **Category**:: #articles #readwise/articles **Category Icon**:: 📰 **Document Tags**:: #work **URL**:: [talk.nervos.org](https://talk.nervos.org/t/ckb/7504) **Host**:: [[talk.nervos.org]] **Highlighted**:: [[2023-10-24]] **Created**:: [[2023-10-26]] ## Highlights - 我们尚不知晓 Cell 是如何实现 “一个合约在运行时访问另一个合约的状态” 的。为此,我们需要借助比特币社区探讨了很长时间的一个概念:“限制条款(covenants)”。 ([View Highlight](https://read.readwise.io/read/01hdgfqpybw3a2mjr84xzfhd5p)) ^615342490 - 在当前的比特币(尚未部署任何限制条款提议)上,一笔资金一旦解锁,就可以花到任何地方(可以支付给任意的脚本公钥)。但限制条款的想法是,可以用某种方式,限制它只能花到某些地方去,比如,某一个 UTXO 将只能被某一笔交易花费,那么,即便有人能够为这个 UTXO 提供签名,它可以花到什么地方也已经被这笔交易决定了。 ([View Highlight](https://read.readwise.io/read/01hdgfrmhn8eb11wd5y9x41cnh)) ^615343415 - 如果具备了完全的内省能力,那么一个交易的输入就可以读取同一交易的另一个输入的状态,这就实现了我们前面说的 “一个合约在运行时访问另一个合约的状态” 的能力。 ([View Highlight](https://read.readwise.io/read/01hdgfsgpme6mkr6a6kttdheyb)) ^615343810 - 合约的状态可以用交易的形式来表达,从而,合约的参与者可以自己保存状态,而不必将它们展现在区块链上;合约的状态变更问题,也可以转化成如何安全地更新承诺交易的问题 ([View Highlight](https://read.readwise.io/read/01hdgfwvdhrzq2kk25cvf2smct)) ^615344242 - 适配器签名让一个签名的有效性依赖于一个秘密数据,并且是可验证的。 ([View Highlight](https://read.readwise.io/read/01hdgg218thgjsbqb4qe6ydyyr)) ^615344559