本篇文章给大家谈谈区块链交易确认次数,以及区块链已确认对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
关于交易确认数的来龙去脉
在使用 imToken 进行转账的时候,如果注意查看交易记录,会看到一个进度条,进度条右边有个如下图所示 “4/12” 字样的数字,并且过几秒钟这个数字会变为 “5/12”,“6/12” ... 一直到 “12/12”。这里显示的就是确认数,“4/12” 表示这笔交易需要 12 个确认,当前已经有了 4 个确认。
在 etherscan 上查看交易的时候,如果注意观察,在 Block Height 这一栏,会显示 xxxx(xxx block confirmations) 的字样,在下图这个例子中,显示的就是 6246347(21325 block confirmations)。这里面的 “21325 block confirmations” 就是说明该交易已经有了 21325 个区块确认,过段时间再看同一个交易,这个确认数会不断增加。
上面我们看到 imToken 和 etherscan 上显示的都有交易的确认数。那么究竟什么是 “确认”,我们该如何理解它呢?
这就和区块链的链式结构有关了,一个极度抽象的区块链的链式结构是下面这个样子的。
当我们提交一个交易,正常情况下,这个交易最终会被矿工放到某个区块中,这个时候,我们可以说,这笔交易获得了 0 个确认。当有另外一个区块链到这笔交易所在区块,也就是把这笔交易所在区块为父区块时,我们就说这笔交易获得了 1 个确认,以此类推。一笔交易获得了多少个确认,就是这笔交易所在区块后面又链接了多少个区块。
那问题又来了,交易被打包到交易里面不就可以了么?为啥还要关注确认数呢?
因为区块链有可能分叉啊!!!
公式很简单:确认数 = 当前区块高度 - 指定交易所在区块高度
有的同学可能直接就知道怎么做了:
有毛病么?
毛病大了
这样去算确认数,和不算没有区别。
正确的做法是怎样的呢?
看到差别了么?
比特币是 6 个确认,以太坊是 12 个确认,EOS 是 15 个确认。
一般来说,发生跨主体资产转移的交易,最好都进行确认数监控。常见的场景是从第三方接收一笔转账。
像通过智能合约批量给用户空投代币这种场景,我看就算了吧,你说呢?
实际做项目的时候,很多同学都不知道怎么去算这个确认数。写下此文,希望能给你带来一些帮助。还有什么不清楚的,欢迎给我留言或加我微信联系。
区块链中为什么一笔交易需要6个区块的确认,是硬性规定吗
这不是硬性规定区块链交易确认次数,这和区块链不存在任何区块链交易确认次数的关系。这个币的算法存在关系区块链交易确认次数,每一种币的确认方式都是不同的,所以这不是一个硬性规定。
比特币和瑞泰币、莱特币、狗狗币的确认次数都是不同的。
比特币交易为什么确认6个区块以上就可以证明?
为了避免双花造成的损失,一般认为,等 6 个区块确认后的比特币交易基本上就不可篡改了。举个例子来解释双花过程:假设小黑给大白发了 666BTC,并被打包到第 N 个区块。没过几分钟,小黑反悔了,通过自己控制的超过 50% 的算力,发起了 51% 算力攻击,通过剔除发给大白的 666BTC 那笔交易,重组第 N 个区块,并在重组的第 N 个区块后面继续延展区块,使之成为最长合法链。
一般来说,确认的区块数越多,越安全,被 51% 攻击后篡改、重组的可能性越低,所以6个区块并不是硬性的,只是说有了6个区块,被篡改的可能性较低。对于大额交易,当然是区块越多越好,但是对于小额效益,一个区块就够了
区块链上交易就是这么回事
区块链上交易,其实很简单,不神秘。搞清楚区块链上交易,我先看看一个日常生活中的交易。
如果把这笔交易支付方式移到区块链上,会是怎样的呢区块链交易确认次数?在说区块链交易之前,先简单说说区块链的交易记账是怎么样的。
1.区块链是什么
区块链简单说就是B的账本。区块是这个账本中的一页,用来记录交易信息,如:2017.12.14 卖出某电脑1台,进账5千元。所有区块按顺序串起来就形成区块链,即账本。
2.区块链的特点
区块链是分布式记账网络,如果不好理解,可以对比支付宝这个中心式记账网络,如下图:
中心式好比只有一个会计,交易怎么样,只有这一个财务知道。分布式好比一堆人在记同一笔账,交易一笔,所有人都知道。一个相对小众,信息只有一人知晓。一个信息公开,透明。
3.区块链交易记账
在中心式记账网络的支付宝中,转账只需要支付宝对转账行为进行确认并记录,即可完成转账并记录。
而在分布式记账网络的区块链中,每一笔转账交易,都将发送到各个节点上并得到区块链交易确认次数他们的确认后,才可完成转账并记录。
简单说,中心式记账网络一个人说了算,而分布式记账网络大家说了算,谁要是撒谎弄虚作假,很快就能识破,因为大家手里都有一本一模一样的账本。
如果A选择支付宝转账向B付款,其操作流程是这样:打开支付宝-点击转账-输入对方支付宝账户-输入转账金额-点击确认转账-输入密码。嗖的一下,钱到B账户上了。
如果A选用BTC向B付款,若当前1BTC=10万元,则A需向B支付0.05+0.001=0.051BTC,其中0.001BTC是矿工费。
其操作流程是这样:
在操作上,转账流程都差不多。可能不理解地址是什么鬼?矿工费又是什么鬼?那6个确认数又是什么东东?不急,一个个来。
1.区块链地址
地址可以理解为B的支付宝账号,A向B转账,自然需要知道对方的“账号”,这样才能转账过去。以下是个BTC的地址:
它是由数字和字母组成的字符串。
那这个地址是怎么生成的呢?是由公钥经过单向的哈希函数生成的,可以不用管,是自动生成的,不像支付宝在申请账号时还可以根据个人喜好选择支付宝账号名称。
地址还可以干嘛用呢?查“账户”余额和转账交易情况,可在btc.com网站查询任意有效BTC地址下的余额及转账记录,如下图查询的结果:
2.交易确认数
区块链分布式记账网络中,每一笔转账交易,每得到网络中1个节点的确认,记1次交易确认数。然若得到网络中所有节点确认后转账才能生效,则需要花费很长时间。因此在BTC网络中,进设计计算,当获得6个交易确认数时,可认为这笔交易就非常安全了,交易生效,转账的BTC可到账。
3.矿工费
矿工费就是A向B转账时,付给BTC网络提供者的“小费”,以激励他们为BTC网络提供服务。“小费”是可以调整的,“小费”给的多,转账速度就快。
4.交易进度查询
BTC转账一般需要0.5~1h,面对这么长时间转账,难免想看看转账进度,安慰焦虑的心情,那怎么查看呢?
可以通过地址查询,如上。也可通过 TxID 查询。
TxID 是什么呢?TxID是transaction ID的简称,翻译过来就是:交易ID。
交易信息打包发送到网络中就会生产一个TxID,可是用来查看交易的相关信息,有点类似回执。可通过btc.com网站查询任意交易ID的情况,如下图查询的结果:
到这里,可以轻松在区块链上转账交易,查询账户情况及转账进展情况。
本文由币乎(bihu.com)内容支持计划奖励
区块链交易确认次数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于区块链已确认、区块链交易确认次数的信息别忘了在本站进行查找喔。
标签: #区块链交易确认次数
评论列表