区块链 · 数字资产知识 · 行业资讯
文章库关于本站

交易平台观察

区块链与应用技术涉及哪些技术概念:从账本到智能合约

摘要

区块链应用涉及哈希、默克尔树、交易模型、节点验证、共识机制和智能合约等概念。理解这些技术,需要区分数据如何记录、规则如何验证、程序如何执行,以及链外信息如何进入系统。比特币与以太坊提供了不同层面的技术实例,其具体机制有各自的适用范围。

币圈交易所流动性的科技主题配图

账本结构:哈希与默克尔树

区块链与应用技术涉及哪些技术概念,可以从记录、验证和执行三个层面理解。比特币开发者指南展示了账本结构:区块包含交易,区块头引用前一区块头的哈希;交易哈希逐层汇总形成默克尔根。全节点依据共识规则独立验证区块。

哈希把数据关联起来,使历史内容的变化能够被检查出来。默克尔树则支持用部分中间哈希验证某笔交易是否包含在区块中。两者回答的是数据完整性和包含关系问题,不能单独证明记录对应的现实事件真实发生。

交易所币价差的科技主题配图

交易模型:输入、输出与双重支付

比特币使用未花费交易输出,即UTXO,描述可供后续交易使用的输出。普通交易的输入引用此前的输出,同一输出不能在有效链上重复花费。

数字币交易所成交量的科技主题配图

理解这一模型时,应把“钱包余额”的界面表达与底层记录区分开来。应用展示一个总额,底层验证仍需检查具体输出及其花费状态。UTXO是比特币的技术模型,不能据此推断所有区块链都采用相同结构。

共识机制:工作量证明与分叉

比特币的工作量证明要求区块头哈希满足目标条件;出现有效分支时,节点依据累计工作量选择链。因此,区块高度表示位置,却不能始终唯一标识区块。

共识关注参与节点如何遵守共同规则并确定历史记录。哈希关联与工作量证明配合,提高修改历史的成本,但“难以修改”不等于任何条件下都绝对不可改变。应用需要考虑分叉对记录状态的影响。

应用执行:智能合约与虚拟机

以太坊开发者文档将智能合约描述为特定地址上的代码和状态。交易可以调用合约函数;Solidity、Vyper等语言编写的合约需要编译,由以太坊虚拟机执行,部署和执行涉及Gas。合约之间还可以相互调用。

合约适用于能明确表达为程序条件的规则。自动执行的准确性取决于代码是否正确表达业务要求:程序按规则运行,并不意味着规则本身没有遗漏。合约组合也要求关注被调用合约的行为和依赖关系。

适用边界与常见问题

合约能直接读取现实世界信息吗?以太坊合约本身不能直接获取链外数据,需要预言机等机制提供信息。应用因而还需区分链上执行是否正确与输入信息是否可信。

多签能解决所有安全问题吗?多签通过要求多个有效签名分担授权责任,有助于减少单个密钥造成的风险,但不能代替业务逻辑检查。理解区块链应用,应分别审视记录、共识、代码和外部数据的边界。

← 返回全部文章

延伸阅读 · 相关栏目

行业资讯研究与报告政策资料交易平台观察