标王 热搜: 装修  水泵  胶带  泰晶电子  当众  蓝筹股  八条底线  复星昆仲  明星  点名 
 
当前位置: 首页 » 资讯 » 企业动态 » 正文

------区块挖出时并不等于你的交易被最终确认------

放大字体  缩小字体 发布日期:2019-08-17  浏览次数:92
核心提示:区块链最重要的一个特征是记录其上的交易数据,一旦确认后就不能更改,且永久保存在上面。区块链的这个特性被称为“不可变性”。

区块链最重要的一个特征是记录其上的交易数据,一旦确认后就不能更改,且永久保存在上面。区块链的这个特性被称为“不可变性”。

由于区块链是去中心化的,这种“不可变”是系统本身内置的。要理解这个机制,我们需要先深入了解区块是如何创建的。

区块传播延迟

信息在互联网基础设施中传播需要时间,并不是即时的。这个传播时间,有可能是毫秒。

当矿工挖出一个区块时,它会被传播给网络上的所有人。这种传播有点类似“八卦”的传播方式,每个收到信息的人都会把它传给邻近的人,最终,这条信息会传给网络中的每个人。

但这个传播过程需要时间,它可以是几秒,也可能用时更少,网络中的每个人都需要时间来了解最新消息,且每个人接收到消息的时间是不一样的。这也是为什么每个区块的出块时间会间隔几秒钟或者几分钟的原因。

区块冲突

就像生活中的其他事情一样,区块与区块之间有时也会发生冲突。因为矿工都是彼此独立工作的,他们并不知道别人的“解题”速度,因此,有时两个人会同一时间解出谜题,即在差不多的时间里挖出同一个块。

当两个矿工将各自的块传播给网络中的其他人时,由于是先传播给邻近的人,因此每个矿工接收这两个块的时间是有先后顺序的。接收人会先入为主,把先收到的区块复制过来,然后开启新的挖矿工作。这个时候,不同节点,同时有不同版本的区块链,而这两个版本的区块链,都会被矿工们继续开采。但是两个版本的区块链增长速是不一样的,总有一条链的长度要超过另一条链。当矿工们发现网络中有一个条更长链的时候,他们会抛弃当前较短的链,转到更长链上进行挖矿。而那些被抛弃的块中的数据,需要等待重新被写入区块中。这个过程即所谓的软分叉。

还有一种极少数的情况,之前被临时分在两条链上的矿工,从此就在各自的链上继续工作,原本的一条链被分成了两条,即我们所说的硬分叉。

如前所述,因为网络中每个矿工收到新区块的时间不一致,因此区块有效性的确认需要一定的时间。对于比特币区块链来说,最终性确认通常在6个区块后确认达到。换言之,在有连续6个区块确认之后,就认为区块信息基本上没法被篡改,这笔交易就算完成了。对于以太坊,使用的值通常在30左右。这个数字不是一成不变的,在高风险交易或关键系统中,值可能会增加。

在区块链设置中,确定性保证了所有有效区块一旦被提交到区块链上就不会被撤销。确定性非常重要,比如你在区块链上进行了一笔交易,如果没有最终确认,可能一个随机产生的分叉就能撤销这笔交易。

简而言之,区块链上的交易确认不是即时的,在确认你的交易之前,系统需要一些缓冲时间。

 

http://www.rokiee360.com

 
 
[ 资讯搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

0条 [查看全部]  相关评论

 
推荐图文
推荐资讯
点击排行
最新产品
最新求购
最新行情
 
网站首页 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 会员升级 | 网站地图 | 排名推广 | 会员升级 | 广告服务 | 积分换礼 | 网站留言 | RSS订阅