主页 > 怎么退出imtoken钱包 > 北京大学肖真老师《区​​块链技术与应用》公开课笔记8-比特币挖矿

北京大学肖真老师《区​​块链技术与应用》公开课笔记8-比特币挖矿

怎么退出imtoken钱包 2023-01-18 12:16:48

全节点介绍(第八期视频第二三十一期)

光节点介绍(第八个视频第3点)

比特币网络中的大多数节点都是轻节点。如果你只是转账而不是挖矿,则不需要使用全节点。在挖矿过程中,如果听到有人出块,则该块是合法的,它正在延伸最长的合法链。那你该怎么办?

您应该停止挖掘那些国家比特币挖矿合法,在本地重新组装候选块,然后从头开始挖掘。因为如果你挖掘新发布的交易,本地组装的区块中包含的交易会发生变化,一些交易可能已经包含在新发布的区块中。此外,区块头的内容也会发生变化,比如区块头中交易组成的默克尔树的根哈希值,以及指向前一个区块的指针,这些也会发生变化。

这样做很可惜吗?挖矿的特性之一是无记忆性。无论您是继续开采原始区块还是停止开采新组装的区块,成功的概率都是相同的。只要所需的 nonce 值没有被挖掘,它被挖掘了多长时间都没有关系。

即使一个合法的区块被开采并发布在区块链上,也不能保证胜利。有可能你发布的区块最终没有成为最长的合法链,可能会有一些冲突,其他人可能同时发布一些合法区块,或者有一些你不知道的双重支出,使你的一些块交易变得冲突。

比特币如何确保安全?两个方面:①密码学②共识机制

①如果别人没有你的私钥,就无法伪造你的签名,所以他们无法转移你账户里的钱。(前提是系统中拥有大部分算力的矿工是好的,遵循协议,不会接受没有合法签名的交易。没有这些,密码保证是没有用的。)

那些国家比特币挖矿合法_比特币哪些国家合法_挖矿莱特币好还是比特币好

比如你去银行取钱,你必须出示法律文件按规定取钱,然后银行工作人员才能给你钱。合法证书相当于加密签名。密码学的本质确保其他人无法伪造您的签名,因此无法伪造您的身份。生成私钥和签名时,必须有良好的随机性来源,生成的随机数必须足够随机。但这些还不够。银行工作人员必须有足够的意识,不要将钱交给没有法律文件的人。只有这两项可以结合使用,以确保其他人无法从您的帐户中转移资金。

矿机:矿机的演进趋势越来越专业化。最早使用的是普通的CPU挖矿,比如家用电脑和笔记本电脑。但是,购买一台专门用于挖矿的计算机是非常不经济的。计算机中的大部分内存是空闲的,只有一小部分内存用于挖矿,而CPU中的大部分部分也是空闲的,因为挖矿中计算哈希值的操作只使用了少量的通用 CPU 中的指令。硬盘等很多资源也是闲置的,所以随着比特币挖矿难度的增加,用CPU挖矿和用通用电脑挖矿太划算了。

于是挖矿转移到了第二代设备:GPU。GPU的效率相比CPU有很大的提升,主要用于大规模并行计算。但是,使用 GPU 进行挖矿仍然有点浪费。GPU 专为通用并行计算而设计。当用于挖矿时,许多组件仍然处于空闲状态,例如用于浮点计算的组件。这些组件对于深度学习很重要,但比特币仅在整数挖掘中运行。因此,虽然GPU的效率提升了很多,但还是有很多浪费。GPU 的价格在最近几年迅速上涨。有人将其归因于深度学习的流行。事实上,许多 GPU 都用于挖矿。不过,也有好消息。随着比特币挖矿难度的增加,

有一些新开发的加密货币,有的还在使用GPU挖矿,现在更多使用ASIC芯片进行挖矿,这是专门为挖矿而设计的芯片,上面没有多余的电逻辑,整个芯片是为比特币而设计的挖掘和计算哈希值的操作。它的性价比是最高的。这个芯片除了挖矿不能做任何事情,而为某种加密货币设计的ASIC芯片只能挖矿这种加密货币。除非这两种加密货币使用相同的挖矿难题。

