.
点击注册
你的位置: usdt数字币钱包 > dcbox小金库钱包 > 比特币系统中的区块链是怎么形成?挖矿怎么挖?
数字货币热门文章

比特币系统中的区块链是怎么形成?挖矿怎么挖?

发布日期:2022-03-31 01:19    点击次数:115

比特币系统中的区块链是怎么形成?挖矿怎么挖?

  2008年金融危机的时候dcbox小金库钱包,11月1日,网络极客中本聪(化名),他在网络上发表了一篇文章《白皮书》,全名叫《比特币点对点的点电子交易系统》,他在书里里边提到了这样一种构想,去中心化的电子记账系统。这到底是一个什么样的记账系统?这个系统干吗用?比特币什么?区块链又是什么?挖矿又是挖什么以及背后的原理又是啥?

  这篇文章的整理完全是出于兴趣,想将这一块的知识稍微按自己的思路整理出来,分享给跟我一样是区块链小白的小伙伴们。如果你觉得下面有些内容不正确,请在最后的评论区留言告诉我哈。

  电子货币,也是数字货币,基于密码学的一种货币。总数量将被永久限制在约2100万个。现在是1BTC == 9287.01USD

  区块链是一些交易记录数据,并且是增长的,以及利用密码学原理将区块链接在一起。每一个区块(除了创世区块)主要包含了:

  区块链由多个相连的区块构成,每个区块记录了一段时间内网络中比特币的交易情况,可以将区块视为账簿中的帐页。第一个被最早构建的区块称为创世块,拥有一个唯一的ID标识号。除创世块外,每个后续建立的区块均包含两个ID号,一个是该区块自身的ID号,另一个是前序区块的ID号。通过ID号间的前后指向关系,所有区块按序相连就构成了区块链。

  主链(黑色)由从创世区块(绿色)到当前块的最长系列块组成,孤儿块(紫色)存在于主链外,紫色块相当于是记账没有成功。

  在注册新用户的时候,BTC系统会给用户生成一个随机数,然后根据随机数生成一个叫私钥的字符串,有了私钥后,再使用椭圆曲线乘法产生一个对应的公钥(这个过程不可逆),有了公钥,我们就可以使用哈希函数生成比特币地址。这个地址就相当于是比特币的钱包,比特币就是钱包里的钱。交易过程就是从一个钱包转到另一个钱包,一个地址转到另一个地址。

  拥有BTC私钥,就拥有对钱包中资金的所有权和控制权。私钥必须要进行备份,以防意外丢失,因为私钥一旦丢失就难以复原(公钥不能反向生成私钥),其所保护的比特币也将永远消失。私钥可以对一个字符串进行加密,而公钥可以对加密过的字符串进行解密,这种加密方式称为非对称加密。只有你自己可以对交易信息进行加密,其他任何人可以用公钥来解密你加密过的信息。

  假如现在A想转5个比特币给B,怎么判断这笔交易是真的由A发起的,而不是其他伪造的?上面那些私钥和公钥就是为了防伪设计的。

  A首先将这条交易信息进行哈希运算,计算出数字摘要(其实就是一个字符串),再利用自己的私钥来加密生成一个密码(加密过的字符串)。

  A再将这条交易记录、公钥和密码广播出去,所有记账的人(矿工)都会收到这笔交易,他们就会验证这笔交易的真实性,这个过程就包括将交易信息进行哈希运算,计算出数字摘要(摘要1),再利用公钥和密码进行解密出数字摘要(摘要2),验证摘要1和2是否相同,这样就保证了交易的安全性。

  我们进行交易的时候,最重要的一件事就是记账,我付给你多少钱,付完钱之后卡里还剩多少钱,这个交易记录目前是银行在记账,不管用信用卡、支付宝,还是微信等等,都是银行来记。我们信任银行,因为银行的背后是国家的信用。但现在区块链系统中,系统中的每个人都可以有机会参与记账。为什么要去记账呢?因为记账是有奖励的。

  假设有四个人甲乙丙丁,相互之间进行交易,甲支付给乙5个比特币,乙支付给丙3个比特币,丙支付给丁2个比特币。

  这些交易将会都被广播出去给所有想参与记账的人(矿工),既然很多人都可以记账,但是以谁为准呢?

  比特币系统每10分钟必须要产生一个区块,在这个10分钟时间之内,谁算的最好最快,那Ta将会拥有记账权,也因此将获得一定的比特币奖励和手续费,2100w个比特币就是通过着花样的分时在分发着。记账的人将在这个时间段发生的交易进行打包成一个块,这个块就叫区块,大小是1M左右,大概可以存4000条左右的交易记录,然后再将这个块链接到其他块上,形成成了一条链,所以叫区块链。

  中本聪想了一个方法,叫工作量证明。意思就是每一个参与记账的用户都需要去做一道很难的数学题,做出来了,你就有去权力进行记账并打包成块。这个题难到什么程度呢?难到没有任何一个人能够直接通过脑子算出来。必须要要一个数一个数去尝试,直到和结果匹配了,就算是计算出来了,谁先算出将会拥有记账权。

  奖励包括系统发的比特币还会包括每笔交易的手续费,A转账给B,A将多付一点点手续费。记账人的奖励也不是固定不变的,每10分钟会产生一个新的区块,最开始第一个区块的产生的奖励是50个BTC,过了四年之后每产生的区块只有25个BTC的奖励,再过4年,就是12.5个,就是每四年,奖励就会减半,最后算下来总共有2100个BTC。

  输入稍微有丁点不同,输出可能完全不一样,虽然都是一串由1和0组成的256位的数字,但结果可能完全不一样。难点在正向算容易,通过输出倒推输入很难。

  在这个计算过程,SHA256算法输入字符串包括什么呢?主要包括前一个区块的头部信息(header hash from block N-1)、待打包成区块的交易记录账单(Transactions)、时间戳等等,最重要还有一个随机数。将这个合并的字符串做两次SHA256运算,将会得到一个256位的二进制数。

  这个值必须要满足前 N 位必须是0,怎么算才能算出前N位是0呢?就只能改变随机数一个一个去试,只有满足了要求才有资格去记账打包。这个新计算出来的值作为新块的头部,然后打包成新区块,再链接到后边去,链接成功后将会获得奖励和手续费,这就是挖矿的过程和背后的原理。一般来说,计算机(矿机)的计算能力越强,就越有希望计算成功。

  前N位必须是0,这个N是怎么设置呢?每个块的N值不一样。很显然,前面的0越多,题目的难度就越大。0出现的概率是1/2, 如果需要前面N为0,那么概率就是(1/2)的N次幂。如果需要保证每10分钟必须要出一个新块,就需要调整N来实现。

  还有很多内容没有涉及到,但是将这些整理出来,对于我这个区块链小白来说,也花了不少时间,所以非常希望这篇文章有帮助到大家对比特币、区块链和挖矿相关的知识有丁点帮助。

两个骰子中比较小的一个点数相加之后确定牌的方位,那么上面的就叫做棍子,否则就都不算。如果说翻出了花牌中的春和梅dcbox小金库钱包,那么剩下的就是棍子,如果翻出中发白,那么剩下的也就是棍子了,所以说其实溧阳花麻将技巧都在规则中了。



----------------------------------