主页 > imtoken苹果版钱包 > 从源码层面解读比特币的单位是如何定义的

从源码层面解读比特币的单位是如何定义的

imtoken苹果版钱包 2023-03-24 06:44:01

比特币之父能不能随意制造比特币_比特币定义_比特币价值比特币最新

少数民族财务报告第 67 号

文/董光宇

(一)

近期,比特币价格不断创新高。 与此同时,我对比特币也有了新的认识。 特此记录,献给广大读者。

很多人认为比特币是一种货币,甚至可以成为未来世界的货币。 然后我用了很多理论来证明比特币是一种很好的货币,是一种自由货币。

关于货币,最开始的一点是:货币的单位是如何定义的?

如果比特币是一种货币,那么比特币的单位是怎么定义的呢?

我们首先要问:比特币的单位是什么? 有人会说:比特币的单位是BTC。 这样的回答让人哭笑不得,因为BTC是Bitcoin的英文缩写,Bitcoin的英文缩写被视为比特币的单位。 这不是循环论证吗! 有人会说:比特币的单位是“聪”,1比特币=100000000聪。 如果“聪”是比特币的单位,那么“聪”是怎么定义的呢?

喜欢比特币的人现在大概会问一个问题:1美元和1元是怎么定义的?

我们以美元为例。 从历史上看,美元单位的定义一直在变化。 近50年来,美元定义的变化有几个关键点:1971年以前,1美元被定义为0.88867克黄金; 2008年之前,1美元被定义为1美元国债,目前,1美元被定义为50%的美国国债和50%的MBS债券。 虽然美元单位的定义一直在变化,但至少有一个明确的定义。 事实上,货币单位的定义是发行货币的基础。

现在回过头来看,比特币的单位“聪”是怎么定义的? 我可以肯定地说,大多数比特币爱好者都没有答案。

因为比特币是由程序生成的,要回答“中本聪是怎么定义的”这个问题,就必须要看比特币系统的源代码是怎么写的。

但是即使拿到了源码,看哪一段代码还是个问题。 几万行代码不可能全部看完,也没有必要全部看完,因为我们要知道的是比特币单位的定义,所以要看代码生成比特币,而比特币的生成与挖矿有关,所以我们要看矿工挖矿获得比特币奖励并获得打包区块权的这段代码。 如果您不知道挖矿获得比特币的过程,可以阅读本公众号之前的文章。

(二)

下面两张图是生成比特币的代码,代码来自这个网站:。

比特币价值比特币最新_比特币定义_比特币之父能不能随意制造比特币

比特币价值比特币最新_比特币定义_比特币之父能不能随意制造比特币

挖矿获得区块打包权奖励的GetBlockValue函数源码在主程序main.cpp(第二张图)中,其中nSubsidy为矿工获得的新增比特币数量。 在初始阶段,“nSubsidy=50*COIN”,“//每4年补贴减半”表示nSubsidy的价值每四年减半,实际上每产生210,000个区块,价值nSubsidy减半,使用“nSubsidy >>= (nBestHeight/210000)”语句将nSubsidy的二进制值右移,右移的位数由“(nBestHeight/210000)”实现。 从这段代码也可以看出,GetBlockValue函数是比特币系统中的发币中心。

因为nSubsidy=50*COIN表示COIN为1个比特币,所以比特币的单位定义取决于COIN的定义。 那么COIN是怎么定义的呢? 在比特币源代码的头文件main.h中(第一张图)。

我们已经看到从整个比特币系统的源代码开始就定义了COIN(见红线),它是如何定义的呢? “static const int64 COIN=100000000”是什么意思? 其实就是一个简单的整数定义。 具体来说,在计算机中,COIN 是一个 64 位二进制、静态、常量 const 整数 int。 我们可以看到生成比特币的源代码非常简单,简单到不可思议。

货币单位,这么重要的经济单位,被简单地定义为一个只有抽象数值,没有实际经济意义的自然数。

