首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

区块链是怎么产生的?

区块链(Blockchain)的概念最早可以追溯到2008年末,化名为“中本聪”的神秘人士在论坛中发表了一篇论文《比特币:一种点对点的电子现金系统》,首次提出了区块链的概念。

文中提到,为解决电子货币的安全问题,可由时间戳服务器为一组,以区块(Block)形式存在的数据实施哈希(Hash)后加上时间戳,并且广播该哈希,每个时间戳将前一个时间戳纳入其哈希中,随后的时间戳会对之前的时间戳进行增强,由此形成了一个“区块链”。

区块的产生可以这样理解:因为这种点对点的交易需要记录在一个账本,所以系统设置了一个功能:每隔10分钟就产生一张用于记录这些信息的账单(即区块),但是这个账单(区块)只能给最有能力的那个人记账,证明他有能力的方式,靠解答一道极为复杂的数学题(哈希运算)。这种方式,也被称为“挖矿”。

答题开始,每个人要在系统里预留一个地址,当最有能力的A率先解出难题后,他可以得到区块,当初预留的地址自动记录在区块上。同时为了奖励他,系统会向这个预留的地址发放一定数量的比特币。所有区块连在一起,形成区块链。

区块很像数据库的记录,每次写入数据,就是创建一个区块。每个区块包含两个部分:区块头(Head),记录当前区块的元信息;区块体(Body),记录实际数据。

区块头的元信息,主要是区块生成时间,实际数据(即区块体)的Hash;上一个区块的Hash(哈希运算值)。

一个区块不等于一个节点:一个节点实际上就是一台接入区块链的计算机(服务器),任何联网的计算机都可以接入区块链,所以区块链上的节点是无数的;但是区块链上的区块是有限的,即每10分钟产生一个区块,达到一定数量后便不再新增。所以一个活跃(算力强)的节点可能有多个区块的记账权,而一个不活跃(算力低)的节点就只有很小一部分区块的记账权。

实际上在“挖矿”中,也有一些规则:

1、比如为了保证各节点信息同步,所以新区块添加速度不能太快,系统设计为平均每10分钟全网才能生成一个新区块,产出速度不是通过命令达成的,而是故意设置了海量的计算;

2、为了保证是正好10分钟产出一个区块,设计了难度系数的动态调节机制,每两周(2016个区块)调整一次,比如两周内区块平均产生速度如果是9分钟,则难度系数要调高10%,反之同理;

3、如果区块链分叉了(一个区块上接入了两个区块),采纳的是最先达到6个新区块(称为“六次确认”)的链条。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180226A0O82L00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券