区块链是什么,如何简单易懂地介绍区块链

区块链是什么,如何简单易懂地介绍区块链

本文将以极其通俗的方式,对区块链进行展开讲解。

先摆结论,区块链的颠覆在人们找到了一个低成本解决信任问题的方案。

但凡需要解决彼此陌生互不信任的个体之间的信任问题的地方都可以使用区块链技术。

不少回答举例不懂TCP/IP照样打王者荣耀,照样淘宝购物,道理没错,区块链技术确实很复杂,未来的区块链技术非专业人士确实相当难完全理解。但是为了体会区块链的魅力,我们可以了解最简单的区块链技术版本,就是号称区块链1.0的比特币。因为转账系统是最直接需要彼此不信任的个体之间解决信任问题的应用场景,了解了比特币,也就能一窥区块链在解决信任问题中的魅力,也就能理解未来可能落地的应用场景。因此本回答以讲解比特币来尽量帮助大家理解区块链技术。

二、比特币的诞生

话说2008年,正值美国金融危机肆虐全球,美国央行带头量化宽松,就是疯狂印钞票,然后把这些绿色纸片片借给大家,让大家去消费投资,让经济这潭水活起来。不难想象,经济体里钱突然多了起来,我们的钱是不是就不值钱了?原来经济体总共有一万块钱,你的一块钱值多少钱,如果央行多印了一万块钱,简单理解是不是你一块钱的购买力就缩水一半?这就是所谓的通货膨胀。

央行所拥有的这种发行纸币的权力、这种任性,掌握了经济体的生杀大权、更掌控了我们私房钱的实际价值,这令互联网极客很不满,他们不喜欢这种中心权力,他们喜欢互联网这种去中心化的机构,他们想用互联网技术来颠覆目前的中心化货币、甚至颠覆整个世界。于是乎,中本聪横空出世,一篇奇文诞生了比特币。

三、比特币的转账

去中心化,意味着陌生人之间的转账支付是直接进行的,没有第三方提供信用担保,这怎么可能呢?nothingisimpossible,中本聪就设计出来了,当然技术上很复杂。我们这里先打个比方介绍一下,感受一下这根葱的厉害。

我们要记住,在去中心化网络中,所有人都是不可信任的,这是我们的前提,上述例子中,居民自发记账,有没有可能记错呢?当然可能,张三如果跟Alice有仇,给人家肆意篡改,到时候我们该相信哪个账本呢?在大家都不互相信任的体系如何做到这点呢?首先要做的是要先验证这条消息是不是Alice本人发出的,这里用的办法就是签名,Alice广播这条信息的时候要在信息下签个名,当然网络上要数字签名了,大家收到这个信息以后要对照一下字迹,发现确实是Alice发送的,就承认这条信息是真的,验证数字签名的算法叫椭圆曲线数字签名算法,是一种非对称加密算法。

非对称加密算法,听着都很可怕,这里只能举个例子,听听气质,听完气质长精神。什么叫非对称加密呢?那要先明白啥叫对称加密。在传统的对称加密过程中,比如我要传递一个秘密数字给佐尔格,加密方式就是给这个数字加上33。当然佐尔格要知道这个加密方式,当他看到写着223这个数字的纸条的时候,他就会用223减去33,等于190。这个190就是我想传递给佐尔格的数字;佐尔格看后非常震惊,马上通过秘密渠道告知斯大林:德军要用动用190个师闪击苏联。

这种加密方式的关键在于、双方要实现约定加密方式,但如果事先无法约定怎么办,或者这种加密方式被敌方所窃取或者所破解了怎么办?这就是我们在很多谍战片里的情景,一旦密码本丢失,整套密码系统就完蛋了。

那么,有没有一种办法,即使对方知道了加密方式也破解不了信息?这个可以有,这就是非对称加密。

你知道了我的加密方式,竟然都破解不了我的信息,这个非对称加密要满足如下条件:有一个解密方式A与加密方式B,我要传递信息M,使用加密方式B进行运算,得到加密信息X=F(M,B),这个过程的好处在于,即使你知道我的加密方式B和加密后得到的信息X,你依然无法算出我的原始信息M,而原始信息M=F(X,A),即原始信息必须使用解密方式A算出。这里的A称为私钥,B称为公钥——意思就是私人密钥和公开密钥,比如特工小孙需要接受情报,他大可以放心的把公钥在网络上公布,任何想要给他发送信息的人只要按照公钥B的方式进行加密,得到加密信息X,小孙只需要对X使用自己的私钥解密即可,这样就避免了对称加密中加密方式的传递和破解问题,只要小孙保管好自己的私钥,这个体系几乎很完美,但是大家基本没听懂,对吧?

所以这里必须要举一个例子,一个非常简化的例子,简直就是一个小游戏、小魔术。大家提提神,我们一起小游戏。你现在随便想一个三位数,但你别告诉我,因为怕被旁人听见,你加密后告诉我,你把你想好的这个三位数乘以91,然后告诉我最后三位就行了;然后呢?然后我就知道你想的那个三位数是多少了,办法很简单,就是我把你告诉我的最后三位再乘以11,所得到数字的最后三位就是你想的数字。

那我们试一下,假定你想好的数字是321,想把这个数字加密后告诉我,于是你用91乘以321,等于29211,然后你告诉我最后三位是211,随后我用211乘以11,得到数字2321,这个数字的最后三位不正是你想告诉我的321吗?哇塞,好神奇。

或许有朋友觉得,是不是碰巧了啊。你321这个数字太特殊了啊。Ok,我们再来一次。这回你想好的三位数是598,然后你乘以91,这个乘以91就是公钥;598乘以91=54418,其最后三位是418,所以你把418告诉了我。于是我拿出了我的私钥11,乘以418,得到了数字4598,其最后三位是598,不正是你真正想要给我传递的598吗?我乘以11就是解密的过程。此所谓:公钥加密、私钥解密。就算别人偷听到了你秘密告诉我的418、并且也知道这是经过公钥加密的——也就是乘以91了,但他只要不知道我的私钥、也就是不知道乘以11,那他看着418照样无法解密,只能看着418干瞪眼,无法破解出598这个真正信息。