至此,我们已经完全清楚了:在源码中,比特币的单位是常数COIN,COIN=100000000,注意这个100000000是没有定义单位的,换句话说,COIN是一个抽象值,没有的经济单位自然整数。 这个COIN就是我们平时所说的1亿聪。 注意,中本聪只是一个名字,是后人为纪念中本聪而人为起的。 也就是说,比特币没有货币单位的定义,只有数值,是没有单位意义的自然数。

如何理解“比特币没有货币单位的定义,只有一个值,是一个没有单位意义的自然数”这句话,最简单的理解:在比特币体系中,1不叫“1”,而是叫1 “中本聪”,别把1亿叫做“亿”,而是把1亿叫做“1比特币”。

比特币,就是这样!

但即使大家意识到了这一点,也依然无法抑制人们对比特币的热情,否则郁金香泡沫和庞氏骗局怎么会继续发生。

(三)

可能有人会问:比特币不是经常用小数点后八位的形式表示吗? 怎么可能是自然数呢? 如果你有这样的疑惑,请看这篇文章《中本聪的天才:比特币以意想不到的方式躲过了一些密码子弹》,链接地址:。 从这篇文章你也可以知道为什么比特币的上限只能是2100万。

为什么中本聪只给比特币赋数值? 或许是源于他对法币的误解。 他认为,法币只是央行电脑上的一个数字,不断扩容没有上限。 因此,他设计了一个区块奖励减半模型比特币定义,让发币总量有个上限(实际上,当发币总量达到这个上限时,就会出现致命的问题。具体论证见之前的文章本公众号)。 法币是一个数字无可厚非,但法币的产生背后毕竟有各种资产,如债券、外汇、黄金、法币等,其背后的资产构成了资产负债表中央银行的。

另一方面,比特币只是一个没有单位意义的抽象值。 因此,要使用比特币作为货币,就需要找到货币发行的抵押品(就像使用没有单位意义而只有面值数量的纸一样) 作为货币,需要使用贵金属或其他经济资产以单位重量作为抵押品)。 根据比特币的生成机制,这个抵押品其实是一个哈希值,只不过哈希值本身是一串数字(而且哈希值的计算难度一直在变化,哈希值生成后比特币的数量是每个阶段的计算也在变化),这就形成了货币发行的循环论证! 基于哈希值作为抵押品发行比特币的流程,参见本公众号上一篇文章。

以一串数字为抵押,再发行一串数字,比特币不愧为虚拟货币。 既然有了虚拟货币,你有没有想过什么是实物货币? 见本公众号上一篇文章。

当我们在谈论一种货币时,首先要思考的是:这种货币的单位是如何定义的? 美元、英镑、比索、马克、卢布、里拉,这些很现代的货币名称,其实本义是重量单位,真实的物理量。 但目前,货币单位变成了一个非常抽象的“元”,所以人们总是只会看到“元”前面的阿拉伯数字,而忘记了“元”的本意。

正是因为我们忘记了“元”的本意,所以当我们看到比特币时,不会去想诸如“比特币的单位是什么”“比特币的单位是怎么定义的”这样的事情。 这些问题。

(四)

以下是我对比特币的一些零散看法。

1. 有消息称,美国国税局已经能够使用最新的区块链分析工具追踪比特币用户。 新闻链接: 。 也就是说,比特币已经失去了匿名隐私的功能。 这个工具如何追踪比特币用户,我猜是基于比特币系统的找零地址机制。 如果想详细了解改地址机制的工作原理,可以登录巴比特网站,里面有很多相关的技术文章。

