火星链 火星链
Ctrl+D收藏火星链

BAS:区块链入门 | 一文看懂比特币新区块产生的过程

作者:

时间:1900/1/1 0:00:00

这是博主挖矿科普专辑的第二篇内容,承接上一篇“比特币交易的过程”,继续通过分析比特币交易从发起到确认的全过程来一睹比特币挖矿的全貌。

比特币交易的过程实质上是一堆UTXO消耗和产生的过程,这些过程由交易发起方按照比特币协议规定的方式构造交易信息,并由比特币网络产生的新区块记录和确认,一旦交易信息由比特币区块记录并确认,交易便完成了,比特币网络也就实现了价值的转移。

在“比特币交易的过程”一文中,我们已经知道比特币的交易信息是如何构造的,但是这些信息又是如何进入比特币新区块的呢?

接下来博主将通过比特币新区块产生的过程来具体说明比特币区块是如何记录并确认交易信息的。

这里需要先安利几个知识点:

交易池,英文名称:mempool,又叫内存池,是用来存储待确认交易的地方,每个比特币挖矿节点均有自己独立的交易池,因交易池体积,最低交易费比例限制等不同,各节点的交易池也不相同。矿工在构造预备区块时,需要从交易池中选择要打包的交易。由于交易池经常被调用,它的数据被存放在节点服务器的RAM中,这就意味着交易池的体积不会太大。

声音 | Scott Hendry:央行数字货币并不需要区块链技术:2月24日消息,荷兰中央银行支付政策部政策顾问Harro Boven表示,DLT基础架构的本质在于任何一方都不应受到足够的信任,但是若发行央行数字货币,也只是信任中央银行来维护全球账本的完整性。加拿大银行金融科技高级特别总监Scott Hendry也表示,不需要DLT即可制成央行数字货币。如果仅以银行间支付的目的来看待DLT系统和当前高效的集中式系统,DLT系统似乎并没有很多好处。(CoinDesk )[2020/2/24]

挖矿节点,在比特币网络中,参与记录和验证比特币交易和区块的是一个个保存比特币数据的节点。其中有一部分节点,不仅参与记录和验证的工作,还参与比特币新区块的创建工作,他们构造新区块,并通过PoW工作量证明竞争记账权,进而获得创建新区块的权限,这部分节点是挖矿节点。早期的挖矿节点有矿工,也有矿池,但当前由于比特币挖矿难度太高,单个矿工很难赢取记账权,创建新区块。目前主要的比特币挖矿节点,是各家矿池,如F2Pool,Poolin,BTC.com,Antpool,Slushpool等。

动态 | 区块链公司HashCash与医学专家携手 通过区块链为癌症研究提供动力:据报道,总部位于加利福尼亚州的区块链技术公司HashCash计划建立一个平台,让肿瘤学家和癌症研究人员分享他们的资源,以促进癌症治疗。该平台适用于医学专业人员和研究人员,他们可以将他们的研究和调查集中在一个地方,共同寻找治疗这种致命疾病的解决方案。[2018/8/28]

UTXO库,比特币节点通过扫描节点所有交易信息,构建的UTXO集群。它包含所有未被消耗的UTXO。每当新区块产生后,UTXO库会将新区块中消耗掉的UTXO从自己的列表中删除,将新产生的UTXO加入到自己的列表中。

Coinbase奖励,又叫创币交易。比特币协议规定,每产生一个新的比特币区块,比特币网络就会产生N个比特币,作为维护比特币网络的奖励支付给创建这个区块的矿工。同时,此区块中Coinbase奖励之外的其他交易包含的所有交易费,也会合并在Coinbase奖励中,一起支付给创建这个区块的矿工。其中,N的数值在比特币诞生时为50,此后大约每4年减半一次,目前为6.25,比特币网络以这种减半的方式来控制比特币的总量。Coinbase奖励是每个区块记录的第一笔交易。

