侵权投诉
订阅
纠错
加入自媒体

一文轻松看懂区块链的工作原理

2018-03-27 10:36
来源: IT之家


▲篡改了一个区块,就要修改后面所有区块

由于区块链本身的一些机制(这个机制比较细节,我们这里不讨论),计算一个区块的哈希值是极其困难的,修改多个区块的哈希值则是难上加难。这样,篡改区块链中的交易信息就成为几乎不可能的事情。这就保证了区块链的可靠性。

采矿:向区块链写入信息的方式

采矿:向区块链写入信息的方式“采矿”,就是计算出一个潜在区块的哈希值,使这个区块正式加入整个区块链的过程。一个区块加入区块链后,其中包含的交易信息才能成为事实。由于比特币设计者的一些考虑,采矿的过程需要消耗大量时间和资源。前面已经提到,计算区块的哈希值是极其困难的。具体有多困难呢?如果比特币网络中的计算机都参与哈希值的计算,平均每十分钟才能算出一个哈希值。

从事采矿活动的人,称为“矿工”。互联网上的任何人都可以加入比特币网络,成为矿工。既然采矿需要消耗大量时间和资源,为什么矿工会自愿加入呢?这是因为比特币协议规定,挖到新区块的矿工会得到比特币奖励。这是矿工采矿的动力;也因为矿工持续得挖矿,比特币交易信息才能被确认,比特币交易才能正常进行。同时,这也是比特币总量唯一的增加方式。比特币不像传统货币,它的总量不能通过国家或机构人为印发的方式增加,只能通过挖矿奖励的方式“自然地”增加。

如何避免主链分叉?

既然挖矿会有比特币奖励,比特币的交易方也会给矿工一些手续费作为报酬,矿工之间难免会产生大量竞争。如果两个矿工同时挖到了某个区块的下一个区块,那么谁挖到的那个区块有资格加入区块链呢?如果都可以加入区块链,区块链产生了分叉,这样如何保证区块链的“唯一性”呢?

区块链协议规定,如果一个分叉上的新增区块达到了六个,那么它就成为区块链的“正统”;而同一时刻其他没有达到六个区块的分叉,就会被不幸淘汰,这些区块上的交易信息也不会被认可。这就避免了区块链的分叉。由于一个区块在被挖出来后,后面必须跟上六个新区块,而平均每十分钟才能挖到一个新区块,这样,一笔交易至少需要一个小时才能被确认(被写进区块链)。

▲矿工B:我有一句喵喵喵不知当不当讲

综合上文,那么比特币交易的过程是怎样的呢?

交易无非就是一条信息:“买方-1$,卖方+1$。”(这里涉及到一些非对称密码的知识,由于不是比特币所独有,不作讨论。)当你发起一笔比特币交易后,这个交易信息就会从你的设备上,逐渐发送到整个比特币网络。

为了挖矿奖励,许多矿工都会收集你的交易信息,并拼命挖新的区块。如果一个矿工挖出了一个新的区块,他就会把你的交易信息写入区块。在这之后,他还需要再挖出六个新的区块,以保证整个区块链采用了这个区块。这时你的交易信息才能正式写入区块链,得到确认。而那些没有挖到六个区块的矿工的成果则会被淘汰。

这样,虽然是多个矿工在竞争着写入你的交易信息,最后只能有一个矿工成功地写入。这就保证了同一次交易中,你的钱不会被扣掉两次。

一旦一个新的区块正式加入了区块链,这个区块就会被同步到所有矿工的机器上,新的区块只能跟在这个区块后面。而挖到这个区块的矿工会获得一些比特币作为奖励,这也是新比特币发行的过程。

小结一下以上的要点:

区块链是比特币交易的可靠的、唯一的账本。

区块链是一个无中心的分布式数据库。它没有管理员,网络中的所有用户都可以平等地向区块链中写入新的区块。

区块根据“上个区块的哈希值”而连接成一条链。

计算哈希值的困难性,使得区块和区块链无法被篡改,保证了区块和区块链的可靠性。

一个区块后面新增六个区块才能使它正式加入区块链,这使得区块链不会产生分叉,保证了区块链的唯一性。

但同时,这也导致比特币交易至少需要一个小时来确认,不具有即时性。

挖矿奖励是比特币唯一的发行机制,也是矿工挖矿的动力。

<上一页  1  2  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

物联网 猎头职位 更多
扫码关注公众号
OFweek物联网
获取更多精彩内容
文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号