和大家一样,春节期间,我被七大姑八大姨科普了什么是区块链。在三点钟群,区块链能上升到神学和哲学的高度。因为跨越了技术、博弈、经济等不同的领域,所以很容易超出某个领域从业者的认知范畴,加上比特币的财富效应,很少有人敢下对区块链下个定论。这篇文章里,作为一个游戏研发公司的CFO、或多或少接触过技术、游戏理论、经济学的人,我希望能用最简单的方式解释比特币区块链的原理:如果抛开哪些后来人们赋予它的意义的话,它并不复杂。
第一节:比特币的技术原理
P2P网络
首先,比特币是一个P2P的计算机网络,每一个网络节点存储着这个网络上所有的交易记录。一般来说任何信息记录在一个节点加若干备份就可以了。在每一个节点上存储一遍这个网络的所有交易记录,是个冗余的工作,是有成本的,这个成本换来什么呢?这导致交易记录被每个节点可以看见、每个节点不能独立任意修改交易记录,所以形成了一套公开透明的交易记录。
P2P网络不是新的科技,Napster、BitTorrent都是P2P网络。Napster是很久以前的事儿了,算是快播、暴风的前辈。
比特币网络现在已经很发达了,根据https://bitnodes.earn.com/的计算,全球有超过1万多个节点。虽然没有想象的那么多,但是也不少了。
密码学
抛开节点上复杂的如交易所之类的应用不说,节点最基本的运作机制是什么呢?每个节点包含至少一个比特币账户。每一个比特币账户,实际上是一个密码,称作私钥。
私钥可以通过算法生成一个公钥。这个算法叫做哈希。哈希是个数学概念,原理比较复杂,大家可以自己学习,但是应用很简单:单向推导。运用在区块链上,私钥可以推导出公钥,而公钥不能推导出私钥。因此公钥像是账户号码,私钥像是密码。
公钥是公开传播的,为了简洁,公钥被压缩成一个比较短的代码,就是常见的钱包地址。例如,35fyXDaptDGa98RqbLbdhUfwiY8N6t8EdW,并且可以用二维码表示。
P2P+密码学
如果你上面的概念都理解了,那么就是见证奇迹的时刻了。
在比特币网络上,用户A如果想转账给用户B,就在网络上发起一个交易,向用户B的公钥(输入B的钱包地址)发送一定数额的比特币。这个交易通过P2P网络,传播到了每一个网络节点,也就传到用户B。用户B,且只有用户B,能用自己的私钥解锁这个交易,确定交易内的金额属于自己。
所以,简单来说,比特币网络是密码学和P2P网络的结合应用,实现了一种交易清算的办法。
历史上,交易的清算都是由某个机构来提供的。比特币的交易是通过网络记录和清算的,因此是去中心化的。
到此为止,你已经理解的比特币为什么是不可磨灭、去中心化。
那么,接下里的问题是,为什么有人愿意拿出自己的电脑来加入这个网络呢?
第二节:比特币的博弈原理
上面我们举了一个例子,用户A转账给用户B。转账每天都在发生,总要有人记录这些行为。如果没有任何好处,什么人会拿自己的电脑、花费电费,无时不刻的去记录这些转账呢?
比特币的设计者中本聪设计了这样一个规则:
新交易不断地从某个节点发生,流入比特币网络。当比特币网络上的其他节点看到这些交易时,会先将它们放到各自节点维护的一个临时的未经验证的交易池(Mempool)中
节点可以选择开启比特币节点程序的一个部分,这个部分的功能是生成文件夹,把过去一段时间产生的未经验证的交易记录下来
由于每个节点都可以做这样一个文件夹来记录,所以有个竞争。竞争是做一个数学题。上一个文件夹的末尾有一个随机数,这个随机数作为哈希算法的答案,所有的节点都去计算这个结果的输入值。也就是说,谁先算出来一个数值,经过哈希算法以后能得到(或者小于)答案,谁就赢了
因为哈希算法是单向推导、不能倒推的,上面的步骤与其说是计算,不如说是靠猜。也就是说,1万多个节点一起猜一个数字。谁先猜出来谁赢。因为有竞争,大家都会投入好一点的资源,比如,速度快的电脑
赢了的好处就是,能被网络奖励50个比特币。当然,接下来的工作就是要把第一步说的那些交易打包到文件夹,并且广播同步给其他节点。打包本身是有一点点费用可以挣的,来自于发起交易的用户预留的矿工费
这个竞赛,比特币网络大约10分钟进行一次
这个设计,和技术关系不大,实际上是个精妙的游戏规则,吸引更多人把电脑和算力贡献出来,参与游戏,获得奖励。文件夹的学名叫做区块,因为上一个区块的末尾随机数是下一个区块的竞猜答案,所以区块与区块之间的相链接的(这里的技术含量很高,确保了在有分歧的情况下,怎么判断哪个是真的链,不过跳过这个部分并不耽误我们理解),所以也叫区块链。参与竞争的工作有个有意思的名字,挖矿,有种探险的意味,因此从事竞争区块的节点也叫矿工。
到此为止,你已经理解的区块链为什么叫区块、链,比特币网络是怎么吸引矿工,矿工是怎么挣钱的。
但是,这些都不能解释,比特币为什么被视为财富?
第三节:比特币的经济原理
上面解释了比特币是如何通过没有中心的网络来实现清算的,而为清算做出贡献的矿工是如何获得回报的。矿工的回报是挖掘新区块的奖励和打包交易的费用。
设计者中本聪应该是假设挖矿奖励是暂时性的,只是刺激用户加入网络。因此,比特币的设计中,区块奖励大约每四年减少一半,从原来的50一直衰减到25到12.5到。。。这样我们可以计算出比特币的总量是恒定的,大约在2100万个。
这就造就了比特币的另外一个特性,总量是有限的。
在所有比特币奖励发完,或者奖励数量很少的时候,理论上,比特币的矿工只能通过打包交易来获得收入。
这是一个充分竞争市场的设计:每个人都可以下载节点成为矿工,获得收入;因为比特币是有价值的,所以矿工会结合自己的成本和收益,决定是否继续提供打包服务。当矿工增加的时候,竞争激烈导致收益下降,成本过高的矿工会退出;当矿工减少的时候,收益上升,吸引更多矿工参与。因此市场总会有个平衡点,让一定数量的矿工参与到比特币网络中来,这样这个网络就一直存在。如果网络一直存在,那么就一直会有人在使用这个网络交易,因此也能产生源源不断的矿工费,吸引矿工。
所以,这是一个精妙的设计,利用市场的机制,看不见的手,来自动调节比特币网络,保证供给稳定。但这只是供给稳定,如果哪一天对比特币的交易需求消失了,即挖矿没有奖励,也没有矿工费,那理论上就不会有任何矿工,那么这个链就停滞了。
这个设计的一个附属品就是,比特币的总量是恒定的。这个一直被人解读为比特币的设计是为了抵抗通胀,因此是一种可以保值的投资产品。这个观点的证据是,2009年1月3日,比特币的创始人中本聪在创世区块里留下一句永不可修改的话:“The Times 03/Jan/2009 Chancellor on brink of second bailout forbanks(2009年1月3日,财政大臣正处于实施第二轮银行紧急援助的边缘)。”当时正是英国的财政大臣达林被迫考虑第二次出手纾解银行危机的时刻,这句话是泰晤士报当天的头版文章标题。
这篇文章不展开讨论比特币的初衷是什么,或者实践中比特币被如何作为投资品类来应用的,我们将在别的文章中提出观点。
到此为止,你已经理解了比特币的基本原理。从技术原理上来说,它是一种P2P网络+密码学的创新应用;从博弈原理上来说,它制造了竞争,激励用户投入最好的资源参与;从市场原理上来说,它利用看不见的手来进行市场调节。
无论是否参与、如何评判,对比特币的原理有个理解,有助于我们更好的判断这个行业,并为之做出正确的贡献。
领取专属 10元无门槛券
私享最新 技术干货