
比较前先明确系统范围
普通系统并非严格的技术分类,本文指由明确运营主体管理、通常以数据库保存业务状态的应用系统。区块链系统则通过节点验证和共识规则维护共享记录。比较两者时,关键是哪些参与方负责写入、核验和纠正数据,不能只看是否使用多台服务器。
记录一致性与历史核验
以太坊通过共识机制协调共享状态,智能合约的执行结果按规则进入链上记录。比特币用区块间的哈希引用连接历史,全节点独立验证区块,并通过累计工作量等规则处理竞争分支。两者体现了共同思路:共享记录需要可验证的规则。

普通系统中的常见问题是不同业务环节看到的状态不一致;区块链也需要面对信息传播造成的暂时差异。因此,应用必须明确何时可以把记录视为已确认,以及状态发生变化时如何处理后续业务。

重复请求与重复使用
比特币通过检查未花费交易输出来约束同一输出的重复花费。这种约束针对协议中的资产记录,并不自动覆盖所有业务上的重复操作。
对普通应用或链上应用而言,重复提交订单、重复领取权益等问题,都需要业务规则识别。同一个业务动作如何编号、哪些请求应拒绝、哪些允许重试,应在设计时明确,不能仅凭数据已经保存就认定处理正确。
权限正确不等于业务正确
以太坊使用签名等机制验证交易授权,智能合约按代码执行条件判断和状态更新。但授权有效与业务合理是两个层面:有权限发出的请求,也可能包含错误参数;程序可以准确执行,却仍不符合实际业务意图。
普通系统同样需要区分身份验证、操作权限与业务校验。区块链提供可核验的执行记录,也仍需要开发者检查程序逻辑和输入条件。
历史记录能否修改
区块中的历史数据受到哈希关联和共识机制保护,修改历史不能仅靠改动某个节点上的副本完成。不过,抵抗篡改有其机制和安全条件,不宜描述为任何情况下都绝对不可改变。
记录难以改写,也不代表录入内容必然真实。涉及现实世界的信息时,系统仍须明确谁负责提供数据、怎样核验,以及发现错误后如何追加更正记录。
适用条件与常见选择问题
需要多个参与方共同核验记录、且希望按共享规则验证状态时,区块链机制具有讨论价值;若业务由明确主体负责,主要需求是内部处理和便捷纠错,则应先评估常规数据库架构能否满足需求。
区块链也有计算、存储和共识协调成本,以太坊的执行请求还涉及资源费用。判断架构是否合适,应同时考察确认要求、权限边界、纠错方式和维护成本,不能把可追溯直接等同于性能更高或业务更可靠。