这就是非对称加密的牛逼之处——“公钥加密,私钥破解”,而传统的对称加密就是加密和破解用的是同样的密钥,而非对称用的两套密钥——“公钥加密,私钥破解”。

此时此刻,估计有盆友觉得震惊了,为什么我一乘11,直接就解密了呢?因为91乘以11等于1001,任何三位数乘以1001的后三位就是三位数本身。

大家注意,刚才这个例子只是一个极其简单的非对称加密。人家比特币所用的非对称加密那是相当的复杂,叫什么椭圆曲线数字签名算法。我们在刚才的例子里面,我们只说了单向的公钥加密、私钥解密,比特币世界里的椭圆曲线算法更神奇,不但有公钥加密、私钥解密,还有私钥加密、公钥解密,私钥可以推出公钥,但公钥推不出私钥。有了这点公钥和私钥的概念,我们可以讲述一下比特币系统下Alice向Bob转账的过程。

你作为一个比特币的用户,自然会有一个钱包,这个钱包下面可以生成一大堆的地址和对应的密码,由用户自主选择一个,甚至每一笔交易都使用一个新的公钥(当然只能是收款),这样可以避免任何人对你的追查,如果你频繁使用一个公钥,这些交易记录大家还可以推出一些有限信息,比如频繁程度,额度大小等,可以对你的财富做一些推测,你的隐私会受到威胁。在比特币的世界里我们把钱包里的地址叫公钥,把对应的密码叫私钥。我们可以简单理解公钥就是我们银行卡账号,私钥就是银行卡密码。我们每一个人在比特币世界里可以有茫茫多的银行卡,而且每张银行卡并不与你本人任何身份信息绑定,这就是比特币的匿名性。任何人只要有这个私钥,也就是密码,就可以操纵对应银行卡,也就是公钥里的比特币。

现在Alice要向Bob转账5btc,Alice会把这条信息用自己的私钥加密并发送到Bob的地址,也就是Bob的公钥,其实就是Alice先使用Bob的公钥加密一层信息,把这条加密后的信息再使用Alice自己的私钥加密一层,这时信息已经被加密了两层,一层是Bob公钥,一层是Alice私钥。大家收到这条信息以后,会用Alice的公钥来验证加密信息是不是Alice发送的,其实就是用公钥解密了Alice这层信息,从而验证了这条信息确实来自于Alice,但是这条信息还使用了Bob的公钥加密,Bob再用自己的私钥对这条信息进行解密,也就是用自己的密码打开了银行账号,也就是用自己的私钥打开了自己的公钥。

理论上如果你找到了一个私钥,那么你就是可以操纵其余额的,因为私钥是可以推出对应的公钥的,然后你就可以像上述一样对这个地址的记录进行数字签名,相当于就掌握了这个地址。反过来说,如果你的私钥丢了,那这个地址上的整个钱也就消失了,你想申诉?申诉个nothing,整个比特币世界是去中心化的,就没有中心机构可以申诉。

早期有很多用户不知道其中厉害,还将私钥保存在电脑里,结果被黑客入侵,私钥被盗,其中的比特币就全没了。所以,千万不要把私钥存在联网的电脑,可以写在纸上,再把纸放在鞋垫下面,这样不但安全、还能增高。或许有人担心,既然私钥是随机生成的,那么有没有可能大家生成了相同的私钥呢?有可能,nothingisimpossible,但这种可能性有多小呢?小到了只有零可以与其媲美,所以大家不用担心私钥重合的问题。

现在要谈另一个重要问题,就是如何验证广播信息的真实性。也就是Alice广播说她要给Bob转5个币,但有可能她在骗人,因为她只有3个币,怎么能给Bob转5个?对呀,如何确认Alice的话是真的呢?以下我会把Alice当做你来说,这样你更有感觉、更有feeling。

四、比特币的制造:区块链与挖矿

大家听到这里,比特币转账的方式有了大体的感觉。大家此刻心中一定憋了一个问题、大问题,货币是各国央行发行的,而比特币是去中心化的,那谁来发行比特币呢?也就是说,比特币是怎么创造出来的。比特币是挖出来的,使劲在网络里挖,就能挖出金矿比特币,简称“挖矿”。挖矿,这当然是很形象的说法,到底啥是个挖矿呢?这里就必须要引入我们的主题概念——区块链。

在比特币的世界里,每时每刻,都会发生很多比类似Alice转账Bob的交易,把每十分钟内的交易记录打包在一起,就叫区块——block。把比特币一诞生就开始的所有交易记录都链接起来,也就是把这些区块连接起来,就构成了区块链——Blockchain。那比特币怎么产生的呢?没有比特币,你交易个nothing,估计有人都急了。别急,马上到关键所在了。

却说每十分钟的交易信息被打包记录,这就是一个区块;整个网络上的电脑都在抢夺这个区块的记账权利,谁抢到这个记账的权利,谁就可以获得这个区块创造出来的比特币。2009年,中本聪创造了第一个区块,被称为“创世区块”,其本人就获得了第一个区块奖励的50枚比特币,这也是比特币世界的第一笔交易记录,永远载入这个区块里。(每一枚比特币都是追根溯源有据可查的)。

所谓挖矿,就是抢夺记账权利,从而获得奖励,奖励就是比特币。为什么会有人不停的挖,因为比特币世界里每十分钟生成一个区块,哪个电脑抢到了记账权、构建了这个区块,哪个电脑就获得该区块的奖励,这就是挖矿。既然可以不停的挖,那比特币这种虚拟矿产就是“取之不尽用之不竭”的喽?NO,绝非如此,比特币的数量是有最高限额的——2100万枚比特币。所以比特币这种矿是越挖越少,中本聪设计的特别妙,就是每个区块的奖励每四年减半。我们刚说了,中本聪造出第一个区块的时候、获得50枚的奖励,四年后,就是到了2013年、奖励就减半了,2017年再次减半。所以当下每个区块的奖励是12.5枚比特币,等到了2140年比特币产量就将趋于0,从而将比特币的总量恒定在2100万枚。截止目前,网络世界已经创造出1500w枚比特币。

