
区块链2.0是否有统一结构
“区块链2.0”通常与智能合约及可编程应用联系在一起,但不是一套统一的技术规格。讨论其结构,可以沿着数据记录、节点通信、共识确认和程序执行理解;这些是分析角度,不能据此认定所有系统都具有相同的分层方式。
NIST《区块链技术概述》将区块链描述为分布式实现、能够显露篡改并抵抗篡改的数字账本。比特币开发者指南则以交易输入、输出和脚本说明授权验证。前者帮助理解账本整体,后者提供具体机制示例,不能将比特币的结构直接套用于所有智能合约平台。

账本难以篡改,是否意味着数据真实
防篡改主要涉及记录发布后能否被改动,不能自动证明记录所描述的现实事件真实。即使节点按照规则接受了一条记录,其中的外部信息仍可能有误。理解系统时,需要分别考察数据如何产生、谁负责提交,以及链上如何验证。

NIST对交易发布后保持不变的描述以网络正常运行为前提。因此,把“不可篡改”理解为脱离运行条件的绝对保证,会掩盖共识规则和网络运行的重要性。
交易结构与智能合约是否相同
比特币开发者指南介绍的普通交易通过输入引用此前的未花费输出,并由脚本约束花费条件。其脚本采用栈式执行,刻意限制表达能力,以增强可预测性并简化安全模型。该说明有特定适用范围,不能概括所有交易类型。
可编程授权说明交易能够附带执行条件,但不能由此推断系统支持任意复杂的应用。判断合约能力,应查看执行环境允许哪些操作、如何表达状态,以及程序受到哪些限制。
签名有效是否代表业务逻辑正确
数字签名与脚本验证用于判断提交的数据是否满足授权条件。业务逻辑还涉及条件本身是否符合预期。例如,授权规则遗漏了必要限制,即使验证通过,也不能证明规则设计正确。
因此,交易授权、账本一致性和应用规则需要分别理解。它们解决不同问题,某一环节通过验证,不能替代对其他环节的检查。
升级与外部数据有哪些边界
交易规则需要考虑兼容性。比特币交易中的版本信息帮助节点识别验证规则,但版本字段本身不能保证所有规则变更都兼容;仍需明确不同节点如何理解和执行这些规则。
当合约依赖链外事实时,还需考察外部数据如何进入系统。预言机承担这类数据连接角色,链上程序按输入执行,并不能单独证明输入真实。对具体架构的判断,应限定在其已明确的验证规则、执行能力和数据来源范围内。