
先区分基础概念与扩容技术
区块链开发新技术涉及哪些技术概念,可以沿着三个问题理解:谁有权发起操作,操作怎样改变记录,其他参与者如何检查结果。交易模型与数字签名属于基础;二层扩容则在这些基础上重新安排计算、验证和数据发布的位置。理解这些概念,不应把它们都当作近期才出现的技术。
UTXO:用未花费输出描述可用资金
比特币开发文档介绍的UTXO,是尚未被后续交易花费的输出。普通交易的输入引用既有输出,再创建新的输出。钱包显示的余额,可以来自多个UTXO。

这个模型适用于理解比特币交易的资金来源与花费条件。开发时,需要识别被引用的具体输出,不能只把交易理解成两个账户之间的余额加减。

数字签名与脚本:表达操作权限
在文档介绍的P2PKH交易中,公钥、签名与脚本共同验证花费权限。脚本规定条件,花费者提供满足条件的数据;签名也使被签署内容的修改能够被发现。
这里的关键是区分“记录在哪里”与“谁能使用它”。UTXO回答前一个问题,签名和脚本回答后一个问题。P2PKH只是具体示例,不能据此概括所有交易类型。
ZK-rollup:链下执行与链上验证
以太坊开发文档介绍的ZK-rollup,将交易批量放到链下执行,再向主链提交状态更新及有效性证明。链上合约负责验证证明,链下虚拟机负责运行交易。
状态根可以理解为状态数据的密码学摘要;有效性证明则用于检查状态变化是否符合规则。二者作用不同:摘要代表某个状态,证明支持对变化正确性的验证。
数据可用性:正确结果仍需可重建
ZK-rollup还需发布足以重建状态的数据。证明解决计算是否正确的问题,数据可用性解决参与者能否取得必要信息的问题。理解扩容方案时,应同时检查这两方面,不能只关注证明机制。
这一框架适用于分析链上与链下的职责分工,但不能直接证明某个具体系统的全部安全属性。
常见问题:零知识是否意味着交易隐私
不一定。ZK-rollup中的有效性证明主要服务于状态更新验证,公开发布的重建数据并不会因此自动隐藏。判断隐私能力,需要查看系统实际公开哪些信息。
这些概念也不代表一套可以原样通用于所有区块链的实现。比较技术方案时,应先确认交易模型与执行规则,再讨论扩容和验证方式。