简而言之,挖矿就是抢夺生成区块的权利、抢夺记账的权力,也就是抢夺为全网服务的权力。一旦抢到这个权利,所奖励的比特币就写在得到的区块上,然后系统告知整个区块链的所有节点,获得全网确认后,这个区块便成为合法的新增区块,整个区块链又多了一个区块。

现在大家关心的是,既然那么多电脑都争夺记账权,那系统是如何决定谁来记账的呢?中本聪真的很本聪,他的设计是出一道很难的数学题,谁最先算出来,谁就创立了这个区块,谁就获得奖励。这可不是一般的数学题,是一种很傻很傻的数学题,名字叫hash算法。

这个hash算法听着很harsh,这会儿先打住,我们再回顾一下刚才的概念,再继续。

五、公钥私钥钱包比特币之间的关系

刚才说到比特币世界里的公钥和私钥。公钥就是地址,私钥是密码。公钥就是银行卡账号,私钥就是银行卡密码。所谓钱包就是一种电脑软件,它可以帮你生成一系列配套的私钥公钥,你可以随意选择一个公钥作为收款地址,并且使用配套的私钥继续使用它。比特币只有交易记录,所以你的每一个公钥上所谓的余额就是账本上显示的谁向这个地址转账了,私钥作为密码的作用就是可以援引这个公钥的交易记录并对其签名。一个公钥,如果没有私钥与之配套,那就不能对这个公钥进行签名,也就无法发送从这个公钥向外转账的交易记录了。

六、比特币——账本而已

这里必须要明确指出,在比特币世界里是没有实体存在,没有那种类似于钞票这种实体的存在,有人在网页看到了比特币的样子、跟金币似的,那是忽悠人的。比特币——无影无形,我们可以将之想象一个账本,系统里每个节点都有的账本。这个账本记录了从创世到现在的转账记录而已,你的所谓财富其实就是每个条目一条一条的累计。账本的第一条是:创世区块,比特币系统转账给中本聪50btc。你说中本聪收到任何实体的money了吗?完全没有!但是在比特币系统里,中本聪已经在账目上拥有了50个比特币,以后中本聪想要给别人转账,他就可以援引一下这条交易记录,证明自己接受过50个比特币,然后再写一条交易记录要把这个转给谁。明白了吗?整个比特币系统就是一个账本,没有任何实体支撑。

就好比小朋友之间拿一个本子写上Alice给Bob5枚可爱币,Bob给Alice玩一会游戏机。明天Bob又写上我付给Alice5枚可爱币,借她漫画书看一看。这中间没有任何所谓的可爱币,但是Alice和Bob煞有介事的写在账本上,而且二人都当真的时候,这可爱币就成真了。比如我们假设Bob账目上富裕5个可爱币,有一天Bob看上了同桌Tom的一根棒棒糖,但是Bob并没有现金支付。他就对Tom说,能不能把这根棒棒糖给我,我在小本子上给你记账5个可爱币。Tom说你有病吧?你拿个本子神叨叨的给我记录一下我就给你糖吃?Bob说,你别看这记一下,这条记录表明你就拥有了我的五个可爱币,你可以去找Alice借漫画游戏机,不信你去试试。Tom将信将疑的答应了,随后带着小本子去找Alice,在上面记录一条Tom转账5可爱币给Alice。Alice欣然同意,并借给Tom游戏机玩了一天。第二天Tom对Bob说,太神奇了!你这可爱币还有吗,能不能再跟我换一点?Bob呵呵一笑,这可爱币,看不见摸不着,就在这个帐本里。而且很遗憾,我并不能伪造,我收到的可爱币必须是别人写记录给我的!Tom小朋友并没有见到所谓的可爱币,但他似乎感受到了那个账本的魔力,好像真的就有像棒棒糖形状的可爱币藏在其中。

是的,比特币就有这个魔力,虽然只是个账本,但仿佛就是一枚一枚的金币。好了,大家现在应该已经理解了,比特币就是一个去中心化的记账,而且是公开透明的账本,任何随时都可以查账。

七、比特币转账——签名认证:hash算法

关于比特币的转账的问题,我们先前已经说过,但很粗略,尤其是在签名认证这个点上,几乎是一嘴带过,现在好好说一说。

现在就是要好好讲讲:如何验证信息是否为Alice本人所发的。不妨想想生活中我们使用信用卡也需要签名来确认是否为本人所使用一样,这里需要的是数字签名。具体流程是结合了第一集提到的的非对称加密和hash算法的。

这个hash算法是只能验证不能求解,什么意思?我们举个简单的例子,体会一下hash算法的精神;比如根号17202这个数的后几位小数是9291430,系统只发送9291430这个数,有没有可能猜到是哪个数的开平方后的后几位小数呢?这就太难了。但也有办法,那就是穷举法,一个数一个数去尝试,说个最笨的方式,你就从1开始尝试,最后终于尝试到了17202,惊喜地发现,这位仁兄、的开根号、的后几位、就是9291430,然后你就很激动地告诉大家:这个数就是17202。大家一算果然是,你好牛啊,你是花魁啊!

咋样,这就是hash算法,它的加密规则是公开的,就是将原本的数字开根号取后几位小数,但你很难靠这几位小数推测出来原本的数字,唯一的方案就是暴力破解、穷举法,最终可以将原本的数字验证出来,这就叫hash算法。注意,刚才只是说的一个简单的例子,真正的hash肯定是很harsh的,是很复杂的,但都是这个气质。

现在我们把hash算法这个过程抽象为h(),我们要加密的信息记为M1,则hash值为h(M1)。我们知道hash值是不能反推出来的,而且也不存在说另外一条信息M2,使得h(M2)=h(M1)。

Alice向Bob转账这个过程中,Alice要需要发送两部分内容:一是援引的之前的交易记录,二是此番Alice要向Bob转账的交易记录,此两者构成了Alice要向Bob发送的整体信息,我们将之记做M1,可以想象这些信息都已经数字化了,即便Alice和Bob这两个人也是以公钥或者说是地址来代替的,双方都是匿名的嘛;我们只是为了表达方便,才直接说成Alice和Bob,其实是Alice用她这个地址给Bob的那个地址转账。

