
先明确讨论对象
“区块链之后的又一技术有哪些常见问题”首先涉及概念辨识:“又一技术”没有具体名称,也没有明确的技术定义。NIST的区块链概述与以太坊的智能合约安全说明,都不能据此证明某种技术已经接替区块链。以下只讨论这两类技术的通用问题,不对未指明的项目作判断。
防篡改是否意味着数据真实
NIST IR 8202将区块链概括为分布式实现、能够显露篡改并抵抗篡改的数字账本。其关于记录发布后不可更改的描述,以网络正常运行为前提。
因此,保存记录与证明事实需要分开理解。账本能够帮助参与者核对已经记录的内容,但一条信息被记录,不等于它对应的现实事件已经得到验证。适用性分析应分别考察信息如何进入系统、由谁确认,以及记录之后如何维护。
智能合约是否天然安全
以太坊的安全说明强调,智能合约可能存在漏洞,部署后的修复受到代码不可变性的约束;访问控制、测试及独立审查是重要防护手段,审计也不能发现所有问题。
自动执行不等于规则正确。合约即使严格执行了代码,也可能执行错误的业务逻辑。判断安全性时,需要关注异常输入、敏感操作权限及状态变化,而不能只看正常流程能否完成。这些讨论适用于智能合约,不应直接套用于所有新技术。
去中心化是否意味着无需管理权限
账本由多个参与者共同维护,不代表应用中的每项操作都应向所有人开放。涉及管理功能时,仍需明确哪些主体能够调用、权限覆盖哪些范围。
角色分工和多方签署可以限制单一账户的控制能力,但并不会自动消除风险。权限是否过大、不同角色是否实际独立、密钥失陷会影响哪些功能,都是需要单独回答的问题。
不能修改与可以升级是否矛盾
理解这一问题,需要区分已经部署的代码与应用预先设计的升级机制。不能默认所有合约都能直接打补丁,也不能把可升级理解成毫无约束地修改历史记录。
如果系统支持升级,升级授权本身就属于安全边界;如果不支持,则更依赖部署前的验证。测试、审查和形式化验证各有作用范围,其中形式化验证针对的是指定模型和性质,并不意味着现实系统从此不存在任何错误。