主页 > imtoken苹果闪退 > 说到比特币,我真的

说到比特币,我真的

imtoken苹果闪退 2023-05-10 07:00:18

本文已收录到我的GitHub

注:本文与股票无关。 它简单介绍了比特币的原理。 投资有风险,入市需谨慎

关键词:比特币,去中心化,挖矿,区块链,双花,最长链原则,工作量证明

先给大家讲讲比特币的历史吧。

2008年全球金融危机爆发,同年11月1日,自称中本聪的人士在P2P基金会网站上发表比特币白皮书《比特币:一种点对点电子现金系统》,称他对电子货币新理念——比特币的看法问世了。 2009 年 1 月 3 日,比特币创世区块诞生。

你平时不是都在自己的小本子上记录自己每天的收入和支出吗,我们叫记账本。 我们平时消费的时候,银行也会为我们记录这笔交易记录和银行卡里的余额。 那么我们就通过银行卡中的数字来评估我们拥有的财富。 所以我们有多少财富,是由银行的记账决定的。

中本聪在2008年提出,我们不需要一个中心化的记账系统,我们不需要一个人或者一个组织作为中心来帮助我们记账。 我们可以去中心化,每个人的账本都是透明的。 在公开场合,这被称为去中心化电子簿记系统。 让我们用一个例子来描述它。

比特币总数为什么是固定的_比特币的数量固定的吗_比特币之父能不能随意制造比特币

1、那你说的区块链到底是什么,我不是很懂?

我们来分析一下上图比特币总数为什么是固定的,A,B,C,D,四个小伙伴进行交易,首先A支付给B 5个比特币,然后他需要将这个交易信息发送给每个小伙伴,类似B与C,C和D的交易D也要转发给各位小伙伴。 用户会将这些交易信息记录下来,打包成块,我们称之为区块,(区块大小约为1M,约4000条交易记录),当区块满时,我们将这个区块与之前的交易记录连接起来,形成一条链,过了一会儿,我们连接了它后面的新块。 我们称这条链为区块链,如下图所示。

比特币的数量固定的吗_比特币之父能不能随意制造比特币_比特币总数为什么是固定的

好了,我们大概明白什么是区块链了。

2. 好吧,我知道区块链是什么,但是为什么那些用户记录交易信息?

记账奖励:每个用户都可以记账。 如果用户执行一个帐户,他将获得一些手续费的奖励。 比如A和B交易了10个比特币,A备案需要多付一点钱。 人们。 其实在现实生活中,我们在使用银行卡的时候也是有手续费的,这里的手续费是给银行的。

打包(将交易记录打包成块)奖励:打包者只能有一个,完成打包者可以获得打包奖励。

3.哦,原来如此,打包一次能获得多少奖励?

比特币之父能不能随意制造比特币_比特币总数为什么是固定的_比特币的数量固定的吗

2008年首次提出该制度时,奖励方案如下

每十分钟制作一袋。 一开始,每个袋子都会奖励50个比特币。 四年后,每个袋子将奖励 25 个比特币。 四年后,奖励将是 12.5 个比特币。 比特币等等。

4.哇,这么多,全世界有多少比特币?

一包奖励50比特币,每小时6包,一天24小时,一年365天,每四年减半,计算公式如下

比特币的数量固定的吗_比特币之父能不能随意制造比特币_比特币总数为什么是固定的

总数约为 2100 万个比特币。

5、因为我们有手续费和打包费的奖励机制,大家都抢着打包,但是打包员只能一个,那我们让谁打包呢?

中本聪提出了一种工作量证明方法。 说白了,想要打包的用户要做一道高难度的数学题。 谁先解决谁就获得打包权。 打包者是可以得到奖励的,但是这个题目很特殊,就是我们谁也不能动脑筋去做,只能一个一个的试算,直到你试到这个数,那么你就会得到除了奖励,这个过程就是我们常说的挖矿。

6、你说的挖矿原理是什么,我搞不懂?

刚才我们说了挖矿的原理其实就是让我们做一道数学题,谁先解决谁算数。 这个问题与智商无关。 我们需要一个一个地尝试,这取决于我们 CPU 的速度。 那么具体原理是什么呢?

这里可以选择性阅读,不感兴趣可以跳到第8题

在介绍原理之前,我们先了解一下哈希函数。 大家可以看我之前的文章《》,里面对散列函数做了简单的介绍。 我们再来看看数字摘要。

数字摘要是利用单向哈希函数将需要加密的明文“消化”成一串固定长度的密文。 这串密文也称为数字指纹。 结果总是不同的,但同一个明文的摘要一定是相同的。

通俗地说,我们使用哈希函数计算一个字符串,得到一个固定长度的密文。 可能完全不同,相同的字符串将导致相同的密文。 通过明文得到密文很容易,我们可以通过特定的哈希函数来做到,但是反之则极其困难。