如果Alice只发送这个整体信息M1,别人怎么确定就是Alice发送的呢?这一切必须要获得比特币世界所有人的认可啊。所以Alice在发送M1之前,还要对之签名。怎么签?签什么?那就是Alice要对整体信息M1hash一下,你就可以简单地认为、对M1进行了开根号,然后得到最后三位是369,也就是h(M1)=369。然后我们以第一集所讲的91×11为例,Alice私钥为11,公钥为91。那么Alice就会把这个h(M1),也就是369乘上11的后三位059,连同信息本身发送出去。这就是Alice完成了数字签名。

Alice周围各个节点收到信息以后呢?首先使用Alice的公钥也就是91对这个059进行解密,也就是059×91=5369,取后三位还原出信息为369。然后再对Alice发送的原文信息M1进行hash,发现结果也为369,这不就验证成功了吗?这信息的确是Alice所发送的。

再略微展开一下,这里使用了跟Alice私钥配对的公钥,因为只有配对的公钥私钥才能解密,所以这个解密成功表明了确实是Alice发送的信息;其次,对Alice发送的原文进行了hash计算,发现也是369,也说明了Alice发送的信息没有被别人篡改。所以这些从哪里转来的又转到哪里去的信息确确实实是Alice发送的,然后大家再核对这些交易记录跟已有的账本是否冲突;如果不冲突,我们就确认了这条交易记录。即Alice的地址向Bob地址转账5btc这个记录有效。等到Bob想要花掉这5个btc时候,他就需要援引这条交易记录,同时对内容进行hash,再用这个公钥地址配对的私钥进行签名,同时发送信息,周而复始,妙不可言。中本聪,你是大葱中最聪明的那根葱。

现在我要把刚才的验证过程再简单地梳理一下:ALICE在发送整体信息M1之前,先对M1进行了hash,发现结果是369,于是用私钥处理了369,也就是乘以11,将后三位059连同信息本身发送出去。这就是Alice完成了数字签名。Alice周围各个节点收到信息以后,先用Alice的公钥也就是91对这个059进行解密,即就是059×91=5369.又发现将Alice原文信息M1进行hash,发现结果也是369,从而确认这天信息的确是ALICE发送的。你们说妙不妙,众妙之门,此门最妙。

八、区块、hash、挖矿

好了,明白了转账过程,我们要进一步讲解区块、区块链,只有这样我们才能真正明白“挖矿”的原理,了解比特币是如何创造出来的。

我们先前是这样简单描绘的:在比特币的世界里,每时每刻都会发生很多类似Alice转账Bob的交易,我们把每十分钟内的交易记录,就叫做区块。把比特币一诞生就开始的所有交易记录都链接起来,也就是把这些区块连接起来,就构成了区块链——Blockchain。整个网络上的电脑都在抢夺新生区块的记账权利,谁抢到这个记账的权利,谁就可以获得这个区块创造出来的比特币。现在要对此深入解读。

我们可以这样想象,每一个区块就是一个块、一个方方的区块;每个区块都有自己的标记、也就是有自己ID。这个ID可不是随便定的,而是整个区块的hash值,也就是将这个区块的所有信息hash之后所得的那个数字,这个hash值是唯一的,并且与此区块绑定;

每个区块的第一层是上一个区块的hash值,表明这个区块排在上个区块后面,然后中间层是这一个区块的交易记录,底层是一个随机数。一到三层的内容会生成区块的hash值,即本区块的id。所谓挖矿,就是去猜底层的随机数,一旦才对了随机数,也就解出来这个区块的hash值。为什么呢?因为本区块的前两层信息是公开已知的,而只有底层随机数是不公开的,所以谁猜到了随机数,也就可以解出本层的hash值。

那这个随机数又是怎么猜的呢?是用暴傻方式猜的,又暴力又傻逼的方式,此所谓穷举暴力尝试法。就是各位矿工一个数字一个数字地试,直到有人到率先找到第一个符合这个规则的hash值。简单地说,就是新区块的hash值已被网络所确定,而矿工在不断计算、并核对,一旦哪位算对了,网络就给予确认,然后奖励他比特币。更确切地说,是网络事先定下了一个规则、一个公开的规则,比如说:要求这个hash值前面有15个0开头,哪个矿工率先找到第一个符合这个规则的随机数、就算猜出了这个hash值,他就会向全网广播“各位挖矿的labor们,你们不用算了,我算出来了,这个随机数是xx,这个hash值是xxx”,正在埋头苦干的矿工们一验算,发现这货算出来的hash值果然满足规则,嘴里嘟囔了一句shit,赶紧把这个hash值作为本区块的表示,并在这个区块的基础上继续计算下一个区块的hash值,心中默念:下回就该我抢先一次了。

由于hash值是这个区块的唯一标识,而且随意更改一点信息就会显著改变这个hash值,所以比特币世界的历史交易记录是不可能被篡改的。具体来说,每一个区块的hash值=上一个区块hash值本区块的交易记录+本区块的随机数。如果我们篡改了交易记录,这个hash值就会改变,这就不被认证,就不允许了。所以一旦生成一个区块,其配套的hash值成为唯一标识,且不可更改。

估计很多朋友更关心区块底层的随机数,那到底起了一个什么作用。首先当然是让矿工去猜去计算、去暴力尝试,另外它还起到一个作用,就是去平衡算力,从而保证是平均每10分钟产生一个区块。如果矿工的设备变得先进了,引进了什么阿尔法狗呀、猫呀的都来了,那全网算力就提高了;那怎么办?很简单,就会增大随机数的难度,还是能平衡在每10分钟左右产生一个区块。比如,本来系统要求hash值前面有15个0开头,但如果算力上升,系统就要求寻找hash值开头必须有20个0,难度就陡然加大了;反正是不能让你上房揭瓦,好好挖矿,就是10分钟一个区块。

九、区块链的形成及小总结

我们从头梳理一下比特币的运行过程。2009年1月3日,中本聪创立了比特币系统,当时全网没有算力,只有他在挖矿,所以很顺利,它计算出了满足第一个区块hash条件的随机数,并计算出了此区块的hash值,同时得到这个区块的奖励,50个btc。