一些加密货币刚发布的时候,为了解决启动问题,会故意利用现有的加密货币挖矿难题,比如和比特币一样的挖矿难题,以吸引更多的人来挖矿。这种情况称为合并挖掘。除了这种情况,其他的就是一个芯片只能挖一种加密货币。ASIC芯片的生产周期需要一年,但与其他通用芯片相比,ASIC芯片的发展速度已经非常快了。

在如此长的生产周期中,如果比特币价格发生剧烈变化,前期投入的研发费用可能会白费。从历史上看,比特币的价格变化是剧烈的。比特币价格在几个月内下跌了80%,然后慢慢回升的情况已经发生过几次。

挖矿莱特币好还是比特币好_比特币哪些国家合法_那些国家比特币挖矿合法

如果比特币价格大幅下跌,挖矿可能会赔钱,而且可能无法支付电费。即使在比特币发展的黄金时期,当价格不断上涨时,挖矿也是有利可图的。但竞争也在加剧,定制的 ASIC 芯片可能会在几个月内过时。ASIC矿机刚上市的时候,大部分利润都是在上市的前两个月获得的,因为此时它的算力是同类产品中最强的。后来随着更强矿工的出现,可能会被淘汰。所以购买ASIC矿机的时机非常重要,现在需要提前预定。一些不法厂商,ASIC矿机生产出来后,不立即提供给消费者,但是用它挖矿一段时间来赚取比特币,等到最赚钱的黄金时间,也就是前两个月过去后,再将矿工发给用户。当比特币系统中的算力突然大增时,就意味着有大公司生产了新的ASIC矿机。因此,在挖矿热潮中真正赚钱的不一定是矿机用户,而可能是卖矿机的大厂商。

矿机的变化趋势是从通用型向专业化方向发展。CPU是通用计算,GPU是通用并行计算,ASIC是专用计算。ASIC 一旦过时就过时了,不像 CPU 和 GPU 可以做其他工作。很多人认为这样不好,不符合去中心化的理念,也违背了比特币设计的初衷。最民主的情况是大家都用家里的CPU电脑来挖矿。后来改成GPU噪音很大。一些新的加密货币被设计为替代采矿难题。它的设计出发点是asic电阻(anti-asic芯片),目的是让通用计算机参与挖矿过程。

挖矿的另一个趋势是大型矿池的出现。即使单个矿工使用 ASIC 芯片,挖矿平均是有利可图的,但收益非常不稳定。在比特币系统中,平均每 10 分钟产生一个区块,这意味着整个比特币系统中的所有矿工平均每 10 分钟就会产生一个区块。但如果是特定于某个矿工,他可能要挖很久,如果他用矿机,可能要一两年才能挖。这就像买了一张彩票,如果你挖到它,你就会中大奖。单个矿工还有其他问题,除了挖矿(本课开头介绍的那些),他还有全节点的其他职责。

因此,我们需要引入一个矿池。所谓矿池就是把这些矿工组织起来。总的来说,矿池的结构一般是一个全节点驱动多台矿机,一个矿池有一个所有者,称为矿池管理员。下面连接了很多矿工。这些矿工只负责计算哈希值,全节点的其他责任由矿工承担。他负责监控在线交易,将这些交易组织成区块,同时查看其他节点是否先发布区块,如果是,看如何调整……

ASIC芯片只能负责计算哈希值,不能执行全节点的其他功能。矿池似乎还解决了另一个问题:收入不稳定。单个矿工的收益是不稳定的,所以大家一起工作,然后分配收益。

那么收入应该如何分配呢?一般来说,矿池有两种组织形式。一个就像一个大型数据中心。一些互联网公司有上千台服务器,大型矿池也有上千台矿机。,如果这些矿工属于同一个组织,那么收入如何分配都无所谓。

