挖了坑要埋,今天的装逼话题:比特币和区块链。
我一直有这样的感受:想要获得靠谱的信息已经非常困难,获得靠谱又说人话的信息简直难于登天。搞懂比特币和区块链的过程狠狠地加深了这种感受。
很多时候,一件概念的理解本身并不困难,困难的首先是找到靠谱的信息,因为有太多不懂装懂不能自圆其说的解释存在,很难分辨;其次是找到说人话的信息,那一小部分真懂的人中,只有一部分愿意分享,其中又只有一部分人善于表达能有效传达自己懂得的信息。真的不简单,希望我能说得清楚。
比特币,一种凭空想出的货币。想出的人(或团队)叫中本聪。这种货币没有实体,也没有价值(1个比特币≠1头羊或其他什么,没有这种价值对照)。我也可以说,现在我创造了一种货币,叫撸币。我作为创始人拥有1亿个撸币。撸币就存在了,而且现存1亿个。不要笑,严肃!创建比特币就这么简单!
但现在,比特币已经跟美元扯上了关系,单位价值也远远超过美元,为什么?因为越来越多的人拥有比特币,越来越多的人用比特币进行交换,越来越多的人相信比特币是有价值的。明明是凭空想象的连实体都没有的东西,价值在哪里?
传统货币的价值在于黄金的稀缺性,而比特币的价值在于它的交易系统。中本聪给比特币设计了一套全新的更私密更安全更可靠的交易方法。交易方法是重点,至于用的是比特币还是人民币还是撸币交易,一点都不重要。或者说,比特币的价值只是人们认可这种交易方法的外在表现而已。那我们就重点来说这个交易系统。
成功的交易包含两个方面:一是交易双方的货币交换(张三给王五100块),二是记账(张三的账户-100,王五的账户+100)。货币交换很简单,一人给钱一人收钱,我们唯一要防范的是不被出钱方认可的货币交换,偷窃;记账很重要,必须保证正确性,谁给了谁,给了多少,不能有误,双方账户上多了少了都不行。
先说记账这件事。过去,大家抱着贝壳或者金子直接交易,后来发现带着这些太麻烦,不如把金子都交给信赖的村长统一保管,村长把你存入金子的金额记下来,张三给王五1g金子,村长只要改一下记录就行了,张三的账户-1g,王五的账户+1g,张三不要真的抱着1g金子给王五了,相信村长能记好帐就行。后来,村长的职能慢慢被国家和银行取代,在记账这件事上,大家都依赖银行。不论是村长还是银行,都是一个集中式的记账系统,所有人的帐由一个人/一个组织记录在一个账本上。这样其实是不安全的,类似于所有鸡蛋放在一个篮子里,万一这个篮子打翻了就全完。比如村长家着火了,账本烧没了;或者大家信赖的村长突然起了邪念,把别家账本上的钱划到自家账本上了。那大家的钱一下子或者不知不觉就没了。所以鸡蛋还是放在多个篮子里比较好,而且放的篮子越多越安全。
中本聪创造的就是把鸡蛋放在很多篮子里的新方案-分布式记账,简单说就是每笔交易都会被很多人分别记录下来,保证账单的真实性和准确性。具体是怎么回事呢?
还是张三给王五100块,以前是一家记账(银行),现在中本聪召集李四、赵六来,每个人都在自己的账本记账一笔:张三的账户-100,王五的账户+100。这样即使有一个人记错了,其他人一对就知道正确的是什么,彻底杜绝篡改账本。
但是李四、赵六又不傻,白干谁干啊。中本聪说那这样,来记账的有工资,记一笔给50块。这下李四赵六开心了,孙七、周八、吴九听说有得赚,也都跑来了。不过问题来了,记账是个特别简单的活,谁都能干,大家都来地主家也负担不起啊,那就人为增加难度竞争上岗,同时上岗的人越多给的钱越少。张三给王五100块,李四、赵六和孙七来竞争上岗,就是做跟记账完全没关系的数学题,比如1+?=2,李四抢答:“1!”,赵六、孙七代入一看,1+1是等于2,李四答得没错,于是李四得到了记账的权力和50块钱。
既然李四独得记账权,又怎么实现多人分布记账呢?别急,李四拿到记账权,掏出自己的账本,核对张三之前的所有交易,确认张三确实有100块;再掏出一页空白纸,写上页码(之前账本最后一页是80页,这一页页码就是81),记上“张三账户-100,王五账户+100”;然后把这页纸给赵六和孙七看。赵六和孙七也掏出自己的账本,核对张三账户余额,核对页码,都没问题的话,他们就复印这页新纸,粘到自己账本的最后一页后面,账本增加一页。李四看赵六和孙七都粘了,表示这一页记的帐没问题,也粘到自己账本的最后。这一波操作过后,不但新账单被李四、赵六、孙七都确认无误了,还保证了每个人账单的一致性。
就这么简单,这就是分布式记账的过程。现在我们把其中一些元素更换一下,就能明白比特币世界里的很多看不懂的专业术语,并梳理一下真实的比特币分布式记账流程。
“李四、赵六和孙七”是“计算机a、b和c”,计算机通过做数学题竞争记账权,当然不是1+?=2 这么简单,不过类似,f(X)=Y,已知Y,求X,只是这里的X是不能通过计算得到的,只能通过不停带入不同的X值得到符合算式的x值。有点像寻宝的过程,只能不停的挖,运气好就能找到一块宝石,当然挖的速度越快成功概率越高,所以计算机竞争上岗的过程就叫“挖矿”,竞争记账权的计算机也就相应称之为“矿机”。
记账不用一刻不停,一段时间产生一次记账权,记录下这段时间的所有交易就行。中本聪认为10分钟比较合理。通过改变Y值控制找到X值得难度,保证大约10分钟产生一次记账权。
“50块”就是50个比特币,赢得记账权的计算机a会获得50个比特币*。这50个币是系统新发放的,也就是每当新的记账权产生,整个比特币市场就增加50个币(即每10分钟多50个币)。
新的记账页称为一个“区块”。很多记账页粘在一起组成账本,很多个区块首尾相连构成“区块链”。“区块链”就是账本。
挣得记账权的计算机a将自己求得的Xan值作为“页码”写入新的空白区块,再写入自己“区块链”中上一个区块的Xan-1值(账本上一页的页码),最后写入本时段的交易情况,一个新的区块(新账单页)完成了。然后将这个区块广播给所有计算机。
没有挣得本次记账权的计算机b、c收到新区块后,将Xan值代入f(X)=Y检查正确性;再将Xan-1值与自己区块链中最后一个区块的值对照,检查是否一致;最后检查新区块中的所有交易;三点确认没问题后,将这个新区块(页码为Xan)放到自己的区块链的最后。10分钟后,假设计算机c获得了新的记账权,它拿出新的空白区块,写入Xcn、Xcn-1和这10分钟的所有交易后,发给a、b进行确认。这时候a发现Xcn-1=Xan,就知道自己之前广播出去的页码为Xan的新区块被检查无误接受了,于是a也将页码为Xan的新区块中放入自己的区块链的最后,然后再对c发出的页码为Xcn的新区块进行检查。b则直接开始检查c发出的新区块。a、b确认无误后,将页码为Xcn的新区块放入各自区块链的最后。10分钟后,b取得了记账权,再创建并广播新的空白区块…就这样一直记下去。
实现的过程有点复杂,但思想很简单:分布式记账避免篡改记录,保证货币交易的安全可靠。中本聪设计出了这套巧妙的流程使得分布式记账成为可能。这套流程也称之为“区块链技术”。区块链技术可以用在任何不希望记录被篡改,一切记录都是事实的领域。比如公司账务,要啥审计?!比如历史,再也不是任人打扮的小姑娘了。这才是比特币的价值所在。
开始我们说了,成功交易还有一方面是双方认可的货币交换,或者说必须有出钱方的认可,否则就是偷窃。比特币作为虚拟货币更容易被盗。中本聪怎么办的呢?ta采用了一套包含公钥和私钥密码系统,来保证比特币的安全。这个勒我还没搞懂,嘻嘻。不过这套密码系统貌似不太给力,已经发生过好几起比特币被盗事件,一些交易所也因此破产。其实也不能怪ta,其实任何网络都可以被黑入,只要投入足够的钱。
最后我瞎说几句。比特币所代表的分布式记账的价值,目前还很难确认。搭建这样一套系统需要投入很多人力物力和财力,不少公司已经在做这件事,但直到现在还没有成功的案例。不过,有没有价值并不重要,有人认为它有价值,就会买,买的人多了价格就会上涨,投资比特币跟投资其他产品是一样的,你要判断的不是比特币本身有没有价值,而是别人认为比特币有没有价值以及多少人认为它有价值。
*现在奖励只有12.5个比特币了,为了平衡矿机数量,中本聪规定每产生210000个区块,奖励就减半,现在已经减半2次。
题图来自:allanlau2000
领取专属 10元无门槛券
私享最新 技术干货