最初几个月,几乎没人来参与,渐渐地人一点点的变多,每个时刻开始有交易产生,随着全网算力的提升,系统要平衡hash值的计算难度,为了保证有人记录10min左右的交易记录,因为10分钟的交易记录不多不少刚刚好。如果hash值太简单,一秒钟就被人破解出来,所生成区块的交易记录就存储得太少;反之,如果计算难度太大,那每个区块需要打包的交易记录又太多,所以就要用合适随机数难度、将之平衡到十分钟一个区块。

现在,这个系统有一定的矿工维系这记账的责任,有一定的玩家有日常的交易需求,矿工们开始辛勤的挖矿即不断尝试每个区块的随机数直到尝试出来符合当前hash值规则所要求的hash值,当尝试出一个随机数并成功时,会马上向全网广播“我成功啦,我得到奖励了,兄弟们赶紧在我后头继续挖啊”,大家会将他公布的随机数进行验证,发现基于这个随机数所求得的hash值确实所要求的hash值规则,那大家就认可了,并这个区块的标题就定为这个hash值。基于这个hash值,大家再去奋力计算一个区块的hash值,如此goonandon,区块链就形成了。

区块链,它到底是怎么链在一起的呢?难道一个区块和一个区块之间真有一条链子吗?是这样的,区块就是每10min的交易记录,区块链就是区块连接起来的整体,这就记录了所有的交易信息,所以中本聪09年的那个区块叫创世区块。每个区块所包含的信息是:上一个区块hash值(表明连接关系)本区块的hash值(id)本区块交易记录本区块随机值(用以调整本区块hash值难度)。

这下子大家明白了,区块之间为什么能链起来,就是因为每个区块都包含了上一个区块的hash值,那当然就链接了起来,仿佛区块在排队,一个跟着一个,谁也别插队。这也保证了,谁也无法篡改交易记录,因为一旦更改区块内容,会改变此区块hash值,导致链接关系发生混乱了,那就会被大家所发现。注意,hash值对初值极其敏感,随意修改一点点就会造成完全迥异的hash值,会产生混沌,发生蝴蝶效应。谁敢篡改,就会飞蝴蝶,蝴蝶一飞,系统发生大地震,谁人不知呢?

如下图就是区块链,其中省略了交易记录和随机值

FIG1这个图是一个block的样子

FIG2

有了这个区块链,意味着网络的每一个节点都存储了本聪开创比特币以来的所有交易记录,每一条信息谁都可以查。这个系统可真是太棒了。但它有没有漏洞呢?还真有,nothingisperfect。

十、双花问题

这个漏洞就是双花,doublespending,不是doubleflower。

既然有人在抢着记账、记好的账本又不能篡改,我们还可以验证每条消息的真伪,这似乎很完美了啊,但为何还有什么doublespending呢?我们举例说明之。

比如我只有5个比特币,我先向老张转账5btc,同时再向老赵转账5btc。这就是双花,我把5个比特币化了两次。这就是所谓的双花问题,这是一种诈骗行为,如何预防?

正常情况下,一定是先有一条信息被大家打包,然后第二条信息由于与第一条信息冲突而无效。但是,我如果是同时双花的,也就是一边广播:我向老张转账5btc,与此同时又广播:我向老赵转账5btc。这样,就会有两个矿工分别打包了这两笔记录,这就叫做分叉,即同时有两个区块生成了。如果要真是如此,大家都去双花了,5个比特币能化两次5个比特币,岂不就乱套了,比特币系统成了骗子横行的世界了。

比特币的规则是只有最长的区块链得到确认,最长的区块链才会有挖矿奖励。所以正常大家都会切换到长链上挖矿而将短链废弃掉,这样就会有一笔交易作废了。所以一般转账之后比特币网络建议大家等到一个区块确认了,此时再发货就比较安全。

Bob若想万无一失,就不能急着发货,要等到自己的链条足够长的时候才发货。一般来说再等上六个区块的形成,就已经很保险了。Alice想废掉已经又加长了六个区块的长链,就必须自己加长自己的短链,来超越那个长链。为什么非要自己加上呢?因为矿工都会在长链上挖矿,只有最长的区块链才能得到确认,才会有挖矿奖励。Alice要凭一己之力,让自己的短链超过长链,有肯能吗?nothingisimpossible。双花ispossible,但前提是Alice的计算能力强大无比,因为区块由谁所生成,决定于谁最先算出Hash值,也就是要决定于算力——计算的能力。

如果Alice掌握了全网51%的算力,那么她有51%的概率抢夺到下一个区块的记账权,当她在对自己有利的那个区块后继续生成区块的时候,她就会让Bob收不到那5个btc,这就是所谓的“51%攻击”。这似乎是可行的?但是,Bob听了我们的节目,他变聪明了,他不是等一个区块就发货,而是等了六个区块的确认才发货,因为已经生成了六个区块,那这一定是主链,关键是矿工也都相信这是主链,所以都会在这个链上继续挖矿来获得奖励。

Alice为了使Bob的这笔转账失效,她必须在对自己有利的那个链上连续生成区块而且赶上主链。与全网斗争抢夺记账权连续六次,如果算力一般这几乎不可能,如果算力超强倒是有可能实现。不过如果Alice只为了喝一杯咖啡就如此消耗巨额算力成本似乎不值得。可能发动双花攻击的原因是大额转账,但是我们可以发现,只要区块链越靠后,安全性越高,比如我等这个区块链确认了10次,那么想要追上主链就必须连续抢夺十次记账权,这个难度是几何级数上升的。一般而言六次就已经很安全了,所以比特币系统也认为一笔交易如果确认了六次就算有效了。由于每一个区块是十分钟生成,确认六个区块也就是一个小时,相比于普通几秒到账的银行转账,这个确实慢了好多。

