区块链:币圈小蝶:深论挖矿机制与通证经济的复杂性_WWW

1.挖矿的基本概念

自从2009年1月3日中本聪挖出比特币的创始区块以来,区块链成为一种新的解决去中心化节点的信息同步问题的方案,其创新性不断被人们所认知。

挖矿是一种通过消耗计算机资源来提高恶意节点攻击网络成本的一种方式。该机制初次提出时主要用来阻止恶意用户向邮件服务器发送垃圾邮件。所有的用户向邮件服务器发送邮件的时候都要在邮件中填充一些随机字符,然后计算邮件内容的哈希值,只有当计算结果小于设定的值的时候,该邮件才能满足邮件服务器的接受条件。在这个过程中,用户为了发送一个邮件,需要消耗一点时间来找出一个随机字符,使得整个邮件能被邮件服务器验证通过。

直播|Zenobia - Hedera > 币圈“后浪”仙女直播周:金色财经 · 直播 主办的《 币圈 “后浪” 仙女直播周》 5月29日10:30准时开始,本期“后浪”仙女Hedera 高级副总裁Zenobia A. Godschalk将在直播间聊聊““后浪”哈希图Hedera为何吸引谷歌为之节点”,感兴趣的朋友扫码移步收听![2020/5/29]

2算力挖矿

区块链挖矿算法种类众多的原因之一就是为了防止51%攻击。在区块链中,PoW共识机制挖矿的能力与矿工所掌握的算力成正比。区块链的特性就是每个区块都指向前一个区块,这样就环环相扣,从最新的一个区块就能一次找到创世区块。但是如果一个恶意节点控制了大部分的算力,那么就可以按照下列步骤发起攻击:

币圈一哥:是反弹还是反转,这非常重要!:4月24日20:00,金色独家播主 币圈一哥 做客金色财经《币情观察室》直播间,将分享《是反弹还是反转,这非常重要!》,欲观看直播扫描下图二维码即可![2020/4/24]

2.1比特币挖矿算法

比特币作为最早的区块链系统,其挖矿算法采用的是SHA256散列函数,该函数属于SHA2系列。挖矿难度的基本运算如下:

基本单位:两周——出块总数=6*24*7*2=2016块

难度调整方式:新难度值=旧难度值*

比特币的挖矿过程主要为以下几个步骤:

香港理工大学陈宜飚:香港监管措施有望使链圈与币圈健康共行:金色财经消息,香港理工大学会计与金融学院博士陈宜飚发文《对中国发展数字货币与区块链的一点思考》称,香港把以数字货币为代表的虚拟资产管理业务纳入监管范围,并不意味着消除或降低风险——沙盒监管本身就是一种风险防范举措。作为投资者,仍然需要敬畏投资风险!但香港监管机构采取的这种做法,无疑会令国际资本对中国的区块链项目和数字货币项目的投资更有信心,也更积极。由于香港资本市场与受监管的合规平台的存在,“币圈”与“链圈”未必需要分离而各自发展。所以,未来最可能的结果是:因为香港,币圈和链圈不必脱钩,而是携手共进。(清华金融评论)[2020/3/16]

(1)矿工收到用户的交易信息后,首先验证,然后构造交易的默克尔树,得到一个默克尔树根哈希值,打包进区块头中。对于矿工来说,最优的选择就是先打包手续费高的交易,这样才能保证其利益最大化。

万向副董肖风论证 “币圈一日,人间十年”:万向副董肖风表示:“区块链不依赖摩尔定律,因为它不依赖于硬件发展,所以它发展比过去的互联网更快,会快好几倍。”[2018/2/28]

(2)填充区块头,组成80个字节的比特币区块头。

(3)将80个字节的区块头信息进行双SHA256运算,得到一个32字节的哈希值。之后判断得到的结果是否小于当前区块的难度值,如果已达到,则该区块就是合法的区块。矿工把它加入到主链中,之后开始计算下一个区块。如果不小于当前区块难度值,则继续更换区块头中的随机数值,重新对区块头进行双哈希运算。

3.1存储挖矿

存储挖矿分为四部分:抵押、接收订单、密封和证明。

3.1.1抵押

抵押的主要目的是为了保证存储矿工能够为网络提供存储服务。存储矿工首先在区块链上进行一次抵押交易,该交易主要通过保存一个抵押品来抵押存储矿工的存储容量。而当存储矿工成功生成了他们提交数据的存储证明,那么存储矿工先前的抵押品就可以退回。如果存储矿工未完成相应的存储证明,那么将会失去部分数量的抵押品。一旦区块链上(分配表)出现了一个抵押交易,那么矿工就可以向存储市场提供他们的存储空间,并且可以设置一定的价格,并生成一个卖单挂到市场的订单账本中。

3.1.2接收订单

接收订单的主要目的是为了从存储市场中获取存储请求。系统就会检查矿工在存储市场上的卖单是否与对应的来自客户端的买单相匹配。一旦卖单和买单想匹配,那么客户就会将自己的数据发送给存储矿工。而实际上,矿工收到的是一个个数据片。当存储矿工收到数据片后,就把数据存储到自己的硬盘中,与此同时,矿工和客户端都会签署一个交易订单,并将之提交到区块链上。

3.1.3密封

密封的目的是为未来的证明准备数据片。存储矿工的存储空间被分为几个扇区,每一部分都包含分配给矿工的数据片。网络通过分配表对每个存储矿工的各个存储扇区进行跟踪。当一个存储扇区存储满了之后,该扇区就会被密封。密封操作过程很慢,它需要依次将一个扇区的数据转换保存为一个副本。而每个数据的物理拷贝都与存储矿工的公钥相关联。

3.1.4证明

存储矿工需要证明他们存储了提交的数据片。当存储矿工被分配到一个数据的时候,他们必须重复生成数据副本证明,以此来保证存储矿工确实保存了数据。该证明将推送到区块链中,并被全网验证。

3.2检索挖矿

检索挖矿分为两部分:接收订单和发送。

3.2.1接收订单索引

矿工从索引市场中获取数据请求。索引矿工通过向网络中传播卖单来宣布他们的数据片。他们设置一个价格,然后添加一个卖单到市场的订单账本中。然后,索引矿工检查他们的订单是否与对应的客户买单相匹配。

3.2.2发送

一旦订单匹配,索引矿工将会发送他们的数据片给客户端。客户端收到据片后,矿工和客户端签署一个交易订单并提交到区块链中。详细交流了解请加笔者!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:46ms0-4:57ms