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

技术原理

区块链平台交易流程需要注意哪些问题:签名、费用与确认机制

摘要

理解区块链交易流程,需要区分签名授权、网络广播、区块收录与执行结果,同时看清地址、金额、合约调用数据和费用的含义。以太坊与比特币采用不同的交易模型,相关规则不能直接混用,链上记录也不能代替平台内部状态说明。

比特币挖矿工作量证明的科技主题配图

适用范围:先分清链上交易与平台流程

区块链平台交易流程需要注意哪些问题,首先取决于讨论的是链上状态变化,还是平台内部业务记录。本文围绕以太坊与比特币的基础交易机制展开;这些机制不能直接说明某个平台的审核、记账或到账规则。分析流程时,应分别理解用户授权了什么、网络处理了什么,以及界面显示了什么。

签名授权与交易内容

以太坊交易是账户签署的状态变更指令,包含接收地址、金额、序号、输入数据和费用参数等信息。接收方为合约时,交易可能执行合约代码。比特币普通交易则通过输入引用已有的未花费输出,并创建新的输出;花费必须满足相应的脚本条件。

区块链技术数字签名的科技主题配图

两种模型都涉及花费权限验证,但签名有效只说明授权符合相关验证规则,不能证明接收对象可信,也不能证明签署内容符合人的真实意图。理解交易需要把地址、数额与实际动作联系起来,不能只看界面上的操作名称。

智能合约区块链的科技主题配图

合约地址与实际接收方可能不同

在以太坊合约交互中,交易的接收地址可以是合约地址,具体函数及其参数由输入数据表达。因此,外层地址和金额不足以完整说明合约调用的效果。例如,代币接收方与数量可能位于调用参数中。

这也是难以辨认的十六进制数据容易造成理解障碍的原因。可读摘要能够辅助解释,但只有摘要准确对应底层调用内容时,才有助于判断签名所授权的动作。

费用参数不能跨网络套用

以太坊使用 Gas 衡量执行所需计算,Gas 上限与每单位 Gas 的费用上限分别约束计算额度和单价。费用预算与转移金额属于不同项目,上限也不等同于最终实际支出。

比特币的输入与输出模型不同于以太坊账户模型,不能用以太坊的 Gas 参数解释比特币交易。讨论费用问题前,应明确网络、交易类型及参数单位,避免把不同体系中名称相似的字段当作同一概念。

常见问题:有交易标识是否就算完成

交易标识用于识别交易,本身不能证明交易已经被区块收录。广播、等待处理、区块收录和后续确认属于不同阶段;对合约交易,还需要区分收录状态与执行结果。

以太坊还有区块最终确定的过程。界面显示“已提交”时,不能据此推断整个业务流程已经结束;反过来,平台显示的业务状态也不能单独证明链上发生了对应变化。判断流程停在哪一步,需要让状态描述与相应的链上证据对应。

← 返回全部文章

延伸阅读 · 相关栏目

区块链基础技术原理数字资产知识资料与核验