
适用范围:先区分账本与应用
银行使用区块链时,风险判断需要结合网络参与方式、权限设置和具体业务。NIST的区块链技术概述将其描述为具有篡改可察觉性和抗篡改能力的分布式账本,并强调交易记录难以更改以网络正常运行为条件。以太坊的智能合约安全文档则提示,代码漏洞、管理权限和测试局限仍会影响应用安全。这些原理可用于理解风险,不能直接证明某家银行系统安全或不安全。
误区一:不可篡改意味着数据真实
账本保护的是已经记录的信息及其历史关系。录入时存在的错误,不会因为上链自动变成事实。例如,业务凭证与实际情况是否一致,仍取决于信息采集、核验和授权流程。因此,记录有没有被改动,与记录最初是否准确,是需要分别回答的问题。
误区二:分布式意味着没有控制风险
账本由多个节点维护,并不意味着应用管理权也均匀分配。若敏感操作依赖单个管理员账户,该账户的密钥失陷仍可能影响系统。理解银行区块链风险时,应分别看谁维护账本、谁能调用敏感功能,以及谁能升级或暂停合约。节点数量本身不足以回答这些问题。
误区三:智能合约会自动保证业务正确
智能合约按照代码执行,代码中的条件可能遗漏业务限制,也可能错误配置访问权限。自动执行只能落实已经写入的规则,不能补齐未被表达的要求。对于具有升级机制的合约,还需要考虑升级权限;对于缺少修改机制的合约,则需要考虑漏洞发现后的处置困难。
误区四:通过审计就可以停止安全检查
测试和独立审查能够增加发现问题的机会,但审计并非无漏洞证明。功能测试覆盖正常流程,也不等于覆盖异常输入和边界情形。形式化验证的结论同样受模型、假设及所验证属性约束,不能扩大为对整个业务系统的无限保证。
常见问题:多签能否消除风险
多签要求达到约定数量的签名才能执行操作,可降低单个账户独自实施敏感操作的风险。但其效果取决于签名权限和密钥是否得到有效分离,不能仅凭“启用多签”判断安全。银行场景下,更有解释力的问题是:哪些操作需要共同批准、各方能做什么,以及异常发生后由谁负责处置。