我们对双花问题再说一遍。Alice先有目的的向网络两边散布两条交易记录(当然是网络拓扑结构的两边而不是地理结构的两边),当两个区块2与2a都形成了以后,Bob觉得交易记录被确认,开始发货,此时Alice为了让这条信息失效,必须在对自己转账的那个链上开始抢夺记账权力,每一个区块的生成必须基于上一个区块的hash值(回顾一下抢夺记账权力就是暴力尝试随机数算出复合规律的hash值),所以Alice就要连续抢夺若干次直到对她有利的这条链成为主链,使得向Bob转账的链条成为短链,所有短链上的交易信息返回待打包的池子,挖矿挖出的比特币也会返回,也就是吃进去的比特币再要吐出来。也就是说,一旦对Alice获得了coffee,然后又将对自己有利的链条长度、超过向Bob转账的链条,那么Bob所获得的5btc就会被收回,也即是这个交易记录作废了因为比特币规则只对最长链挖矿有奖励。

但是如果Bob等了六个区块后、依然处于长链状态,然后再发货就没有问题了,因为全网算力都会集中在长链,一旦长链至少有6个区块的领先,Alice再想要追赶这个长链、以便让这些交易记录作废就会非常非常难。即便Alice神通广大到掌握了全网51%的算力,抢夺记账权的几率就是51%,连续六次都成功的概率就是0.51^6=1.7%,这就是所谓51%攻击,如果仅仅掌握三成算力,那么这个概率就是0.07%了。

FIG3

十一、2140年后,记账没有奖励了,系统如何进行

反正是,双花这个漏洞可以通过交易的等待来阻止。但比特币系统似乎还有一个漏洞,就是到了2140年,比特币的总量已经到达了事先规定的上线——2100万枚,那么抢夺到记账权也没有比特币可以奖励了,那谁还会去记账呢?这个本聪早就想到了。到那时,比特币世界的每一笔交易就需要交一定的手续费,交给谁呢?交给了抢夺区块记账权的人。也就是说,挖矿从过去的获得比特币的奖励,变成了获取交易的手续费,所以照样有矿工去挖矿。

现在大家都清楚了,所谓比特币挖矿,实质就是中本聪巧妙地设计了一个激励机制,给维护这个去中心网络的人的奖励,同时也解决了货币如何分配的问题,因为每个人都有挖矿的权力,至少从理论上这是相对平等的说法,人人都有机会去挖矿,去获得比特币。

十二、区块链技术引领未来

区块链技术就是我们运行比特币的这套系统,大家明白这种气质就好,就是一个资产公开透明可查的、匿名的、去中心化的记录,是一个无法作弊的网络运行协议。光听字面意思大家有点迷惑?又公开透明又匿名,这好矛盾啊!这里非常不矛盾,在区块链或比特币世界的玩家,每个人的身份是匿名的,你可以有多重身份、也就是有多个公钥、也就是有多个地址,这就很好地保障了你的匿名性,人家只知道你的地址,但根本不知道你是谁,你只有一个,但一个你可以有很多地址。你的匿名性虽然很好,但区块链的游戏规则却让你无法作假,你在其上的每笔交易都是公开透明的、无法作弊的。此所谓又匿名、有公开透明。这个公开透明和匿名共同保障了去中心化的信仰——freedom自由!一个完全没有压力、又公平的自由世界。

正因为如此,虽然很多业界人士不看好比特币、但非常看好区块链技术,各个国家央行纷纷成立区块链技术的研究所,华尔街的大银行也都开始涉足区块链技术的创业与投资项目,可以说是风头最盛的金融科技项目了。

比如你准备和隔壁老王赌球,老王发誓中国队进不了世界杯,如果进世界杯老王给你100万,没进世界杯你给老王一万。但是你害怕老王耍赖,为了进行赌局,很可能需要找一个第三方机构,两边都把钱打进第三方,由第三方托管,金融行业很多时候就是干这个中间人行业的。问题是中间人不是没有代价的,一方面,比如一百万的赌局,中间人抽1%就是一万块钱啊!或者中间人直接来个卷包会,带着赌资跑了。如果有智能合约,两边都将钱打入指定账户,然后电脑根据人民日报的信息来自动执行,两边都没有赖账的可能。同时这个合约就像比特币的交易信息一样,无法篡改,全网备份,无法销毁。

签订合约这件事有多重要呢?这太重要了,看看整个世界最挣钱的几个行业,律师,保险,银行等等,这些行业公司的大楼一般也都占据了最豪华的商业CBD,是什么让他们这么赚钱呢信用!包括金融行业里的子行业——信托,其英文就是trust,很多时候都在干我们上述中间人的职能,人们把钱给保险公司本质上就是对这个保险公司的trust,这就是你对大机构信任所付出的溢价。如果智能合约普及开来,我们就无需为这种信任付费,我们买卖股票,存贷款,一纸合约不需要第三方发起,不需要监管机构解释、背书等等增信工作。我们只需要在peer-to-peer的网络里发起,只要有人愿意与你签订,那么这个合约就是有效的并且是清晰且可以被执行的。

大家想象,光在金融领域的信任就催生了这么富有的产业,那整个人类社会的信任问题拥有多大的市场?如果区块链技术能够解决这些信任问题,那人类社会将会发生多么巨大的改变,真是不敢想。

所以区块链技术最开始解决的是支付问题,随后的智能合约也即是2.0版本大家都能想到的就是未来应用在金融行业各个领域上,而且这个可以说是最接近落地的项目了。几乎金融行业所有需要中间人的信任问题,比如交易所,比如传统机构扮演的中间信用增级服务,都是可以被区块链技术取代的。比如我们熟悉的支付宝解决淘宝买卖服务,就是买家与卖家的互不信任转化为大家对支付宝这个中心机构的信任,商业银行很多中间业务比如信用证,都是在解决类似的问题,这些都几乎肯定会被区块链技术革命。

到了区块链技术的3.0版本,我们可以畅想一下所有需要解决彼此陌生互不信任的个体之间的信任问题的地方都可以使用区块链技术。

首先区块链技术的不可篡改,可以追查的特性,非常适合存在性证明。现实生活中我们经常会遇到房产证明,个人学历证明等等信息证明问题,区块链的不可篡改特性完美解决这个问题。每个人的身份标识一旦被全网公证,那么这个信息就是可以追查,可以证明的,目前这方面应用已经有不少创业项目了。

其次,政府可以用于投票,同样利用了匿名,不可篡改,全网公证的特点。澳大利亚政府正在落地这个项目。