三星在官方公告中计划推出区块链物流平台Cello Square 3.0:三星在官方公告中计划推出区块链物流平台Cello Square 3.0,计划节省20%的物流运输成本。据悉,Samsung SDS于2012年首次推出Cello,该平台涉及食品库存管理和国际航运程序领域。之后,Samsung SDS一直通过战略投资和研发等方式向新领域扩张。此次,Cello Square 3.0物流平台将应用于供应链规划、运输系统。该物流平台可在手机或电脑上运行,提供海陆空时间表以及路线以供参考,并且可以识别某些航运路线出现的物流风险。[2018/6/25]

待确认的交易会先进入交易池中

当我们要发起一笔比特币交易时,交易发起方构造好交易信息,此时的交易信息是待确认的交易,它包含交易输入信息和交易输出信息。

待确认交易在经过验证后,由交易发起方向比特币网络广播,比特币网络中的节点,均可验证和收录广播的信息。其中,挖矿节点会在收到广播后,验证待确认交易信息,验证通过后,挖矿节点会将待确认交易加入到自己的交易池中。

小犀智能联合创始人:多中心导致的一些数据隔离被区块链打通了:据央广网消息,今日在央广TMT区块链沙龙上, 小犀智能联合创始人李冬妮探索了区块链的创新应用。她表示,区块链是有创新,但是它不是万能的。“不能说区块链一来就带来了颠覆,以前的技术就会黯然失色。”李冬妮认为,“我们不认为区块链带来了大数据连接底层场景的创建,很多以前不存在的场景,因为区块链的到来变成了存在。只是很多以前多中心导致的一些数据隔离被区块链打通了,因此被一些应用的技术创造了实践的条件。”[2018/5/23]

图1待确认交易进入交易池

需要验证的交易信息包括:

交易是否包含有效的输入和输出钱包地址;

交易体积是否小于区块的最大体积;

输入的UTXO是否合法;

交易输入总额和输出总额是否合理;

判断交易的输入是否有来自Coinbase的奖励,该奖励对应的币需至少有100个区块确认才能可以使用;

78%区块链相关专利申请来自美国和中国:据韩国知识产权局搜集的数据,截至2018年1月底,韩国、美国、日本、中国和欧洲已经提交了超过1240份区块链相关专利申请。其中,绝大多数(78%)来自美国和中国,而韩国占8%,日本占3%。专利产品集中应用于物流、医疗和公共服务领域。提交专利的公司中,除了区块链初创公司,还包括沃尔玛、IBM、高盛、摩根大通、万事达卡等传统大型企业。2016年专利申请数为594件,因区块链技术使得2017年之后的这一数据翻倍。[2018/3/21]

确认交易池中没有重复交易;

交易设置的交易费高于mempool的交易费比例限制,以及其他验证。

挖矿节点从交易池中选择交易,构造预备区块

当挖矿节点要构造预备区块,准备生成新区块时,会按照优先级排序,从交易池中取待确认交易。预备区块通常会预留一定空间给高优先级的交易,剩下的空间会按照交易费比例由高到低顺序一直把区块加满或者把交易池的交易用光。

但比特币区块中不仅仅包含从交易池中取的待确认交易。按照比特币协议规定,比特币的区块主要包括五个部分:魔数,区块大小,区块头,交易计数器和交易信息。如下图:

图2比特币区块的结构

其中,“魔数”是一个值为0xD9B4BEF9的常数;“区块体积”是本区块所有数据的总体积;“区块头”是可以看作是整个区块的缩略信息,挖矿用到的区块信息就是区块头;“交易计数器”用来记录区块中交易的数量;“交易数据”是区块所包含的所有交易信息,包括Coinbase奖励部分,一般来说,这部分数据占了整个区块绝大部分空间。

在比特币区块中,区块头是最为关键的一个信息。它包含整个区块的所有特征信息:

区块版本号。创建区块的比特币节点的版本信息,用于追踪比特币协议的升级和更新情况;

前一个区块的哈希值。又叫做父区块哈希,用来定位上一个区块。每一个区块都包含它的上一个区块的哈希值,针对任何一个区块的任何一个微小的改动,都会使后续区块的哈希值产生巨大的变化,如此环环相扣,确保比特币所有区块形成一条单一的链式结构,可以有效防止恶意篡改比特币区块数据的行为。