挖矿莱特币好还是比特币好_比特币哪些国家合法_那些国家比特币挖矿合法

但也有来自不同机构的矿工,第二种组织方式:分布式。矿工和矿工不在同一个地方,可能分散在世界各地。矿工加入矿池后,按照矿池规定的通信协议与矿工联系。矿工将计算哈希值的任务分配给他。矿工完成计算后,将计算结果反馈给矿工,在未来获得区块奖励时一起分配。

如果矿工来自世界各地,不属于同一个组织,收益应该如何分配?是否可以平均分配利益?比如每个矿工挖一个区块,得到一个区块奖励,然后平均分配给其他矿工,这样可以吗?? 不,因为会有矿工偷懒。所以必须按照矿工的贡献来分配,也就是这里也需要工作量证明。那么如何证明每个矿工做了多少工作呢?

为什么矿工的收入不稳定,因为挖矿太难了,如果降低挖矿难度,挖矿就会变得稳定。如何降低难度?之前的要求是矿工必须找到一个随机数,并使用该随机数计算区块头的哈希值。前面至少有 70 个 0 是有效块。降低挖矿难度后,比如前面只有60个0,所以挖出来的就叫做一个份额,这个份额就叫做一个几乎有效的块。矿工挖出份额或几乎有效的区块后,将其提交给矿工。矿工拿到这个区块有什么用?用于证明矿工所做的工作量,仅此而已。矿工无法获得整体奖励或任何好处。因此,矿工计算每个矿工提交了多少这样的股票。在将来,在某位矿工实际挖出合法区块后,区块奖励将根据每个矿工的工作量和提交的份额数量进行分配。.

为什么这是可行的?每个矿工挖矿的概率取决于他尝试的随机数。他尝试的随机数越多,他能找到的份额就越多。

有没有可能矿工挖出合法区块后,不提交给矿工,而是秘密发布,获得区块奖励?也就是提交了平时挖到的份额,但是没有挖到合法区块。提交?不可能,因为每个矿工的任务是由矿工分配的,矿工负责组装一个区块,然后交给矿工去尝试各种nonce,而且调整nonce进行挖矿是不够的,需要要调整coinbase参数。因此,矿工会将不同coinbase参数对应的nonce值的范围交给不同的矿工去尝试。那么这个块中包含什么?coinbase 交易中包含收款人的地址,这个地址填的是矿工的地址,也就是矿池管理者的地址,所以矿工挖完区块后,如果不自己提交给矿工,不发出去也没用。里面的付款地址是矿主的,不能取钱。因此,只要按照矿工分配的任务进行挖矿,就不可能窃取出块奖励。

如果他一开始就无视矿工的任务,自己组装一个区块,偷偷把支付地址改成自己的地址怎么办?那么如果他将份额提交给矿工,矿工将不会识别它,因为交易列表在其中。变了,coinbase交易中的内容变了,计算出来的默克尔树的根哈希值也不同了。在这种情况下,矿主不会给他工作证明。那相当于从一开始就是矿工单独工作,与矿池无关。

那些国家比特币挖矿合法_挖矿莱特币好还是比特币好_比特币哪些国家合法

虽然不可能盗取区块奖励,但是会不会有人找麻烦,比如平时挖一个份额,提交给矿工作为工作证明。在他挖出一个真正合法的区块后,把它扔掉。有可能虽然没有经济利益,但可能是另一个矿池派来的卧底,不希望这个矿池获得区块奖励。这些矿工仍然会分享红利,这是其他矿工开采的区块奖励。

如图(第八个视频第38节)是各个国家的矿池分布比例。中国矿池占全球的81%,远超其他国家。因此,从矿池的占比来看那些国家比特币挖矿合法,中国的总算力是具有绝对优势的。

如图(第8个视频38分24秒),如果看单个矿池,2014年有一个矿池叫GHash.IO。该矿池的算力占全球算力的一半。多于。当时引起了一些恐慌,这块矿石的算力足以发动51%的攻击。此事件公布后,矿池主动大幅降低算力占比,以免动摇大家对比特币的信心。

