经常有小朋友问我到底是什么?我们准备通过两期节目来给大家介绍一下比特币的基本原理,那今天呢,我们首先来介绍一下挖矿到底是怎么回事?比特币是什么呢?比特币呢,实际上是一种电子货币或数字货币。卡里面那个货币它不太一样啊,
2008金融危机,2008年11月1日的时候,有一个网名叫中本聪,啊,这个中本聪呢,我们到目前为止也不知道他到底是谁,我们现在管它叫白皮书,白皮书,全名叫比特币一种点对点的电子现金系统,它在这个白皮书里面呢,提出了这样一种构想,就是说呢,我们可以设计一种去中心化的电子系统去中心化的电子记账系统,我们在进行交易的时候最重要的两件一件事啊,就是比如说吧,我付给你多少多少钱,我要检查我自己的银行卡里还有没有这么多钱对吧?我付给你之后还剩多少钱你就记账,好吧,那现在的我们不管是用信用卡还是用这个支付宝或者微信都是银行来进账,我们信任银行因为银行的背后是国家的信用对不对啊,那么他这个就说呢?其实我们并不需要有一种中心化的这个计算系统我们可以去中心化每一个人的账本都是让别人去看都是公开的啊,这就叫举个例子来说啊,比如说有这么几个小朋友。这几个小朋友啊,分别叫ABC d吧,进行交易啊,买东西卖东西之类的,支付对吧?支付的时候比如说有一次呢,先支付的10个比特币,10个比特币给币,这件事情之后你不能自己留着,因为你自己流着别人不信对吧?所以你要把这个账单呢,要广播出去要告诉所有人,所以说告诉b告诉c又告诉d广播到网络上所有人,同时把这个账单呢告诉d告诉a告诉c对吧?然后呢,这个c呢,又支付比如支付了两个比特币。给弟,同时呢,也要把这个账单告诉其余的所有的人,那么我们会把它进行打包啊,打包成一个框,我们叫他区块一个区块里面呢,它的大小大概是一兆啊,我们可以存4000条左右的交易记录,有时候多有时候少一点,就取决于每一条记录的大小啊,好了,这个快打包完了之后我们再把这个块链接到以前的交易记录上形成了一条链接到以前的快乐,然后过一会再把新的会计到他后面就叫区块链就这么回事儿是吧,
那好我们有了这么一个系统之后就要解决几个问题什么问题呢,比如说啊,这个账单那以谁为准,这就是一个问题,以谁为准,因为每个人的账单可能是不一样的,比如说呢,她可能会先记录这件事后记录这件事可能不是这样的顺序可能是先记录,然后对吧?每个人的账单可能不太一样,你到底是以谁为准?第2个就是我们为何要记账?凭什么凭什么我要去花我自己的电脑资源进入一个跟我无关的这个账户呢?对不对?为什么要去找第2个第2个问题,第3个问题呢?就是如何防伪,如何防伪?比如说这个广播的一条消息,但是实际上并没有支付给他,那这就是一个伪造的结果,我们怎么去防卫队吧,怎么去防止篡改之前的记录,我把它改掉啊?这个怎么办啊?如何篡改啊?还有很多很多其他的问题,比如说如何防止双重支付啊?一个人同时发给两个人10个比特币,但是实际上一共就只有10个比特币是如何进行保密你这个信息都是公开的那别人不就知道你有多少钱了吗?怎么去保密等等一系列的问题我们今天主要就是前两个阿姨谁的账单为准还有我为什么要去照为什么要有奖励?记账的奖励,记账的奖励,每一个比特币系统中的这个用户呢,他都可以去结帐,如果他记得帐第1个它有手续费的收益,手续费,手续费什么意思呢?就是10个比特币给力的话必须要多付出那么一点点,这一点点就是给这个打包的这个人他记账的这个人他的一个手续费,这个如果你要用银行卡的话其实也有手续费,而且他其实挺高的,那如果你用比特币的手续费就低了,对吧,这就是第1个它的收益,第2个就是打包的那个人他有一个打包奖励啊,打包的奖励只能是一个人打包一个人他会获得奖励奖励是多少呢,在2008年提供这个系统的时候呢,他设计了这样的一个方案,每10分钟打一个包,每10分钟打一个包,最开始这个立打8折。50个比特币啊,过了4年之后呢,没打一个包会奖励你25个比特币啊,如果你要是再过4年就奖励12:00,我就是每过4年之后她会简单,咱们来算一算比特币一共有多少个啊?首先呢,每过10分钟你会打一个包,这一个包内有50个比特币的奖励对吧,一个小时。十分钟,24个小时,每年都有365天,前4年的时候都是这样,我才成了4年,这是第2个4年就不是这样,第2个4年会减半对吧?所以我在程各第1个4年第24年后成了1/2,第3个4年会长1/2的平方,第4个4年1/2一直加下去如果把它算出来最后结果大概是2100万。个,也就是说呢,这个比特币一共就只有2100万个它是通过打包奖励这种方式把它扩散出去的对吧,嗯,就是这样的一个问题
那你就正因为有了这个手续费和打包奖励这两条所以大家都抢着去打包你抢着去打包那下一个问题以谁为准,以谁为准,只能是一个人打包对吧?我想了一个办法叫工作量证明这个工作量证明是什么意思呢?就是说每一个参与的用户他都要去做一个很难的数学题很难的数学题,你把它做出来了,那你就可以有权利进行打包,你如果要进行打包的你就会获得手机费已经打爆奖励对吧?这个很难的数学题难到什么程度呢?难道没有任何一个人能够直接通过脑子把它做出来,我们必须一个一个数去尝试直到你把它尝试出来了,那么你就获得这个奖励所以这个过程,我们称之为挖矿挖矿,如果你把这个数学题做出来了,你就获得了这个打包的奖励,而这个打包的奖励就是几十个比特币对吧?你就称之为挖矿成功了。这就是挖矿的含义,那么具体呢,这个数据到底是怎么回事呢?咱们再往下继续说,我们下面来讲一下挖矿的具体原理是什么啊?挖矿的原理,我们刚才说过它是做一个很难的数学题,但是这个数学题并不是看你脑子聪明不聪明,而是看你CPU的速度如何啊,因为没有人能够通过脑子把它算出来的只能是一个一个试,具体的原理是什么呢?首先我们回忆一下以前我们曾经讲过一种叫做哈希哈希函数的东西,啊,他的意思呢,也可以叫数字摘要或者散列函数啊,他的意思是说我们可以把一个字符串通过一定的运算转化成一个摘要的形式,而且呢,你这个算比较容易很难,比如说哈希算法里面有一个很著名的黑蒜吗?叫上2563256,啊,这是美国国家安全局发明了一种算法,如果我把一个字符串输入到这个12 56函数里边,比如这个字符串叫apple,输出了多少个二进制数?这个二斤数有256位,比如说101011010一共有多少?一共有256位,256位,而且它这个算法吧,就是不管你前面输入的是什么,后面的结果都是256块钱一个二进制数,你把一个10个g的电影放进去它最后是二百五六百的数啊,如果你改一点点那个数字都不一样,比如我的我加一个点一个点最后的是每一位的数字都有可能会发生变化这就是它的一个特点,而且呢,哈希算法的难度就在于它正向比较容易,比较容易,非常的困难,特点,我们举个例子啊,比如说吧,有这么一个函数就是x的三次方加log,2x+4x等于y啊,不是举个例子,你给我一个x让我算出来,其实这个并不难,但是你给我一个困难基本上是不可能的,我们只能怎么办?我们只能一个一个去试,假如你告诉我一个结果就只能一个一个试着把它射出来为止啊,这个呢。就是哈希算法的一个基本的问题啊,那么这个挖矿呢,其实就是基于这个运算,具体的原理是什么?这个区块链呢其实是一大堆的交易信息对吧?比如说呢,这个区块链已经链接到了某一个位置,从最开始开始练一直练练到了某一个位置,这是目前的情况,实际上是有一个快的头部,有一个快的头部,还有呢,它里面有一些内容啊,这个内容呢,其实就是信息就是我们交易的这个记录账单啊,现在呢,有很多的人说我现在都想进行打包,为什么呢?因为打包有奖励还有手续费是吧?每一个人呢,都有自己的一个账单,这个账单是他收集了周围一大堆人啊。每一个人都在准备去网上接快,接快的时候它必须要算一个数学题,什么数学题呢,首先它会有一个字符串,它会有一个字符串的内容非常多啊,但是我们说一些主要的这个字符串包含哪些内容呢?首先包含目前的这个块,目前已有的这个快就是钱快,这个这是第1个部分,第2个部分呢就是,嗯,他现在已经有了这个账单啊,账单的信息,你已经有打包好的这个账单的信息啊,还有呢,比如说像时间之类的之类的啊,还有一大堆乱七八糟的啊,然后还有一个很重要的就是有一个随机数,随机数啊,这是你的一个字符串,现在呢,
你对这个字符串做两次哈希运算,做两次这个月算它的哈希值等于什么呢?等于12 256,然后下256,然后,你把这个字符串啊,做两次这个哈希运算速度其实非常快,但是你说出来之后会发现他是一个256倍的数对不对?这个256倍的数,我们要求什么呢?要求他的钱分了,必须是0,比如说你算出来的结果是00000200,比如说有9个鼎,这有9个0,然后后面是什么1011一直到最后一共有256为你做出这么一个数的价,如果我的要求就是前九个位数是的,那你就算对了对了,你算对了你就有资格去打包打包的意思是说你要把你算出来的这个哈希值作为一个新快的头部然后呢?你说出来这么一个一个数对吧,一个数然后呢,作为一个新矿的头部打一个包,打完了这个包之后再把你这个包干嘛呀,接到后面去啊,于是呢,你就接触一个新快,你就获得了你想要的奖励就这样,那么我们怎么能算出来前面这几位都是0呢?就要改变一个内容,就是改变这个随机数,内容你是改不了的对吧?所以你就改变对随机数,随机数,最开始从0开始从0开始0算一次看看是不是满足条件不满足,好算一步行不行?他都是二进制的啊,你就不能这么说,谁知道你把他试出来为止,而且都要注意每个人在计算的时候它的这个题目难度是不一样的。为什么呢?因为每一个人呢,虽然钱快的头部大家都一样啊,但是你所打包的这个账单可能是不一样的对吧,你这时间他有时间可能是不一样的还有你的个人信息也是不一样的,所以造成有人运气好,他第1个数就算出来了,那直接就打包起来了,对吧,有人运气不好,他虽然计算能力强做了好长时间最后也算不出来不过平均来讲是这样的谁的计算能力更强谁就更有希望打破这个快谁就更有可能去挖到这个矿就是这样的人你说大家为什么拼命的去买这个矿机呢,对不对。好那我们继续往下说啊,说这个,我们有一个难度的设置,这个难度的设置也就是这个啊,这个是怎么确定的?难度系数越多这个问题他就越难啊,为什么就难呢?咱们想象说在这个问题中啊,你不可能反算只能是一个一个随机趋势,每一个每一位上出现0的概率和出现一的概率各是50%,所以第1个是0的话,你看看这是多少案例是1/2对吧?那就是1/2第2,第三是1/2,一直到最后一位是零概率也是1/2和1/2的n次幂,这个难度就越高但越小难度就越低,对吧?保证每10分钟,每10分钟它需要出一个块,需要打包几千条信息啊,那怎么去保证呢?就是调整这个案子难度,调整这个数字,我们举个例子啊,比如说,比如说世界上有1万台矿机,1万台矿机,他的计算能力是14个t每秒,也就是每秒钟可以计算14t44t是多少?12次方,所以这个数是1.4×10的13次方每秒号,你到底能算多少次?咱们算一下,这个10分钟啊,1.4×10的13次方,每一个矿机一秒都算得再乘以10的4次方就表示有1万台矿机,然后呢,你还得乘以10分钟大概是600秒,对吧?这个数字大概是8×10的19次方也就是说那10分钟大家可以进行这么多次运算之一的n次幂,你想出的这个快的话你需要计算的次数就是2的n次幂1/464的话你出的这个快平均你要算64次,你算了这么多次,对不对?那么它大概相当于是2的多少次幂呢?我们可以通过计算发现,如果这个n=66的话,啊,这个时候啊,你的出现概率能够算出概率是1/2的66次面,然后呢,你平均需要犯的次数,平均的次数就是2的66次,方,大概也是8×10的19次方,所以在这种情况下呢?它就会把难度设置成n=66,适龄的人就成功打破这个框也就成功的挖到的矿你没有办法让自己运气变得更好,你能够做的就是买更多的矿机然后拼命的去挖矿这样你就有可能会得到这个比特币大概就是这样一个原理是吧,好我们这次呢,解释到底区块链这块儿到底是怎么形成但是实际上还有很多问题没有解决啊?比如说我们如何去防止这个双重支付的问题就没有解决我们还没有解决说我们怎么防止伪造的问题啊,那这些问题呢,我们会在下一回再给大家做介绍,大家如果喜欢我的老师。对。
相关文章