关于区块链的小白呓语

       自从进入了互联网时代,技术的迭代似乎正以光速向前推进,而区块链作为新晋技术“网红”,也正在以迅雷不及掩耳之势席卷各行各业,各种项目纷纷上马,一时间似乎咱老百姓熟悉的生活模式又一次到了“被颠覆”的边缘。

       正所谓今日不学区块链,明日回家卖红薯!

       what??  really??

       作为一个误入IT圈的技术小白,在一番不严谨调研,外加和几个哥们儿掰扯了几句之后,我更愿意从另一个角度来看待区块链带来的影响。当然,在这之前还是要大致看一看什么是区块链(警告:非技术向大白话,可能存在错误理解)。

      在刨去了一堆神秘外衣之后,区块链本质上是一种“是指一种分布式、点对点的数据库账本”。

       所谓点对点,就是A和B直接发生交易,中间不经过第三方。比如我要借给朋友一笔钱,我就直接甩给他一叠现金,然后自己掏出小本子做了个记录。而我的朋友收到钱之后,也拿出自己的小本子做了个记录,之间再也没有别的第三方参与,除了各自的小本子再也没有别的凭证。

       显然生活经验告诉我们,这样做存在着极大的风险,谁能保证两个小本子上记的是一样的?万一我的小本子里写着“借一万”,他的本子里却记着“收一块”,怎么办?难道只靠人品?。由于人品众所周知地不可靠,银行、支付宝这些第三方机构应运而生,不管支付还是收款,都先和第三方发生关系,一旦出现问题第三方可以作为仲裁机构。而这正是一个典型的中心化交易模式,通过这个中心发生的交易越多,中心的权力(or权威)也就越大,这点只要想想支付宝的发展历程就了然了。

      既然中心化是为了保证账本与实际交易相符,那如果我有另外一种机制也能实现这一目标,那么是不是就可以替代中心了呢?毕竟再权威的中心也不可能一直是白莲花,比如那些经常耍无赖的银行,毕竟过分依赖中心和权威,也就意味着逐渐丧失自己的话语权。而区块链针对这个问题提出的核心解决方案,就是“分布式记账”。 

       所谓分布式记账,就是假设有一个巨大的账本,共有100个人共同来维护,每个人手上都有一模一样的副本。现在假设我还是借给朋友一万,我给完钱之后就告诉这100个人我转了这些钱,于是就有100个副本进行了记录“我有1万块转出”(注意,这里显然这笔账还没记完),而朋友收到钱之后也告诉这100个人,于是这100个服务的记录就变成了“我有1万块转给朋友”(这就是完结状态)。这样相当于有100个人代替一个中心机构替我记账,这就是所谓“去中心化”的分布式记账。

     然而,说到这里,更多的疑问正在产生:

     1. 你怎么保证100个人记得都是一样的?

     2. 你怎么保证这100个人记的就真的是你传递出去的账本信息?万一有谁乱记呢?万一数据在传递过程中就被篡改了呢?

     而解决这两个问题的方案就是区块链技术的核心,即“共识机制”。事实上自从比特币诞生之后衍生出了很多的共识机制,每一个共识机制都不完美(这就是为什么说区块链技术本身还在起步阶段),这里就拿最初的比特币机制来说明。

    比特币的机制如下(还是按刚才的例子):

    1.我的账本发布出去之后,谁最先收到就记录下来,其余99个人都按最先收到的那个人来记。至于谁能最先收到由很多因素决定,有一个核心因素是“算力”(比如买一个超级计算机)。那么这里就有一个问题,买超级计算机是花钱的,一个人如果没有好处,凭啥买个超级计算机替你记账呢?所以,这里有个激励机制,每一个账本在广播出去的时候系统是自带一份酬金的(就是比特币),第一个发现账本的人能得到酬金,其他备份的就没有。假设每天源源不断产生账本,这100个人每次都可以竞争来第一个记账,所以一个账本出来,每个记账人都会有动力来努力寻找(这个就是区块链里所谓的“挖矿”)。

  2.通过密码学来验证账本的真伪。事实上我发出去的账本并不是“裸账本”,而是经过加密的,这个加密有两层:(1)我把“我转给朋友一万”这句话通过一个数学函数转换为一串字符;(2)我把这个字符通过专门的密钥转换为密码符(就好像密码本加密一样,当然更为复杂)。经过这两层加密以后,我把【原始的“我转给朋友一万”这句话+经过两道加密的密符+解密钥匙】这三样东西一起打包发给朋友(这个包就是“区块”),然后向所有记账人进行广播。第一个挖到账本的人要做的是,首先用包裹里的钥匙把密码转换为字符串,然后再对字符串进行函数处理得到结果,最后把结果和包裹里的“原始的话”进行对照看看是不是一样。经过这一系列加密解密还能完全一致的账就被认为是准确的了。(这里转换用了hash函数,而且加密的钥匙和打包的解密钥匙之间还有算法,所以基本上稍有变化都会差之毫厘谬以千里。)

       解决了这两个问题之后,还剩下最后一个问题:我到底有没有给朋友1万?万一从我这里就是记假账呢?

       这里其实有个重要的思想就是:在区块链的世界里,你手头是没有真正的钱的,有的只是一个个交易记录,这些交易记录按先后顺序形成一个可追溯的链条(现在能知道为啥叫区块链了吧)。记账的人在挖到区块后除了验证里面的信息准确之外,还要往前面一条记录看看,看看前面记录里你留下的数字是不是比这次交易的大,比如我前面一连串交易(包括收入和支出)经过加减后只有8千,然后我发出去的账本写着转给朋友一万,记账的人一看:嘿~没钱还想充阔佬!那么我这条交易就会被废弃,等同于交易没有发生。

    至此,剔除银行中心模式带来的交易风险,基本通过这些机制得到抑制,去中心化的模式便成为可能。(当然这里面还有一些容错的机制,比如最长链原则之类的,不作更细的讨论了。)

    如何?哪怕是简单说说,是不是信息量也非常大了?这从某种意义上也说明,真正实现去中心化并不是一件容易的事,按照区块链的逻辑,我们可以提炼出两个核心的要素:

    1.你的共识机制是什么?或者说面对去中心的多主体,你用什么来维系信任关系?在区块链的世界中一切都是数据,因此它的核心在于保证数据的不可篡改性和可追溯性。如果说数据的世界是客观的世界,那么更多的存在于主观世界的活动,是不是适合去中心化?如果适合那么用什么来维系信任关系?还是回到人品?

    2.你如何保证共识机制的生命力?或者说你的机制是不是一个共赢的机制。即便是在区块链的世界里,也并不是人人都有记账的能力,获得这个能力是需要投入的(如比上文提到的买个超级计算机)。这也就意味着这个共识机制需要将个体的付出价值化,参与的个体能获得可接受的回报,否则单凭义气那又再一次回到了人品这个悖论上。(比特币在价值化上用了一个简单粗暴的办法,即原始的比特币是限量的,永远不存在超发,就像是限量版的奢侈品)

    更进一步说,是否需要彻底的去中心化本身就可以存疑。去中心化的好处在于赋权到个人,每个人都有说话的权力,然而带来的直接问题就是效率降低,像比特币体系中对于能源的损耗一直被诟病,而其对于账本的纠错机制也有赖于后续交易的发生,本身属于一种延迟的状态。另一方面,我们可以看到中心化有时并不能被完全摒弃,即便在比特币的世界里,算力决定可能性的模式导致大家会抱团挖矿,最后形成一个个的算力中心,而更多“小白”的加入使得“比特币交易中心”营运而生。

      毕竟,在一个世界里总会有强弱,总会有权力和效率的平衡,正如阴阳交替,生生不息。

你可能感兴趣的:(关于区块链的小白呓语)