主页 > imtoken官网下载2.0 > 比特币2140就用完了?我用python算了一个账

比特币2140就用完了?我用python算了一个账

imtoken官网下载2.0 2023-02-05 07:44:52

什么是比特币

想直接看计算过程的同学可以跳过这一段

首先,比特币是一种直接进行点对点交易的虚拟货币比特币哪一年开始,每一笔使用比特币的交易都需要被记录下来。

比特币最重要的思想之一是去中心化。 以前是银行记账,现在不用银行了,发动网友参与记账。

那么问题来了,记账占自己的电脑资源,又费电,怎么激励人帮忙记账呢? 方式是你做一次账户,我给你一定数量的比特币奖励。 这样一来,大家就会争先恐后地帮忙保本。 如何解决“竞争记账”问题?

大家都知道散列函数是一种单向陷阱门函数,即可以从函数的输入快速计算出输出,但是看到输出就无法计算出输入。 所以给你一个 y 的值,没有比暴力破解 x 更快的找到 x 的方法了。 比特币的规则是让你找到一个指定规则的y值对应的x值。 凡是想帮忙记账的,都会用蛮力算出x值。 谁先计算出正确的x,谁就有资格记录账户并获得比特币奖励。 这种暴力和穷举的过程是耗时耗电的,所以我们称之为挖矿。 这也是比特币的发行渠道。 通过“挖矿”挖出比特币后,我们就可以用它来买东西了。

还有一个问题比特币哪一年开始,就是拿着国家发行的钞票买东西,何苦用比特币呢? 举个例子,你知道暗网吗? 简单来说,暗网就是搜索引擎搜索不到的网络。 一些黑市交易是在暗网上进行的,这些交易使用的是比特币,因为比特币点对点交易具有高度的匿名性。 两个完全不认识的人可以相互信任完成转账,不会像传统的银行转账那样留下交易痕迹。

为什么比特币会在2140左右耗尽?

在比特币诞生之初,比特币的创造者,一位或几位匿名的中本聪,制定了以下规则:

1、比特币总量2100万枚

2、2008年开始使用比特币时,每记账赚取50个比特币。

3、每记录210,000个区块,收益减半。

4.每10分钟记一次账。

根据这些规则,我们将初始总量设置为 2100,000,然后设置一个周期,每 10 分钟消耗一次比特币,直到比特币总量下降到 0.0001 量级。

import matplotlib.pyplot as plt
sum = 21000000  #比特币初始数量revenue = 50 #每记账一次的初始收益(2008年时记账的收益)time = 0 #2008年第一枚比特币发放之前时间记为0block = 0 #初始时记账数为0begin = [2008,] #初始时间2008年year_revenue = [50,]
year_total = [21000000,]while sum<0.0001 :    if (block==210000) : #记账每到210000次,记账一次的收益减半
        revenue = revenue/2
        block = 0
    if( time%525600==0) : #记录每年的记账收益和剩余比特币数量,一年有525600分钟
        begin.append(begin[-1]+1)
        year_revenue.append(revenue)
        year_total.append(sum)    #每10分钟记账一次
    time = time+10 
    block = block + 1 
    sum -= revenue
print("result is ",time)#以下是画图过程plt.figure(figsize=(10,10))
plt.plot(begin,year_total,'-')
plt.xlabel("year")
plt.ylabel("remain bitcoins aumount")
plt.ticklabel_format(style='plain',axis='y')
plt.xticks(np.arange(min(begin), max(begin)+1, 10.0))
plt.yticks(np.arange(min(year_total), max(year_total)+1, 1000000))
plt.grid(True, linestyle = "-.",linewidth = "1")
plt.savefig('C:/Users/username/desktop/yearAmount.png',dpi=100)
plt.figure(figsize=(10,10))#plt.plot(begin,year_revenue,'-')plt.plot(begin,year_revenue,'-')
plt.xticks(np.arange(min(begin), max(begin)+1, 10.0))
plt.yticks(np.arange(min(year_revenue), max(year_revenue)+1, 1))
plt.xlabel("year")
plt.ylabel("current revenue")
plt.grid(True, linestyle = "-.",linewidth = "1")
plt.savefig('C:/Users/username/desktop/yearRevenue.png',dpi=100)

最终结果如下:

比特币区块和比特币的区别_比特币期货对比特币影响_比特币哪一年开始

每年剩余的比特币数量

从图中可以看出,到2018年,大约80%的比特币已经发行。 根据我程序的计算结果,150年(公元2158年)比特币数量将下降到0.0001个,137年(公元2145年)下降到0.001个,124年(公元2132年)下降到0.01个。 所以说比特币会在2140年用完比较准确,也就是网上常用的说法。

那么你现在每次挖矿能赚多少比特币呢?

比特币区块和比特币的区别_比特币期货对比特币影响_比特币哪一年开始

历年挖矿收益变化

2018年挖矿收益一度从2008年的50个比特币下降到12.5个比特币。 从图中可以看出,2038年后,每次挖矿的收益不到一个比特币。

最后,有一个问题想和大家讨论一下。 比特币用完后,不再发行新的比特币,但市场上仍有比特币在流通,即仍有交易需要记录。 如何激励人们记账?