• 白话区块链是什么


      国庆放假倒计时,无心恋战,分享点儿东西,也算做点儿贡献。

      起因是,我老婆的公司最近技术上在搞“区块链溯源”,ppt里言必称无法篡改,客观公正,可确保真实安全。她表示听不懂,于是问我

      “到底什么是区块链?”。 

      “自己查啊”。     

          “查了,看不懂。”……

      按说区块链从比特币火起来之后,现在已经快10年了,火差不多了,风口过了,最近应该是人工智能,元宇宙了。但是目前眼下很多公司还是言必称区块链,不碰瓷个区块链就仿佛就已经与世隔绝,完全OUT了,全然不顾是否有实际的场景需求,无脑区块链!

      直白说,“区块链”是我从业以来,最务虚,最忽悠的技术概念,没有之一(因为我比较年轻 :-0)。对于技术的概念吹嘘,一般的套路是,把一个已经在行业中应用了一段时间,有点儿用,靠点儿谱的东西拿出来,夸大一点儿吹。

      比如最近的Chatgpt一出,程序员都要下岗啦之类;元宇宙一来,以后大家就是数字生命了。这类,可以算作畅想未来的,并且展望方向比较明确,不能算完全的忽悠。而“区块链”真的是既没啥应用,展望的未来方向也非常不清晰。目前落地场景最恰当仍然是虚拟货币。但未来却可以赋能一切。-_-|| 。

      时隔这么久,搜索“区块链”网上的文章数以万计,但如果真想搞懂,到底什么是区块链,理解区块链能做什么,却依然十分困难。也是,都不甚了解的东西才显得高大上,方便拿出来忽悠。

     

      一、概念简介

      关于区块链一些常见的名词“去中心化,分布式记账,共识,拜占庭将军问题,POW, POS, 公有链 ,私有链, 。。。。”。这里按照我媳妇儿能听懂的层次做一个科普,非技术向,主要谈区块链的能力,与落地问题,不求精准但求好理解。

      举一个生活中的场景,便于后面讨论理解:

      为了培养娃的理财意识,我的娃在家里有一个小黑板,他的零花钱会以在这个黑板上贴上几朵花花表示他有多少钱。例如黑板上有五朵花花,就表示他有50元可以自由支配的零用钱,花掉了就拿掉对应的花花。

    •   中心化,去中心化

      上面的场景中,娃的零花钱这个数据就是存储在这个小黑板上的。 这个小黑板就是所谓的“中心”。只要给这个黑板增加,或者拿掉花花,就可以改变娃的零用钱余额。这种中心化的数据存储,有一些特点:  
      1. 如果这个黑板遭遇什么不测,被盗或者人为毁灭。那么娃到底有多少零花钱这事儿就没人记得了。娃可能没有什么安全感。

      2.娃有多少零花钱全看这个黑板上的花花数量(大家都不过脑子去记,去回忆的话),如果娃聪明,自己偷偷贴上两个,如果妈妈聪明,自己偷偷拿去两个,都可以改变娃余额。妈妈和娃都没有安全感。  

      去中心化,就是去掉这个黑板。 但是仍然要能知道娃到底有多少花花,咋办呢?

    •   分布式记账

      因为成员之间相互不信任,于是各自都开始自己记账了。并且约定,如果有人给娃钱或者娃花了钱,要通知到大家知道。这样,相当于每个人都有了一个黑板,只能自己修改。定时对一下账,如果发现有出入,那就肯定是哪里有问题。这种去中心化的存储方式,也有一些特点:

      1. 不是团灭的话,这个账本,不会灭失, 少一两个无所谓。

      2. 记录的花花数,不容易被个人修改。如果出现矛盾,需要大家协商一致,重新对当前的花花数量达成共识。

    •   共识机制

      因为是分布式记账, 那么每个人的账本可能因为各种原因,产生不一致。可能有的人离开一段时间,少了几笔, 有的人比较糊涂会记错,有的人不是很公正,会多记,少记等等。 面对这种情况,人们会想出一种办法。来解决。比如回忆梳理下,花费和支出明细,确保合乎逻辑。或者简单的相信最权威的人,或者使用少数服从多数的原则。最终达成共识,重新确定目前花花的数量。达成一致的方法就是人类世界的共识机制。可以看出:

      1. 共识机制是为了保证每个独立的账本,能够抵抗错误,欺骗的。是一种不就修正措施,如果一切OK,实际上不重要。

      2. 共识的基础其实仍旧是信任。比如少数服从多数,信任多数人不会乱来。 或者信任权威, 最有威望的人不会乱来。 真实的信息已经灭失,不可追溯了,只能依赖人性,没有绝对的真相

    •  公有链 私有链

      如果参与记账的只有我们自己家的人,那可以理解为私有链。如果有其他的非家庭成员,参与,可以理解为公有链。区别公私的并不是规模,而是与参与者的角色立场有关,不同的角色立场,会引入不同的问题:

      1. 私有链大家有基本的相互信任,有一致的目的和责任,比如让娃健康成长。所以私有链的共识机制可以简略一点。而公有链,参与者各不相同,可能有跟娃不和的小朋友,等等。所以公有链对共识机制的要求要更强壮,能够抵抗一定的故意作恶攻击。

      2. 私有链的去中心化程度不如公有链,通常在一个组织的控制下。比如太爷爷一拍桌子,都他娘的听我的,就这么定了……。公有链去中心化则比较充分。

      3. 公有链的参与者不会义务劳动。私有链,一家人大家是为了自己娃的成长。 公有链,你娃跟我有啥关系, 我帮你记账你要给我点儿好处。我又不是闲的没事儿。所以公有链要有对应的奖励机制。相当于请别人当见证人,要给别人公证费。

      

      二、到底什么是区块链?

      有了上面概念的理解,只需要稍作延伸,就很容易理解了。

    •   广义区块链

      就是用计算机及互联网技术,线上化上面举例的去中心化分布式记账系统,账本被存储在了网络上的计算机中。交易信息会通知,更新全网的参与计算机。全网的计算机能够对记录的账目达成一个一致结果。

      具体界面可以理解为,每个人安装一个程序,登录上去每当给娃花钱,或者发钱。就通过这个程序操作记录下,信息回被同步保存到全网,这套系统最后总能对娃目前有多少钱这件事给出一个确定答案,网络上的计算机成百上千个W计,不用担心信息会灭。基于人之初,性本善的理解, 多数人一般是好人,共识机制保证偶尔有几个坏人, 也没有能力去篡改你记录的账目。

    •   狭义区块链

      是一个技术概念,是指如何存储交易明细信息的逻辑结构。 几笔交易会被存在一起形成一个块, 然后块和块直接会按照时间连接起来形成链。

     

      区块链特点:

      1. 数据安全,不会灭失。

      2.记录无法篡改,依赖于多数人是好人。

      3.存储,交易成本高。类似于物理世界要告诉很多人, 每个人还要记住账目信息。需要的时候,他们也要给你提供账目信息。所以,帮你存储见证信息的人要有利益收益。

     

      三、区块链应用

      好了,我娃的零用钱管理系统已经全面线上化,也应用了区块链技术了。那么是不是就像很多公司吹嘘的,“我公司对娃零用钱的管理已经上了XXX链,实现了全程可追溯,无法篡改,可以确保真实可靠?”

      显然不是,凡是要从根本需求出发,如果他奶奶,直接给他买了他想要的奥特曼卡片,却并没有减花花,请问阁下如何应对? 他爷爷直接给他兜里塞100RMB,阁下如何应对,虽然账上有钱,他娘以危害健康为名,就不给他买冰激凌,如何应对?

      所以,其实根本问题并没有解决,这体现了区块链难以落地的根本原因,线上系统无法直接约束物理世界!。

      就实践而言,

          1. 保证数据不灭失。本就是分布式解决的问题之一, 各类分布式数据库, 磁盘阵列,异地灾备。

      2.保证数据不篡改。篡改并不是痛点,可以多录,可以少录,可以瞎录。。不需要改。o(* ̄︶ ̄*)o。

      这两个问题,第一个已经被解决的很好。 第二个无法解决,线上无法约束线下,信息的输入源自线下。

     

      一些具体行业应用。

    •   溯源上区块链的  

      信息是不是人输入的? 是不是想输入啥输入啥? 想打什么二维码打什么二维码?

    •   物流上区块链的

      上了区块链,是东西不会丢,还是摔不坏? 没区块链,丢了东西,物流公司也没不认账啊,就是不包赔而已。-_-|| 

    •   金融上区块链的

      我对银行,对国家充满信任,从不担心他篡改我数据, 就担心房价下跌,股票下跌,通胀通缩。韭菜要割,不能拔。

    •    游戏上区块链

      怎么上的这? 游戏关服了,还能接着玩儿是咋地?

    •    医疗上区块链

      看病能便宜,还是用药能便宜? 我担心医院改我账单么?

    •       搞私有链的

      反正都是你说了算。何必那么麻烦。

      ……      

      总而言之,分布式记账,并不是什么革命性技术,古已有之,不然合同为啥是一式两份。只是以为虚拟币的大热,引起了人们的重视。

      比特币的诞生,于人类而言确实有伟大意义,区块链是其依赖的技术方案。但就像曲轴之于内燃机,虽然内燃机发明很伟大,但不意味曲轴可以赋能一切机械与行业。

      为什么虚拟货币可以成功?因为虚拟货币是一个自洽系统,类似于数学。虚拟货币的产生,交易流转,都在这个系统内部,交易的规则明确清晰,都是加加减减。当虚拟货币和现实世界有了价值关联时,他才有应用价值,否则只是一堆游戏币。

      写到这里,只恨当年没有入点儿比特币。。。,中秋快乐-_-|| 。

      

  • 相关阅读:
    C++ Makefile 的编写。
    直接插入排序
    代码随想录 -- day23 -- ● 669. 修剪二叉搜索树 、108.将有序数组转换为二叉搜索树 、538.把二叉搜索树转换为累加树
    【C++风云录】精益求精:探索C++开发中的性能优化艺术
    有关PyTorch中Checkpoint的原理、实现和问题
    常用git命令
    【数据结构】时间、空间复杂度
    tomcat 启用https加密码访问
    【二叉树Java】二叉树遍历前序中序后序遍历的非递归写法
    leaflet教程039: 只显示一屏地图,设定范围不让循环延展
  • 原文地址:https://www.cnblogs.com/uncleguo/p/17735783.html