如图(第八个视频38分56秒),2018年各矿池的算力分布,似乎没有那么集中,GHash.IO矿池已经停止运行。当然,挖矿的中心化程度还是比较大的。几个大型矿池占比相当大,但没有一个矿池占比超过50%。这看起来比较安全,但可能只是表面现象。如果一个组织拥有一半以上的算力,则不必将算力集中在一个矿池中,而是可以将算力分散到多个矿池中,在真正需要发起一个矿池的时候再集中攻击。攻击。

矿工切换矿池非常容易。加入矿池就是按照矿池的约定联系矿工。矿池将组装好的区块信息发送给矿工,矿工可以尝试各种nonce值。

所以这就是矿池带来的危害。如果没有矿池,如果攻击者想要发起 51% 攻击,攻击者必须投入大量成本购买足够多的矿机,才能达到系统中一半以上的算力。有了矿池之后,他可能只占算力的一小部分,只要能吸引足够多的矿工和足够多的不明真相的人加入他的矿池。

那些国家比特币挖矿合法_比特币哪些国家合法_挖矿莱特币好还是比特币好

一般来说,矿池主要收取一定比例的区块奖励作为管理费。矿工也按比例收取管理费,有的按出块奖励的比例收取,有的按交易手续费收取。一些恶意矿池在发起攻击之前,可能会故意将管理费降低到非常低的水平,甚至亏本获利,然后在吸引足够多的矿工加入后才能发起攻击。这是大型矿池的一个缺点,使 51% 攻击更容易。

如果一个矿池占算力的一半以上,它会发起什么攻击?最常见的一种是分叉攻击。假设一个区块链,其中一个区块包含一个大交易,在等待几个确认区块后,它认为自己是安全的。然后有人可能会在交易之前对区块发起分叉攻击。

看起来追赶的路很长,但是如果你有51%的算力,最后还是可以成功进攻的。另外,不要以51%作为绝对阈值,可能低于51%。哈希率都是估计值,并且在不断变化。

攻击者还能做哪些其他坏事?你也可以做抵制(封锁领域)。例如,攻击者不喜欢某个账户,怀疑某个账户参与了非法交易,想要封锁该账户,所有与该账户相关的交易将不被允许上链。如果A在区块链上发布了一笔交易A→B,攻击者会立即分叉,从而产生一个不包含该交易的区块,并且与A相关的所有交易都不包括在内。

这种攻击和分叉攻击有什么区别?他不需要等待接下来的几个确认区块。这时候如果攻击者等待确认块,就是为了让B放心。B认为后面有6个确认块,没问题,然后攻击者发起分叉攻击。如果目的是抵制,则无需等待下一个区块产生。A→B 交易一上链就会分叉,越快越好,因为攻击者希望别人挖他的链。

如前所述,某些恶意节点故意不将某些交易写入区块是可以的。不过没关系,下面的块还是会被包含进去的。但如果这个坏人拥有 51% 的算力,他可能会凭借自己的算力公开抵制他想抵制的交易。这样,其他矿工就不敢随便打包交易了。

那么攻击者是否有可能在掌握了51%的算力后从其他人的账户中转账呢?这是不可能的。因为他没有别人账户的私钥,所以没有办法伪造签名。如果他依靠自己强大的算力,强行将一笔没有合法签名的交易发布到区块链上,结果会是什么?它会导致分叉。因为诚实的矿工会沿着另一个叉子挖,不会挖下他发布的区块。所以偷硬币是不可能的。

总结:矿池的出现减轻了矿工的负担。矿工只需要挖矿计算哈希值,其他的一切都由矿工完成。矿工的收入分配也更加稳定。但矿池的出现也是有害的,发起51%攻击变得更容易。他自己不一定有这么强的算力,只要调动这些算力就行。

这有点类似于云计算中的按需计算。通常不需要维护大型的计算机集群,需要时可以随时调用。在矿池的情况下,它是按需挖矿。