
先理解账本的安全边界
NIST《区块链技术概述》将区块链描述为分布式实现、具有篡改可察觉性与抗篡改能力的数字账本,并将已发布交易难以更改的表述限定在网络正常运行条件下。入门研究首先要理解这个条件:安全属性依赖系统如何运行,不能仅凭“区块链”这一名称判断可靠性。
可以从三个问题建立知识框架:记录如何被验证,参与者如何就记录达成一致,发生分歧后如何确定认可的历史。这些问题分别帮助理解交易有效性、共识和历史记录稳定性的关系。
区分不同的风险结果
以太坊权益证明攻防文档把共识攻击的主要目标分为链重组、双重最终性和最终性延迟,并讨论社会层协调受到干扰的风险。这提供了一种按攻击结果分类的思路,其具体机制分析适用于相应的以太坊协议背景。
链重组涉及被认可的区块历史发生调整;双重最终性涉及冲突分支都获得最终确认;最终性延迟则意味着系统迟迟无法完成最终确认。研究时应分别考察历史是否稳定、确认能否推进以及分歧能否解决,避免将所有异常笼统称为“链被攻破”。
把攻击结论放回适用条件
阅读攻击分析时,可以依次记录研究对象、攻击者能力、触发条件和预期影响。例如,分析对象是尚未最终确认的区块,还是已经最终确认的历史,两者需要讨论的安全保证并不相同。
共识机制、分叉选择规则、消息传播条件和参与者行为都会影响分析范围。某种协议下成立的推论,需要核对这些条件后才能用于另一个系统。文献中的理论可能性,也应与实际发生的事件分开表述。
常见问题与入门方法
抗篡改是否意味着绝对不会改动?不能这样理解。研究应说明账本在什么运行假设下保持稳定,以及假设遭到破坏时可能出现什么结果。
共识受攻击是否等于任意账户都能被盗取?两者不能直接画等号。区块排序与确认问题,需要同交易签名、余额等有效性检查分别分析。
入门笔记可以为每项风险保留四项内容:需要保护的属性、攻击成立的前提、可能出现的后果、防御依赖的条件。这样能够把技术描述转化为可核对的问题,也能清楚标出尚未得到证据支持的判断。