比特币的数量固定的吗_比特币之父能不能随意制造比特币_比特币总数为什么是固定的

下面我们简单描述一下著名的哈希函数SHA256生成摘要的过程

比特币之父能不能随意制造比特币_比特币的数量固定的吗_比特币总数为什么是固定的

生成摘要的过程我们已经了解了,那么挖掘的具体原理是什么呢?

刚才我们说了,区块链其实就是很多交易信息。 事实上,我们的区块不仅包含交易信息,还包含区块头。 目前很多人记录系统的交易信息,然后想把自己记录的交易信息打包成区块,接入区块链,获取打包费。 这么多人想打包,但只有一个人能拿到打包权,那么要拿到打包权要解决什么样的数学问题呢?

刚才我们描述了生成密文的过程,那么我们的明文,也就是输入的字符串,这里主要由什么组成呢?

字符串:上一个区块头+账单信息+时间+随机数

主要由以上信息、上一个区块的头部、你记录的账单信息、时间戳、随机数组成。 那么我们可以看到对于所有用户来说,只有前面块的header是固定的。 计费信息不是固定的,因为每个人的记录顺序不同。 每个人开始的时间不同,所以时间也不固定。 ,随机数是不固定的,那么既然我们的输入是不固定的,那我们应该怎么回答这个问题,怎么保证公平性呢?主要通过以下几种方法

刚才我们也说过,经过SHA256加密后,会得到一个256位的二进制数。

获取包装权的问题就是让我们对字符串进行两次SHA256运算后得到一个hash值。 哈希值要求前n位为0,也就是说谁先计算出前n位为0的哈希值,谁就可以得到包装权。

因为每个人的输入都是不固定的,但是对于一个人来说,他开始计算的时间是固定的,head也是固定的,他记录的内容也是固定的,所以他只能通过调整随机数来修改最终的值. hash值只能逐个测试,但是如果字符爆了,你尝试的第一个数可能会得到符合要求的hash值,但总的来说还是算力的问题。

比特币的数量固定的吗_比特币总数为什么是固定的_比特币之父能不能随意制造比特币

7、哈希值的前n位为0,这个n的依据是什么?

n越大,计算越难,因为我们无法逆向计算,只能一个一个地尝试,每一位出现0或1的概率是1/2,然后我们得到hash值其前n位为0的概率是1/2的n次方。

当时中本聪在设计时,为了保证每十分钟出一个块,他会适当调整n,比特币系统会在每2016个区块后自动调整难度目标。 如果上一个难度目标调整周期(即前2016个区块)的平均出块时间大于10分钟,则说明挖矿难度高,需要降低挖矿难度; 否则,在上一次难度目标调整周期中,平均出块时间小于10分钟,则说明挖矿难度低,需要提高挖矿难度。 难度目标上下调整均有4次限制。

比特币之父能不能随意制造比特币_比特币的数量固定的吗_比特币总数为什么是固定的

所以这个n是根据挖矿难度(算力),也就是我们矿机的算力和矿机数量来调整的。

8. 哦,我明白了,如果有人冒充我们偷偷花我们的比特币怎么办!

好问题

说到防伪,我们先说身份认证。 身份认证又称“验证”、“认证”。 是指通过一定的手段确认用户的身份。 指纹、人脸、签名等都是传统的认证方式。 另外,再说说比特币系统的电子签名。

比特币用户在注册的时候会生成一个随机数,通过这个随机数会生成一串私钥,这个私钥可以生成一串公钥和一个地址,私钥和公钥是对应的,私钥这是保密的。 当其他人与您交易时,您只需发送您的地址即可。 如果你和别人交易,你需​​要把你的公钥和地址一起发送。流程图如下

比特币总数为什么是固定的_比特币的数量固定的吗_比特币之父能不能随意制造比特币

当我们传输记录时,我们用私钥加密它们,然后用公钥解密它们。 加密和解密的密钥不同,所以我们称之为非对称加密。

具体交易过程如下,例子A支付5个比特币给B

比特币之父能不能随意制造比特币_比特币的数量固定的吗_比特币总数为什么是固定的

我们其他用户都收到了这条支付信息,那么其他用户怎么判断这条信息是不是A发的呢? 不是有人冒充A发帖吗?具体过程如下

比特币总数为什么是固定的_比特币的数量固定的吗_比特币之父能不能随意制造比特币

与其他用户对比,如果一致,就认定该消息是A发的,如果不一致,就认为是别人造假的,所有用户都会拒绝这条消息。 这里你可能不明白。 您已发送公钥和私钥来解密它。 刚才我们说了公钥是公开的,但是公钥是通过私钥加密得到的。 私钥是私密且唯一的。 只有用户 A 知道他的私钥。

9. 哇,太神奇了,我明白了,如果我只有 5 个比特币,同时支付给两个人,每人五个,那我就赚到了。