MerkleRoot哈希。在区块的交易数据列表中,取所有交易数据的哈希值,构建Merkle树,这个Merkle树的根哈希值,即为MerkleRoot哈希。如下图:

图3交易数据的Merkle树结构

由于哈希算法的敏感性,整个交易的Merkle树中任何一个交易数据有微小的改动,都会产生联动效果,导致Merkle树的根哈希值出现巨大变化。因此交易数据的Merkle树根哈希值可以看作是整个交易的指纹,用来指代区块中的交易数据。

时间戳。创建预备区块的时间。

当前目标哈希值。比特币协议规定,矿工创建的预备区块的哈希值小于目标哈希值时,这个区块才算有效。目标哈希值由挖矿难度确定,当挖矿难度变大时,目标哈希值变小,矿工要找到符合比特币网络要求的哈希值就越困难。按照当前的挖矿难度,要找到低于目标哈希值的哈希值,理论上需要一台S17矿机连续工作42年时间。因此,现在基本不存在个人自建节点挖比特币的情况。

随机数。又叫Nonce。我们可以发现,区块头信息中,区块版本号,前一个区块的哈希值,MerkleRoot哈希值,时间戳,以及当前目标哈希,都是已知信息,相对固定,不便随意更改。因此,如果要调整预备区块的哈希值,就需要引入一个可变的数据——随机数。修改随机数,就可以调整预备区块的哈希值。

挖矿节点构建好预备区块后,就会将区块头信息下发给矿工,矿工通过不断调整区块头中的随机数来变更预备区块的哈希值,当预备区块的哈希值低于比特币网络当前目标哈希值时,这个区块就是一个合法新区块。

挖矿节点会及时地向比特币网络广播新区块,比特币网络中其他比特币节点在接到广播信息后,对新区块进行验证,验证通过后,将新区块加入本地,并延长节点的区块链。此时,新区块创建并确认完毕,对应交易也完成了。

参考资料:比特币源码分析比特币区块头比特币目标哈希值比特币区块结构精通比特币

本文链接:https://www.8btc.com/media/619219

转载请注明文章出处

标签:比特币MERERKBAS比特币中国官网走势MERITERKBASK币

以太坊交易所热门资讯
MAC:比特探长:7月9日BTC行情是否向上继续进行冲击?   

行情回顾  昨天行情在白天沉沉欲睡后晚间上方位直接冲击到了9470后缓慢下降,探长晚间给的9450空单最多已经成功小幅获利近70点位,虽说不多,可解近渴.

1900/1/1 0:00:00
HTT:BKEX Global 关于支持 BNB(Binance Coin)“南丁格尔”升级的公告

亲爱的BKEXer:为支持BNB“南丁格尔”升级,BKEXGlobal?将于2020年7月9日9:00暂停BNB的充值与提现功能,期间币币交易功能不受影响.

1900/1/1 0:00:00
加密货币:A股大涨,加密货币还有机会么?

来源:加密谷Live,作者:TonyToro,翻译:Liam周一的时候,沪综指出现了五年来最大幅度的单日上涨。收盘上涨5.7%,为2015年上一轮牛市以来的最大涨幅.

1900/1/1 0:00:00
KEX:KEX Regular User Reward “0 Fee” Event Launched

Dearusers,KEXPerpetualContractTradinghasbeenwellwelcomedandconcernedbyboththemarketandouruserssin.

1900/1/1 0:00:00
谈币金辉:BTC即将达到9600

好花盛开,就该尽先摘,投资市场永远是先知先觉的人赚不知不觉及后知后觉人的收益。利润是检验实力的唯一标准!跟随是告别亏损的最好捷径!一流的策略,一流的喊单,一流的执行,绝对就是一流的盈利!行情分析.

1900/1/1 0:00:00
BTC:比特币持币地址爆增长,怎么低门槛获得比特币?挖矿屯币横跨熊牛

今年以来,持有1000或更多比特币的人数一直稳定增长。目前持有1000BTC以上的共有1882人。在鲸鱼数量增多的同时,越来越多的散户投资者似乎也在忙于买入并积累加密货币.

1900/1/1 0:00:00