所谓的快照区块链, 简单来说, 就是指给链上出现的数据, 拍一张看起来像是定格照片一样的画面。它会把这个特定区块高度下面, 所有的账户余额、包括合约的状态、还有交易的哈希内容, 都原原本本地锁死住。
在之后的时间里, 即便这条主链发生了回滚的情况, 那张照片也不会发生任何改变。我们下面来把那些容易搞混的重点部分, 一点点拆解得清楚一些。
快照区块链跟共识啥关系
很多人容易把快照区块链和 BFT 共识混为一谈, 这两者之间其实有明显的区别。具体来说, 快照属于纯数据操作的范畴。当区块链发展到指定高度时,它会直接对整条链的状态进行一次哈希计算, 然后把得到的结果存入独立的存储结构之中, 并确保这些数据被锁定之后不再发生任何变动。
相比之下, 共识算法的核心任务是协调机制。它主要负责让成百上千个节点实现状态对齐。而快照的核心价值在于功能层面, 它主要服务于确保对齐后的结果是公开的。这使得第三方主体能够进行独立验证操作, 从而证明数据真实性, 这两者所扮演的角色不在同一个技术层面, 因此不可同日而语。
打个比方来说, 共识就像是十个人在一起开会议事, 并且通过投票的方式正式通过了某项决议。而快照则是指在上述决议已经顺利通过的后续环节里, 相关人员把那一份文件进行拍照处理, 并把拍好的照片上传到公证处去。这两种机制是需要配合着一起使用的, 不过它们各自管辖的职责范围是分开且不重叠的。

快照区块链咋用
最典型的一个落地应用实例是跨链桥。这个桥在源链进行资产锁定的时候, 会去拍一张快照。然后呢, 在目标链进行代币铸造的时候, 再拍一张新的快照。接下来把两边的哈希值拿来互相比对一下, 那么到底有没有出现多铸币的这种情况, 或者有没有少锁定资产的问题, 那就一下子就能够看得很清楚明白了。
而且这个合规审计也是高度依赖于这一招的具体的手段的。因为监管那边有明确的要求, 需要调取在某一个月份里面的整个区块链的状态数据, 这时候直接使用快照, 直接就给出结果了, 是不需要去把整条链的数据都重新回放一遍来进行计算的。
DeFi这种协议在做状态锚定的时候, 也是拿这一招来操作的, 它会快照下来关键参数, 以防止以后有人去篡改历史记录。
快照是不参与投票的, 快照也是不参与共识过程的。它所做的只有一件事。那就是把某一时刻的状态给钉死住。这么做是为后续的任意一方提供校验的条件。
