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

区块链基础

区块链计算方法需要注意哪些问题:验证规则与费用边界

摘要

区块链计算涉及哈希、交易有效性验证与执行费用计量,各自有不同的输入和判断规则。理解这些方法,需要先明确所用网络及计算目标,再区分概率与确定结果、费用上限与实际消耗,并考虑分叉和执行失败等边界情况。

区块链电子发票的科技主题配图

先明确计算对象和适用网络

讨论区块链计算方法需要注意哪些问题,首先要说明计算的是什么:区块是否满足共识条件、交易能否有效支出,还是程序执行需要多少费用。这些问题对应不同规则,不能套用同一个公式。

比特币开发指南中的工作量证明和未花费交易输出规则,与以太坊文档中的Gas计量分别属于不同技术语境。方法是否适用,应由具体网络和交易类型决定。

区块链权益证明的科技主题配图

哈希计算要区分验证与概率

在比特币中,工作量证明要求区块头哈希不超过规定目标;交易通过默克尔根与区块头关联。验证一个结果是否达标,与估计找到结果需要多少次尝试,是两类计算。

拜占庭区块链的科技主题配图

平均尝试次数表达统计预期,不能据此确定下一次成功的时间。核对计算结果时,也必须固定输入数据和编码规则,否则即使采用相同算法,得到的哈希也可能不同。

交易验证需要检查状态与分叉

比特币普通交易需要引用可支出的未花费输出,输出总额不能超过输入总额,差额构成手续费。校验金额之外,还须防止同一输出被重复使用。

分叉可能让同一高度出现多个区块,因此高度不能充当全局唯一标识。比较计算结果时,应确认所依据的区块和链状态一致;交易被某个区块收录,也不能单独证明其所属分支会一直保留。

费用计算要统一单位和口径

以太坊执行费用按实际消耗的Gas乘以有效Gas单价计算。Gas表示计算资源计量,Gas单价表示单位资源的费用,两者不能混用。Gas上限和每单位Gas最高费用分别约束不同维度,也不等于最终账单。

核算时应分别记录资源消耗、单价和货币单位,再做乘法与换算。将预算上限直接当成实际费用,会掩盖执行消耗与预算之间的差别。

常见问题:失败是否仍有费用

以太坊交易在入块前因校验不通过而被拒绝,与入块后执行失败,需要分别判断。执行中耗尽Gas会回滚状态变化,但已投入的计算仍需付费。

因此,计算结果应同时说明适用条件、执行阶段和所依赖的状态。评估方法是否正确,既要检查正常情况下的公式,也要检查重复支出、分叉和资源耗尽等情况是否被恰当处理。

← 返回全部文章

延伸阅读 · 相关栏目

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