# 阿剑 - 从比特币应用编程理解 CKB 的可编程性 (Highlights)

## 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