太棒了,你能想到这个,但是你想多了。

比特币总数为什么是固定的_比特币之父能不能随意制造比特币_比特币的数量固定的吗

比如A只有5个比特币,他同时发送了两条消息,分别是5个比特币给B,5个比特币给C,但是他总共只有5个比特币,这显然是不可能的,我们称之为double pay .

那么我们该如何解决呢?

余额检查

比特币之父能不能随意制造比特币_比特币总数为什么是固定的_比特币的数量固定的吗

追溯

用户收到这条消息后,会先从区块链中查询A的交易记录,判断A的余额是否大于交易金额。 如果它更大,他会接受它,否则他会拒绝它。

解决双重支出

首先,让我们了解什么是双重付款。 比如元记酒家963店,因为店长管理不善,要卖掉了。 卖的时候,店长把房子同时卖给了两个人,但只卖了一套房子,那就是双付。

比特币的数量固定的吗_比特币总数为什么是固定的_比特币之父能不能随意制造比特币

双重付款

如何解决比特币系统中的双重支付问题? 我们的用户A只有5个比特币,但是​​他几乎同时发布了两个广播。 这时候有些用户会先收到第一次广播,然后回溯发现A只有5个比特币,就会拒绝第二次广播。 同理,先接收到第二个广播的用户也会这样做。 好比形成两个阵营,然后两个阵营的用户回答问题,然后拿到打包权,他们会把自己的包裹发到区块链上,那么他收到的消息就会被整个系统识别。 另一个将被丢弃。

比如用户D先收到第二个广播,A支付给C,然后用户D获得包裹权,然后D将包裹上链,然后其他用户放弃自己的包裹,都同意什么D记录的交易信息。 所以此时C收到5个比特币,B没有收到任何收益。 因此,当我们收到别人的交易消息时,不能认为当时已经收到了。 我们必须等待新的区块形成并在主链上记录消息。

10、如果有人偷偷篡改交易信息,那他不就成了拥有比特币最多的人吗?

你想的真全面,你真了不起

比特币总数为什么是固定的_比特币之父能不能随意制造比特币_比特币的数量固定的吗

我们考虑这样一种情况,A给了B五个比特币,但是​​他想删除这条记录,伪造记录。 有这种可能吗?

说之前,先介绍一下比特币系统遵循的最长链原则。 什么是最长链原理?

比特币的数量固定的吗_比特币之父能不能随意制造比特币_比特币总数为什么是固定的

最长的链

比如上图,我们链上同时收到了两个block,那么就会有两组人,他们会以第一个收到的block为准,然后这两组人继续来计算一下,当某个组中的某个人获得了打包权后,新的区块就会连接到他收到的区块上。 那么此时他的链就是整个系统中最长的链,就会被大家认可,另外一拨人也会来到这条最长的链上。 包装在链条下方继续进行。 先前的分支将被丢弃。 如果某个人不想转移阵容,坚持坚持比较短的链条,那也没关系。 只要你能单打独斗,让你的链条最长,大家都会认可你。 链。

那么让我们来谈谈如何防止篡改

比特币的数量固定的吗_比特币之父能不能随意制造比特币_比特币总数为什么是固定的

此时A想修改红色区块中的交易记录比特币总数为什么是固定的,那么A需要重新计算重新打包创建一条支链,但是大家不会认出你的支链,因为这条支链不是最长的,所以不会承认你造假的信息,如果你还要继续倒数,当你自己创建的支链长度大于全世界所有人的打包链长度时,那么恭喜你,你伪造成功了,大家都认可了你的信息被篡改了,理论上是可以被篡改的,但是你改了之后不会被所有人认可,除非你的计算能力超过世界上所有其他人。 试想一下,一个拥有世界上一半以上计算能力的人,会做这么无聊的事情?

既然我都明白了,那就去买两个吧!

看看现在多少钱,我们买不起。

巨人的肩膀

《比特币白皮书:一种点对点的电子现金系统》


原创电子书

比特币之父能不能随意制造比特币_比特币总数为什么是固定的_比特币的数量固定的吗

原创思维导图

比特币总数为什么是固定的_比特币的数量固定的吗_比特币之父能不能随意制造比特币


已经有8756个初学者都下载了!

三歪把【大厂面试知识点】、【简历模板】、【原创文章

全部整理成电子书,共有1263页!扫码或微信搜 Java3y

回复「888」领取

比特币总数为什么是固定的_比特币的数量固定的吗_比特币之父能不能随意制造比特币

比特币之父能不能随意制造比特币_比特币总数为什么是固定的_比特币的数量固定的吗

比特币之父能不能随意制造比特币_比特币总数为什么是固定的_比特币的数量固定的吗

比特币总数为什么是固定的_比特币之父能不能随意制造比特币_比特币的数量固定的吗