
先明确“分账式技术”的含义
“分账式技术”在此需要区分两种含义:如果指多个节点共同维护记录,对应的是分布式账本;如果指把一笔款项按规则分给不同参与者,则属于业务分账。两者可以结合,但不能等同。本文主要解释区块链与共享记账原理,涉及分账时仅讨论程序执行规则的通用条件。
区块、哈希和共识分别解决什么
区块把记录组织成批次,哈希为数据生成可核验的摘要,前后区块通过哈希引用连接起来。历史内容变化会影响后续关联,因此修改记录会留下可检测的差异。
节点负责保存、传播或验证数据,共识机制帮助网络在可能出现竞争记录时确定共同接受的历史。判断系统是否可信,需要同时看数据验证规则和共识机制,不能只看是否使用链式结构。
从两个网络认识不同实现
比特币开发者指南描述了以未花费交易输出为基础的记账方式:交易消耗已有输出并产生新输出,同一个输出不能重复花费。节点独立验证区块,工作量证明与累计工作量参与决定接受哪条有效链。
以太坊技术介绍采用账户与状态的视角:交易可以改变账户余额或调用智能合约,EVM执行程序,权益证明支持网络共识。执行消耗计算资源,相关费用以ETH支付。两种实现说明,区块链可以采用不同的数据模型和执行能力。
智能合约与分账的适用条件
智能合约是按代码执行的程序。若要表达分账逻辑,需要先明确参与者、分配规则、触发条件及权限,并让程序能够处理相关资产或状态。规则写入代码后,执行结果仍取决于代码是否正确。
涉及现实业务时,还要考虑程序如何获得可信输入。例如,链上程序不能仅凭一条记录就判断现实服务是否完成。区块链能够帮助核验记录及执行过程,但链外事实仍需相应的确认机制。
入门常见问题与学习顺序
防篡改是否意味着数据真实?不意味着。错误信息也可能被完整保存。交易进入区块是否就绝对不会变化?也不能一概而论,需要理解具体网络的确认、分叉与最终性规则。
是否所有分账都需要区块链?应先判断是否存在多方共享验证记录的需求,以及是否愿意承担共识、存储和执行成本。学习时可依次理解账本与交易、哈希与签名、节点与共识,再进入账户模型和智能合约,避免把某个网络的设计当成全部区块链的共同规则。