区块链的一些概念
区块链的一些概念
对于没有接触过区块链的人来说,区块链究竟是什么可能有点难以理解。本文将介绍一些区块链的基本概念和运作方式,并解答一些常见的问题,并把目前热门的BTC作为分析案例。
区块链是什么?
首先想象这样一种情况:在现实中你通过银行发起了一笔转账,银行怎么保证这笔转账的权威性,即交易的存在性和数额不会在日后受到质疑或篡改?答案是银行会存储这笔交易记录,以后谁要不承认的话查出来看看就老实了。而区块链也是同样的原理,只不过它把交易记录以及一切账户的操作存储在一条链上,是一个巨大的账本。
你可能会问,银行是通过自己的权威来保证大家都相信这些交易记录,那你区块链拿什么保证?这就涉及到区块链的一个重要的性质:不可篡改性。这种性质保证了记录一旦被写进去就没人能改(暂时这么理解吧),就像如果有一本神奇的书,记录了从创世之初到现在发生的一切事情,就没人能抵赖了。由于这篇文章只介绍概念,就不深入说明它怎么实现不可篡改了,你只要知道改区块链上的内容没有拿橡皮擦账本一样简单就行。
理解“块”和“链”的概念
如果你学过一点c++,一定就知道链表的概念,它是一系列首尾相连的存储块,每个块里可以存一些东西。如果还是无法理解,可以具像化成一串被数据线串起来的硬盘。 而区块链也是一模一样的结构,只是在块中存的是交易记录,而且每个块都有一个地址,可以通过地址来快速定位块。每个块都存有前一个块的哈希值,这样一路接下去就会形成一条链。
区块链具体怎么运作?
假设地址A要往B转账一个BTC,这时候A要发起一个交易。之前说了区块链上所有交易都必须被记录而且不能篡改,那把交易记录在区块上这件事由谁来做呢?由矿工来做。矿工的概念下一节说。总之,A发起的交易会被放进一个交易池,直到这笔交易被某个矿工看中,并把它打包到区块上。打包(记录)完成后,这笔交易就算完成了,A会被扣1BTC而B会多1BTC(具体的转账操作由合约实现,这里也不细说)。
常说的“挖矿”
如果你没专门了解过区块链,可能会好奇挖矿到底是在干啥,为什么用n多张显卡一直转就能挖到比特币,这一节大致介绍一下。 首先,从交易池中把交易打包到区块其实就是在记账。但是这个记账的过程也没有现实中你拿笔写在 纸上那么简单。区块链会设置一个哈希值限制,而矿工要做的就是找到一个nonce
值,使得SHA-256(区块头信息+nonce)< 哈希值限制
。简单来讲,就是矿工要不断暴力枚举nonce
,直到试出一个值满足上述条件。你可能听说过BTC挖矿就是解决难题获得报酬,要解决的难题其实就是试数算哈希。听起来很简单对吧,事实上没那么简单,要不然我也去挖去了还上什么学。
工人干活是要求报酬的,矿工打包一个区块(记几笔账)也能获得相关的报酬。在BTC中这个报酬通常由两部分组成:一是这笔交易的手续费,二是区块奖励(每打包一个区块可以获得6.25个BTC)。区块奖励我上面已经说过了,只要你第一个算出符合要求的nonce
,就获得了记账权,那你就有资格打包这个区块并获得奖励。 而手续费和一般的手续费不同,BTC交易的手续费是用户自己定的,你想交多少交多少。你可能会觉得这挺不错,那岂不是可以不交了。但并不是这样,由于手续费是矿工收入的一部分,所以所有的矿工都会优先选择那些手续费高的交易。如果你不交手续费,就没人愿意把你的交易打包到区块上,那交易就无法完成。看到这里你能明白,BTC交易支付的手续费其实就是在买一个打包服务。
还有个没解释的事是,为什么区块链要设置一个哈希值限制呢?有人记账不就行吗,为什么要引入竞争? 其实这是为了反垄断。假设没有哈希限制,你随便生成一个nonce
就能打包,与此同时,在地球的某个角落有一台算力占全球总算力一半以上的计算机,那么此时它就会获得几乎所有区块的记账权,到后期当它对区块链的控制超过50%时,甚至可以利用这种权力来修改区块(这就是51%攻击,想象你在一场表决中拥有50%以上的绝对拥趸是一件多么舒服的事)。到这个时候这条区块链就没有“去中心化”和“共识”可言了,那样的话就会出现我即中心,我的意志即是共识的霸权。设置哈希限制让所有的矿工能够相对平等地竞争,防止某几个具有强大算力的节点迅速控制整条链。
为什么BTC越来越难挖了?
比特币的价格近几年都在爆炸式增长,路边的狗都想来参与一下挖矿,这就导致比特币链在以飞快的速度生成新块。为了控制这种情况,BTC每生成2016个块就会调整一次难度(通过调低哈希限制实现),把每个块的生成时间控制在10分钟。同时,每挖出210000个块,就会减半一次区块奖励。虽然现在挖一个块给6.25个币,但在最初的2009年,区块奖励高达50BTC。在这双管齐下的政策下,现在挖矿变成了一件巨难的事。
全世界无卡者联合起来——矿池是什么?
上边说现在挖矿很难,而且挖矿需要和超级计算机争夺记账权。你可能会问,我自己的电脑连显卡都没有,肯定算不过那些矿场,那为啥我多少也能挖出点币?其实现在的挖矿程序并不是直接自己去算,而是连接某个矿池。 矿池可以理解为你和一堆人一起组合成一台融合怪,你们齐心协力去和其他的矿池竞争,挖出一个区块后,你们池子里的人共享这6.25个BTC,按劳分配。所以现在挖矿已经不是计算机之间竞争,而是一堆的矿池在为自己争夺记账权(也不一定,不排除有人拥有能匹敌矿池的超级计算机)。 而矿池的选择也是技术活,如果选择一个高算力矿池,确实有更大概率最先挖到区块,但是你最后分得的报酬也会更少;而如果选择低算力矿池,先挖到区块的概率较低,但是一旦挖出来就能获得更高的收益。
区块链的高明之处
我觉得区块链最吸引我的地方在于去中心化,即没有人能真正拥有区块链,人人都能参与记账或审查,大家一起建立了一个共识,而不是靠某一个机构的绝对权威来保证。换句话说,去中心化其实就是,我信任区块链,是因为区块链无需信任。这其实就和现实中的货币一样了,如果说国家发行的货币是靠政府强制力确保它的信用;黄金等贵金属是由它的天然稀缺性确保信任,那么区块链就是靠所有人的信任来确保,它比其他的货币形式都更加纯粹。 有些不了解的人会说,比特币就是一种骗局,如果没人炒就一文不值。这种说法纯属无稽之谈。价值的本质来源于共识,不管是法定货币、贵金属还是比特币,都是基于人们的认可而具有价值,你怎么不说人民币也就是一张纸,没人炒它就不值那么多钱。总之货币的价值是依靠共识机制来保证的,只要你能通过一些手段建立共识,那这种货币就是安全且可用的。
NFT的概念
你可能记得辛普森有一集说的是春田博物馆因为没钱,要把所有的艺术品转化成数字藏品(NFT),后来Homer把Bart也转成一个NFT了,Marge深入区块链火车过五关斩六将救Bart的事(恐怖树屋34集)。我就是通过这一集初次了解了NFT的概念。 现实世界中,有钱就会有商品,区块链上也是一样。如果说加密货币是钱,那么NFT就是商品。这种商品也会有一些和现实中相似的性质:它们具有唯一性,可交易,也有不同的价值。 假设我是一个艺术家,我画了一幅画。我觉得实体的作品拿在手里有点不放心,万一屋里进贼给我偷走了咋办?于是我通过一些手段把它转化成了一个NFT并放在了我自己的区块链钱包里,即我把一幅画转成了一串token,在现实中我就把那幅画毁了,等于这个艺术品现在唯一只存在于我的NFT钱包里。过了一段时间,我感觉手头有点紧,于是我就登上opensea,把这个NFT挂上去拍卖。此时有一个收藏家拍得了这幅画,合约会把代表这幅画的这串token转移到他的钱包里,而把他的ETH转移到我的钱包里完成艺术品交易,这就是NFT的基本运作方式。 和现实中一样,NFT的价值不确定,艺术品这东西人觉得它值多少它就值多少。可以去搜一下历史上成交的最贵NFT,堪称天价。同样也有些很容易获得的NFT,比如我曾经拍到过几幅像素画,花了不到0.02ETH(30美元左右)。而且同样,NFT和现实中的艺术品一样是不能分割的,一个值一亿的宋代官窑青花瓷瓶子摔成两份它每份肯定值不了5千万。
待续
到这我已经用尽量通俗的语言说完了所有基本概念。如果你觉得本文对你有帮助,甚至启发了你在区块链上的旅程,无论你想去挖矿、炒币还是走技术路线搞智能合约,也请你成为大神别忘了稍微打那么点ETH给我(
我的钱包地址是:0x21179b2be110c46cb3C6ec47C8450FA254b83756