2、比特币生成算法中的很多参数是可以调整的,比如:初始阶段挖出的每个区块获得的新增比特币数量,下一阶段新增比特币数量的递减比例,以及下一阶段新铸造的比特币数量。 区块的标准持续时间和区块挖矿难度的调整频率。 这些参数值在比特币系统中是如何确定的? 一开始是中本聪决定的,因为他没有论证为什么要基于金融经济学理论取这些参数值。 他只是想当然地认为,取这些参数值就可以使比特币系统适应我们的实际经济。 此外,他没有证明为什么采用其他参数值不会使比特币适合实体经济。 换句话说,他没有足够和必要的金融和经济论据来取这些参数值。

3、按照比特币的生成算法,如果从一开始到现在只有中本聪在挖比特币,那么生成现在所有的比特币所用的算力和电费是非常非常小的。 也就是说在同一时间产生了同样数量的比特币,现在这种挖矿模式浪费了大量的算力和电费。 明明有一种低成本的方式同时获得同样数量的比特币,何必用现在这种消耗大量资源的方式! 对于“一部分算力在维护网络安全”的说法,你需要知道的是:结算的去中心化只能带来低效率,而发行的去中心化已经是金本位实现的。

4、对于比特币的未来比特币定义,还是那句话:它最终会成为加密极客圈子里的玩具。

(五)

整个比特币系统并不是一无是处,其底层的区块链技术就是很好的防伪技术。

网上有个视频,用很通俗的话解释了区块链的工作原理,链接网址:。

从这个视频中,很容易理解:为什么区块链用于金融交易的确认很慢,或者为什么结算去中心化只能带来低效率。 但交易确认后形成的区块链数据库具有防伪功能,利用这一特性可以形成新的审计检验方式,可以应用于其他行业。

很多人把区块链数据库看成是一套账本,认为未来的金融行业可以用它来记账。 这种看法是不正确的。 把区块链数据库想象成一组账本很好,但是金融行业用它来记账是不可行的。 为什么? 我刚才说了,区块链技术是一种防伪技术。 当我们把它应用到金融行业的时候,这个防伪技术的作用是:在某个时刻,可以通过区块链数据库来确认一个物品。 此时资产的所有权归谁所有,仅此而已,不能体现会计上债权和负债的概念。 因此,即使区块链数据库应用到金融行业,传统的财务核算仍然必不可少。

看到这里,有人可能会问:既然此时可以通过区块链数据库确认资产的所有权,这意味着区块链技术可以保证资产所有权的唯一性,是否意味着可以应用于100%准备金制度,反对部分准备金制度?

这个想法很好,因为部分准备金制度的实施是建立在货币双重所有权的前提下的。 对货币双重所有权不理解的请参考本公众号之前的文章。

将区块链技术应用于100%准备金制度的想法,未来可能会实现,但即使有可能,它仍然是一种辅助的审计和检查手段。 比如在某个时刻,先确认区块链数据库中拥有货币所有权的账户(或地址),然后将这些账户下的货币数量相加得到一个总值,然后将这个值与那个时刻进行比较如果两个值一致,说明所有银行都没有实行部分准备金制度; 听起来不错,但也有问题在里面。 如果两个值比较后不一致,那么我们就不知道是哪家银行实行了部分准备金制度。 因此,区块链技术只能是一种辅助的审计检查手段。

如何保证每家银行都实行100%的准备金制度,方法很简单,把银行的存款和贷款职能严格分开:放贷的银行只做放贷业务(客户把钱交给这种银行,就是把钱借给银行,银行再把钱借给需要资金的一方),存管银行只做保管业务(客户把钱交给这种银行,也就是银行保管钱,存管银行只做保管业务)银行不得将钱借出)。

文末

文章部分观点首发于新浪微博

如果想了解更多我的财经观点,可以关注我的新浪微博:@闻道_wendao,weibo.com/dgylamborghini

关于作者:

董光宇,新浪ID:@闻道_wendao,货币金融研究员,倡导建立诚实、健康、自由、稳定的具有购买力的货币体系,就职于商业银行,着有两本书,《原币”和“被忽视的货币真相”,运营“少数派财经报道”公众号。