
账本、哈希与共识
落地应用区块链项目涉及哪些技术概念,可以从数据怎样记录、规则怎样执行、外部信息怎样进入系统三个问题理解。比特币和以太坊提供了不同的技术实例,具体机制不能直接套用于所有区块链。
比特币全节点独立验证区块;区块通过前一区块的哈希相连,默克尔树汇总交易。工作量证明与累计工作量参与链的选择;交易输入引用未花费交易输出,即UTXO。这些机制共同约束重复花费,并提高改写历史记录的成本。

交易模型与业务状态
设计应用时,需要先说明系统记录的对象,以及允许发生的变化。例如,凭证由谁持有、哪些操作需要授权、同一项权利能否重复使用。交易模型决定这些约束怎样表达,不能仅凭界面上的“账户余额”理解底层数据。

默克尔证明能够用于验证交易是否被纳入某个区块,但业务判断还有其他条件。某条记录被收录,与记录描述的现实事件是否真实,是两个需要分别验证的问题。
智能合约与执行成本
以太坊智能合约是在地址上保存代码和状态的程序,可通过交易调用;Solidity等语言编写的代码需编译后供虚拟机执行。部署及链上执行涉及Gas,合约之间可以调用。合约依赖预言机获取链外信息,多签合约则可要求达到签名门槛后才执行操作。
适合交给合约的规则,应有明确的输入、权限和结果。例如,提交者是否有权变更记录,可以表达为程序条件;需要人工判断的争议,则需要额外的处理机制。执行成本也意味着业务设计应考虑哪些状态确有必要写入链上。
预言机与权限边界
涉及物流状态、设备读数等外部信息时,关键问题是数据由谁提供、怎样校验,以及错误输入会影响哪些结果。预言机建立数据入口,应用仍需明确数据来源的可信条件。
多签适用于需要多人共同授权的操作。它可以分散单一密钥承担的责任,但签名门槛、人员可用性和授权范围都需要匹配业务要求;多人同意也不能保证输入信息正确。
适用条件与常见问题
区块链是否能保证业务真实?链上验证主要检查记录是否符合协议和程序规则,现实信息仍需相应证据。智能合约是否能代替所有业务流程?只有能够明确编码、并具备所需输入的部分,才能按程序自动执行。
应用还应区分交易提交、区块收录和后续确认。比特币可能出现竞争分支,因此收到交易或看到一次收录,不能直接理解为永久确定。业务系统需要结合所用网络的确认机制处理状态变化。