
账本结构:哈希与默克尔树
区块链时代应用技术涉及哪些技术概念,可以从记录、验证和执行三个环节理解。比特币开发指南介绍了哈希连接区块、默克尔树汇总交易以及全节点独立验证的机制;以太坊智能合约文档则说明了链上程序、合约交互与外部数据的关系。两者分别帮助理解账本基础和应用逻辑。
哈希把数据映射为摘要,区块通过前一区块头的哈希建立关联;默克尔树把交易摘要逐层汇总为根。它们使数据变化能够被校验发现。交易包含证明回答的是某笔交易是否被某个区块收录,不能据此证明交易描述的现实事件真实发生。

共识与交易状态:哪些记录可以接受
比特币全节点依据共识规则验证区块,工作量证明参与竞争分支的选择,节点采用累计工作量最大的有效链。其UTXO模型用尚未花费的交易输出作为后续交易输入,防止同一输出重复花费。区块高度表示位置,分叉时同一高度可能存在不同区块。

理解这些概念时,应区分交易是否合法与有效分支如何选择:投入计算工作不能使违反规则的区块变得有效。UTXO和工作量证明是这里讨论的比特币机制,不能直接套用于所有区块链。
智能合约:代码、状态与调用
以太坊智能合约是在特定地址保存代码和状态的程序,用户可通过交易调用其功能,合约也能调用其他合约。部署与执行涉及计算资源费用。应用设计因此需要同时考虑规则如何表达、状态如何变化以及不同合约之间如何协作。
自动执行只意味着程序按代码运行,业务规则是否完整仍需单独判断。例如,权限检查是否覆盖关键操作,与程序能否成功执行是两个问题。组合多个合约时,也需要理解被调用合约的行为。
适用条件与常见问题
合约能直接知道现实世界发生了什么吗?以太坊合约不能自行获取链外信息,需要预言机将外部数据提供给它。涉及物流、天气等条件的应用,必须另外考虑数据来源及其可信度;链上执行本身不能消除输入错误。
多重签名适合什么情况?需要多方共同授权时,可以设置满足签名门槛后才执行操作的机制。它分散授权责任,但仍需合理安排签名者和密钥管理。区块链记录、合约执行与多方授权解决的是不同问题,应用应按实际需求组合这些机制。