最后,所有的去中心化系统,比如共享经济,如共享单车,共享租车,共享公寓等等,都是非常适合结合区块链技术的,对于每一样共享产品的历史信息都可查,很契合解决陌生人之间共享的信任问题。

其实,区块链这个底层技术未来到底能解决多少问题,是一个人类想象力的问题,我坚信,还是那句话,但凡涉及到解决彼此陌生互不信任的个体之间的信任问题的地方都可以使用区块链技术。

数据分析咨询请扫描二维码

《Python数据分析极简入门》第2节7Pandas分组聚合分组聚合(groupby)顾名思义就是分2步:先分组:根据某列数据的值进行...

数据分析需要学习的内容非常广泛,涵盖了从理论知识到实际技能的多个方面。以下是数据分析所需学习的主要内容:数学和统计学...

数据分析师需要具备一系列多方面的技能和能力,以应对复杂的数据分析任务和业务需求。以下是数据分析师所需的主要能力:统计...

数据分析师需要学习的课程内容非常广泛,涵盖了从基础理论到实际应用的多个方面。以下是根据我搜索到的资料整理出的数据分析师需...

《Python数据分析极简入门》第2节6Pandas合并连接在pandas中,有多种方法可以合并和拼接数据。常见的方法包括append()、conc...

《Python数据分析极简入门》第2节5Pandas数学计算importpandasaspdd=np.array([[81,&n...

数据分析涉及多个方面的学习,包括理论知识和实践技能。以下是数据分析需要学习的主要方面:基础知识:数据分析的基本概念...

数据分析适合在多个单位工作,包括但不限于以下领域:金融行业:金融行业对数据分析人才的需求非常大,数据分析师可以从事经...

数据分析是一种涉及从大量数据中提取有用信息和洞察力的过程。其工作内容主要包括以下几个方面:数据收集与整理:数据分析师...

数据分析师需要掌握多种技能,以确保能够有效地处理和分析数据,并为业务决策提供支持。以下是数据分析师需要掌握的主要技能:...

数据架构师是负责设计和管理企业数据架构的关键角色,其职责涵盖了多个方面,包括数据治理、数据模型设计、数据仓库构建、数据安...

数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能:...

数据分析师需要具备一系列的技能和能力,以确保能够有效地处理、分析和解释数据,从而支持业务决策。以下是数据分析师所需的主要...

需求持续增长-未来数据分析师需求将持续上升,企业对数据驱动决策的依赖加深。-预测到2025年,中国将需要高达220万的数据人...

《Python数据分析极简入门》第2节4Pandas条件查询在pandas中,可以使用条件筛选来选择满足特定条件的数据importpanda...

数据分析师的工作内容涉及多个方面,主要包括数据的收集、整理、分析和可视化,以支持商业决策和问题解决。以下是数据分析师的一...

数据分析师必须掌握的技能可以从多个方面进行归纳和总结。以下是数据分析师需要具备的主要技能:统计学基础:数据分析师需要...

数据分析入门的难易程度因人而异,总体来看,入门并不算特别困难,但需要一定的学习和实践积累。入门难度:数据分析入门相对...

THE END
1.2024淘宝双11报名条件是什么?规则和入口在哪里看?随着2024年淘宝双11购物节的临近,众多商家和消费者都在密切关注着这一年度盛事。淘宝双11不仅是购物狂欢的代名词,更是商家提升销量、扩大品牌影响力的重要时机。因此,了解2024年淘宝双11的报名条件、规则和入口显得尤为重要。本文将详细解析这些关键信息,帮助商家和消费者更好地参与和享受这一购物盛宴。 一、2024淘宝...https://m.3wcode.com/article/84774.html
2.淘宝优惠券领取入口官网(淘宝优惠券领取入口官方网址)淘宝优惠券领取入口官网是淘宝网为广大用户提供的官方优惠券领取平台。在这里,用户可以轻松领取各种优惠券,包括店铺优惠券、商品优惠券、现金券等,让您在购物时享受更多的优惠。 二、如何进入淘宝优惠券领取入口官网? 要进入淘宝优惠券领取入口官网,您只需在浏览器中输入官方网址,即可直达官网。此外,您还可以在淘宝APP...https://www.jianshu.com/p/495b4aa5b12c
3.消费者联盟领取淘宝天猫优惠券步骤第一、 首先我们下载消费者联盟后进去到首页,里面的所有商品都是有优惠券的,想要哪个商品就点击哪个商品。 第二、 点击商品进入到商品详情后点击下方的立即分享功能。 第三、 立即分享功能里除了分享到朋友圈、微信和qq,还能直接仅复制分享文案,然后打开淘宝就会自动弹出优惠券的页面。 第四、 最后我们凡是通过消费...http://m.qicaisi.com/bk-1167205.shtml
4.最全淘宝闲鱼处罚违规节点考试答案.docx最全淘宝闲鱼处罚违规节点考试答案,最全,淘宝,闲鱼,处罚,违规,节点,考试,答案没有找到答案的找我哈,三分钟就可以完毕https://www.renrendoc.com/paper/221351173.html
5.阿里巴巴淘宝一般违规节点处罚考试试题和答案.pdf阿里巴巴淘宝一般违规节点处罚考试试题和答案.pdf 14页VIP内容提供方:343906985 大小:883.1 KB 字数:约1.12万字 发布时间:2023-06-12发布于中国 浏览人气:34 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)阿里巴巴淘宝一般违规节点处罚考试试题和答案.pdf 关闭预览 想预览...https://m.book118.com/html/2023/0609/6130232202005142.shtm
6.关于淘宝网会员严重违规节点处理的相关疑问总答:被节点处理之后,体检中心首页会有相关的处理提醒,你可以通过点击“参加考试”进入到考试页面。 疑问四:淘宝节点考试有没有时间限制? 答:节点考试没有时间限制,收到节点处理通知后请及时参加考试。 只有当节点考试通过,并且处理期满,店铺被删除的还需要完成认证激活店铺后,节点处理动作才会完结。 http://www.jingtaoweb.com/news/51.html
7.淘宝开店考试题库以及参考答案系列题之11本文的淘宝开店考试题库(包含题目和答案)是卖家店铺被淘宝执行节点处罚后,系统随机出现的一套完整题库,供卖家朋友们学习。 淘宝考试题库11-30题,题库和参考答案分别都罗列出来了。 11. 在淘宝开店以后,什么情况下会被查封账户? A 只要违规了,就会被查封账户 ...http://www.ittribalwo.com/article/2858.html
8.淘宝考试答案2.doc下载得到文件列表 淘宝考试答案2.doc 相关文档 文档介绍文档介绍:1、一般违规行为节点处罚里的屏蔽天数为几天?【答案】7天2、下列哪一项不是《淘宝规则》中规定的节点处罚的处罚措施?【答案】没收商品3、下列哪个不是规则频道中的栏目?【答案】投诉维权4、全新《淘宝规则》是何时生效的?【答案】2010年11月11日5、...https://m.taodocs.com/p-275287115.html
1.手淘搜线报「淘宝秒杀」手淘搜【淘宝秒杀】-搜标题加购库迪海盐焦糖系列2选1单杯电子券,4.9 库迪海盐焦糖系列2选1单杯电子券 直充到账 全国通用https://www.52huixz.com/detail/677362675.html
2.田东欣茂资讯4、活动效果:参与淘宝今日必抢活动后,要密切关注活动期间的销售数据和顾客反馈,及时调整策略,以提高活动效果。 是关于淘宝今日必抢活动的报名流程和注意事项的介绍,希望本文对你有所帮助,如果你还有其他疑问,可以咨询淘宝客服或查看淘宝平台的相关帮助文档,祝你在淘宝今日必抢活动中取得成功!https://www.loandpayday.com/news/zdxgV9skt8.html
3.如何找到淘金币现金抵扣活动的报名入口及常见问题解答在互联网购物的浪潮中,淘宝作为一大电商平台,始终在不断创新和推出更具吸引力的促销活动。而其中,淘金币超级抵钱活动无疑是吸引卖家和买家的重要手段。如果你是淘宝卖家,想要参与此类活动,了解报名入口和注意事项将至关重要。本文将为你全面解析这个活动的各个方面。 https://www.9200.cn/167724.html
4.淘宝节点考试在哪里?违规考试可以提前考吗?卖家考试题目会在创建店铺时或处罚期满后开放入口,进入即可查看到考试题目哦;亲,您可以进入【体检中心】-【首页】-【参加考试】进行考试哦。 我们如果要在淘宝开店的话,是必须要通过淘宝开店考试的,而且在淘宝平台中有违规的行为的话,可能还需要去进行考试。今天为大家介绍淘宝节点考试方面的内容。淘宝节点考试在哪里...https://m.maijia.com/article/506023
5.淘宝天猫店铺客服考试入口及规则考试内容本篇文章主要为朋友们分享淘宝天猫店铺客服考试入口及规则考试内容,让大家更清楚做淘宝天猫客服从哪里进入网站进行客服考试,又讲解了客服规则考试的内容包括哪些。 天猫客服被投诉的事件是屡屡发生,作为天猫的客服要时刻注意自己的言行,还有对客户的态度,天猫客服规则大全中的一些规则可以预防客服被投诉事件,下面大家一起来...https://www.mmker.cn/article/4188.html
6.云客服基次程培训考试答案(精选6篇)D.普通提现方式进行提现,提现的金额,会先在支付宝内冻结,大约2-3天左右到达自己的银行卡内。答案:BD回答:BD得分:1 第7题(多选题,分值:1分)关于淘宝账户注册,以下选项正确的是A.淘宝账号,支付宝账户可以单独分开注册。 B.注册淘宝账号的时候需要通过手机或邮箱进行验证,如果选择的是手机验证,必须是手机没有被...https://www.360wenmi.com/f/filetg87t87v.html
7.怎么查看淘宝别人商铺链接历史发布时间?考试过程需注意问题:(1)考试没有时间和次数限制;(2)考试是开卷的;(3)考80分可以通过;(4)中途关闭了考试页面需要重新考试。参考资料:淘宝网-节点扣分对店铺的影响是什么?参考资料:淘宝网-被一般违规行为节点处罚怎么办?参考资料:淘宝网-账户被处罚限权后在线考试说明 有用(0) 回复 举报 ...https://wap.zol.com.cn/ask/details_16165506_907765_3.html
8.2017淘宝店铺节点考试答案?对于2017淘宝店铺节点考试答案这个问题,很多开店的卖家都想知道,因为只有顺利解答这些问题,才能顺利开店,那么今天就给大家总结下2017淘宝店铺节点考试答案,一起来看看吧! 下面汇总的就是2017淘宝店铺节点考试答案,大家可以牢记下,等到需要考试的时候应该是帮助很大的。 https://www.kaitao.cn/article/20170820233043.htm
9.淘宝店铺没有通过过年检和复核怎么办?淘宝节点考试的方法淘宝节点考试的方法 淘宝出现一般违规节点处罚,这是因为店铺没有经过年检和复核,可能会引起商品被下架,如果这时候贸然上架可能就会导致封店一周,需要节点考试才能解封店铺,该怎么参与节点考试呢?请看下文详细介绍。 1、登录淘宝卖家中心,找到“违规记录”,点击打开。 https://m.jb51.net/dianshang/603219.html
10.淘宝开店考试试题及答案7篇(全文)32、一般违规行为多少分为一个处罚节点?C A、10 分 B、16 分 C、12 分 D、20 分淘寶開店考試 33、淘宝上不允许发布枪支弹药、暴力色情书刊等国家相关法律法规所禁止的商品,这类规则在《 淘宝规则》 中的哪几条有所规定?C A、恶意评价 B、竞拍不买 ...https://www.99xueshu.com/w/filexe3jvsro.html
11.双十二活动结束后的总结(通用8篇)这一步是一个活动评价,因为你不能拿一个没有销量的店里的产品去活动,就算你想上去,淘宝也不会同意。所以,一般来说,市面上的产品都是我们店里最受...在时间上和心情让客户的购物体验,大大落差,价值感受到严重挫折,本来网上购物就是一件麻烦事,从客户准备考试到他下单购物是一个很漫长的过程。如果我们在搞...https://www.yuwenmi.com/fanwen/zongjie/2586671.html