• 人人都懂区块链#华为云·寻找黑马程序员#


    【摘要】 随着Facebook主导的Libra项目白皮书发布,区块链呈现向传统行业燎原趋势。未来区块链之与所有人就如同当前的互联网,会成为人人都必须面对或使用的一种基础设施。本文试图在前人撰写的面向专业读者的文字基础上,通过更加易懂的语言重新进行描述,向更广大的受众普及区块链知识。

    前言

    随着Facebook主导的Libra项目白皮书发布,区块链呈现向传统行业燎原趋势。未来区块链之与所有人就如同当前的互联网,会成为人人都必须面对或使用的一种基础设施。本文试图在前人撰写的面向专业读者的文字基础上,通过更加易懂的语言重新进行描述,向更广大的受众普及区块链知识。

    (一)区块链基本概念

    什么是区块链

    区块链(Blockchain)的命名是成功的,同时也是失败的。

    成功之处是它精准的描述了这门技术最富有特色的地方——数据存储的结构。

    失败之处,是这个命名让程序员以外的很多人一头雾水。

    实际上区块链一点都不神秘,它就是一个账本合集,每页账本上记录着全网某个时间段,比如10分钟内的所有交易记录,并按交易发生的时间顺序把账本串起来,形成“账簿”,就成了所谓的“区块链”,每页账本就是一个 “区块”。

    诞生最初,区块链并不是一个独立的存在,它是比特币的底层账本技术。直到2015年10月31日,有人在 《经济学人》杂志上发表题为《Blockchains: The great chain of being sure about things》的论文,将区块链概念从比特币中提取出来,才形成了一门独立的技术。

    分布式账本

    从技术视角看,区块链的本质就是一种分布式账本技术。

    传统的记账方式,一般都是由交易各方选择一个大家信任的记账员进行记账,比如古时候的账房先生,现代的会计、银联等,这些记账员会把交易数据记录在唯一的账簿上;或者由交易双方的记账员各自记账,并定期进行对账。

    区块链记账方式的不同之处就在于,他允许很多记账员同时记账,而且每名记账员账簿上的数据都是一样的。这就需要通过一定的算法剔除这么多账簿中的假账、错账,确定一个全网共同认可的正确账簿,这个过程叫共识

    这种记账方式带来的好处很明显:

    一、参与各方不需要雇佣第三方记账员直接就能对交易结果达成一致,从而降低由于中间人记账、对账带来的代价、成本和风险。

    二、由于区块链只认可在大部分记账员中达成共识的账簿,即使有小部分记账员造假也不会得到全网认可,从而避免了假账风险。

    同时代价也很明显:

    一、需要更多的存储资源存储不同的账簿复本;

    二、不同记账员之间形成共识需要一定的时间,因此不如传统中心化记账模式高效;

    三、记账员之间争抢记账权,需要耗费大量的计算能力,因此能源消耗比较大。

    但是这些代价,相比中心化记账带来的弊端而言,是值得的。

    实事上由于争抢记账权的过程每个记账员都需要消耗资源,实际上提高了其作假成本,可以说是中本聪有意为之,很多人将这种设计思路奉为神来之笔。

    当然也有一些场景,如联盟链,对记账员的准入设置了审批环节,因此并不一定需要消耗太多资源,但这种设计是以牺牲一定的开放性为代价,因此对应用场景也有要求。

    区块链只是分布式账本技术其中的一种,后来人们还发明了DAG等新一代分布式账本技术。

    矿工

    这些“记账员”就是我们说的“矿工”,矿工的本质是一台装有挖矿专用软件的计算机。

    挖矿

    最新一页账本的交易记录需要“矿工”们各自收集打包后,通过一定的算法争抢记账权,争抢成功后将最新账本封装后添加到本地账簿,并向全网进行广播以实现账簿同步,同时获取系统给予的数字货币奖励,这个过程就叫“挖矿”。挖矿的过程,本质是在为区块链网络提供算力、存储空间以及带宽的支持。

    矿机和矿池

    矿工们挖矿的过程需要做大量的运算。以比特币为例,最早期挖矿只要一般的PC机即可。随着参与挖矿的矿工越来越多,竞争越来越激励,挖矿难度越来越大。因此有人专门开发了一些专用的计算机,以提高挖矿效率,这些计算机被称为“矿机”。随着比特币价格上扬,有人开始购置大量矿机集中挖矿,形成了所谓的“矿池”。

    矿机

    矿池

    钱包

    钱包是储存数字货币的一种专用客户端软件或APP。钱包中并不存储数字货币的数量信息,钱包中储存的本质是一串或多串字符串,这些字符串我们称之为地址,可以理解为每个钱包的门牌号码,用于钱包相互之间的转账。

    比特币

    比特币是最早基于区块链技术发行的加密数字货币。2008年11月,一个叫中本聪的神秘人物在一群密码学专家为主的密码朋克(CypherPunk)群体中发布了比特币白皮书《比特币:一种点对点电子现金系统》,随后由其本人开发了相关的挖矿软件,于2009年1月3日上线开始“挖矿”,比特币系统的创世区块由此诞生,第一批50枚比特币作为创世区块的激励,由中本聪本人获得。

    比特币是人类历史上第一次由加密算法和计算机系统,而非权威组织发行的货币系统,具有开创意义,因此逐步由加密极客群体向互联网从业人员,甚至其他行业流行开来。

    在比特币诞生之后不久的2010年,有人通过比特币论坛发起了第一笔由比特币付账的交易邀约,当时一名程序员提出以1万个比特币的代价,购买两块时值25美元的披萨饼,由此比特币诞生了第一个公允的价格。按照2017年比特币阶段峰值1.93万美元计算,这批比特币保存至今价值1.93亿美元。由此,这两块披萨也被称为 “史上最贵披萨”。

    比特币成功解决了无监管网络下电子货币伪造和双花(同一个电子货币向不同的交易对象多次支付)两大难题,上线至今已经稳定运行了十年。同时也由于价格剧烈波动以及被非法人员用于灰色交易,使得比特币饱受质疑。但无论如何,比特币是一项伟大的发明,也是一项十分有意义的社会实验,它开启了区块链1.0时代。

    (二)区块链的技术特征

    自从以太坊(Ethereum)在比特币代码基础上增加智能合约层开创了区块链2.0以来,区块链技术飞速发展,包括EOS、Hyperledger等众多新项目宣称自己实现了区块链3.0,但区块链核心特征并没有实质性的变化。这些特征包括:

    (1)去中心化 区块链基于P2P网络,使用分布式计算和存储,网络中的节点具有相同的权利和义务,区块链数据由具有维护功能的节点来自动共同维护。去中心化网络架构使区块链在节点自由进出的环境下,脱离了对第三方平台的依赖。

    (2)数据不易篡改 区块链数据一旦经过验证并添加至区块链,就相当于是永久存储,数据的稳定性和可靠性极高。若想修改区块链中的数据,只在单个或少数节点上进行修改是无效的,必须51%或三分之二以上的网络节点(算力或权重)形成共识才行,而这对已经取得广泛分布性的区块链网络来说,单个节点想集结超过现网半数以上算力,实施“51%攻击”窃取记账权从而按自己的意愿修改账本数据是非常困难的。因而,相对于传统技术架构的网络,区块链中的数据因其不易篡改而更为安全可靠。

    (3)自治性 区块链基于算法与机制,由软件与机器自动实现协商一致的规范和协议,使系统中的节点能够在不依赖对“人”的信任环境下相对自由安全地交换数据,使得对“人”的信任改成了对机器和数学算法的信任。

    (4)开放性 区块链的数据、机制甚至其实现的源代码对所有人公开,任何人都可以通过公开的接口查询区块链数据、机制,并能开发相关应用,因而区块链系统是信息高度透明的系统,这确保互联网用户得以平等地参与。

    (5)匿名性 区块链用户使用账户与密钥基于本地区块链客户端存取数据,由共识机制选定节点统一向区块链加入区块数据,所存取数据通过P2P网络同步实现全网用户间的交互。用户间的交易基于加密账户而无须公开身份,并且交易地址无法跟踪,用户可匿名参与区块链的各类应用,用户隐私得以保护。

    可见,区块链通过一系列的技术措施,目的是确保在开放的互联网络中,在不依赖第三方平台,甚至不需要参与者身份的条件下,进行“可信”的信息与价值传递。这能降低社会关系中构建“信任”的成本,因为这些“信任”不再依赖于权威与垄断的第三方,人们也就不需要为累积“信任”耗费大量的时间、金钱与精力。

     所以说,区块链通过数学证明、规则公开、信息透明、中立机器等技术机制与设施向人类社会提供了另外一条构建“信任”的思路:如果人们相信“人”与“人类的机构”的代价太高,为何不可考虑相信“成本低廉且规则透明、确定执行的机制和中立公平的信息机器”呢?

    (三)区块链的价值

     “不是机器人,不是大数据,甚至不是人工智能,而是区块链将引发人类第四次工业革命,并重新定义互联网甚至人类社会”——数字经济之父唐塔普斯科特(Don Tapscott)

    区块链的魔力在于,只要你一旦理解了她的理念,你就会被她深深的吸引,不自觉的成为她的粉丝和传道者,不管你是经济学家、社会学家、安全专家、互联网大拿、资深程序员还是像笔者一样正在无偿码字的普通IT从业人员。

    作为一种记账技术,区块链的分布式账本技术,是沿用了几千年的简单账本、复式账本技术在计算机时代的自然演进。如果仅仅从表面的技术去理解区块链,似乎并不能解释区块链为什么成为21世纪迄今为止受到最广泛关注的现象级技术。

    要回答这个问题,我们得回到2008年了解比特币产生的时代背景。

    众所周知,2008年美国发生了次贷危机,从而引发了波及全球的金融危机。次贷危机的直接原因是作为中心化记账机构的银行,为了赚取更多利润面向高风险人群发放大量房贷而埋下了祸根。当这个祸根遇到政府的经济政策失误,产生叠加效应,从而引发了危机。自1994年另一个中心化记账机构美联储开始逐步降息来增加流动性,刺激经济,中途2001年前后互联网泡沫破灭又扩大了一次,一直积累到2007、2008年美国楼市下跌,引发了次贷危机。而解决这个危机办法,是美联储通过所谓的量化宽松政策间接超发货币,再次掠夺人民财富。

    政府机构对加密货币的质疑和担心,从根本上就是因为区块链挑战了政府的记账权。事实上这种担心是不必要的。正如笔者在《跟你我都息息相关的Facebook Libra项目全解读来了》一文中提到,未来人类生产活动最可能的组织形态是国家+“行业线”矩阵式管理。“行业线”发行的加密货币作为信息社会的计价和支付手段,是对黄金和法币的有益补充。如同法币发行最初是基于黄金储备一样,作为加密货币计量工具的稳定币是基于法币储备来发行的,法币的计价、支付功能会跟随历史上黄金的脚步逐步退化,最终成为一种储备工具。

    区块链的第二个创举,是首次通过互联网实现了价值的传递, 这完全不同于互联网的信息传递。在互联网上你可以很轻易地传送信息,不论你是在美国,还是在非洲,甚至在太空中,只要有互联网,就能实现点对点的信息传递。互联网传递信息的方式是复制,假如你有一张照片,发给了朋友,其实不是完全传递给了朋友,而是发给了他一份副本。照片传递给你朋友之后,你手里还是这张照片,而你朋友手机里多了一张照片的副本。

    互联网这种基于副本的信息传递方式,在诸如版权、货币、票据等价值载体的传递中会出现问题。比如你给别人转过去一笔钱,你手上就不能再保留这笔钱了。在区块链之前,解决这个问题的办法是支付宝、银行等中心化机构强制在你的账户上扣减了相同数额。而区块链就是这样一个在没有一个中心化记账机构的情况下,实现全球范围的价值的传递。如同互联网将人类社会带入了信息时代一样,区块链有可能成千上万倍加速人类资产的交换,人类社会将有可能会进入一个全新价值交换时代。

    区块链的第三个价值,是比特币系统运作若干年之后浮现的。人们发现遍布全球的比特币“挖矿”活动是人类第一次脱离了由人组成的管理机构,直接在计算机程序协调下进行的生产活动,这个生产活动超越了国界、信仰、民族、人种、性别、年龄和职业进行了广泛协作,帮助比特币系统稳定运行,并且是如此的和谐有序。人们一直担心的“51%攻击”也从未在比特币系统发生,甚至在发展早期多次出现有些矿池在算力超过了全网51%后主动削减算力的案例,以确保整个系统有序运行。这并不是因为矿池的拥有者有多么高尚的品德,而是他们发现,利用现有的算力正常“挖矿”获取的经济利益,远远大于他们实施“51%攻击”改写账本数据窃取别人的比特币所带来的价值。因为他们一旦实施攻击,整个系统信任崩塌,他们手上比特也币将一文不值。一个生产单元内部成员的贪污、偷窃等作恶行为,持续困扰着人类有协作以来的生产活动,而从未被有效解决。而比特币系统在设计之初,就充分利用了博弈论,帮助人类第一次从制度上消除了生产单元内部作恶的动力。

    于是,人们自然而然的想到,把这种精妙的管理模式,应用到其他生产活动中。除了发行数字货币,同属金融领域的股权、保险、债券等功能,是人们首先想到的,只要对比特币代码的顶层结构进行修改扩展其功能就能实现,因此有了开启区块链2.0时代的以太坊。

    随着更多的区块链项目上线,人们把这种管理模式,应用到了更广泛的场景,包括银行间跨行结算、共享经济中的点对点交易、信息产品的确权等,使得区块链成为跨实体协作的统一、高效、可靠、廉价的作业平台。直到人们最终发现,实际上《区块链的本质是伴随信息社会产生的一种新型生产关系》

     来源:华为云社区原创 作者:未来已来

  • 相关阅读:
    [ html canvas 案例 -- 绘制文本图片 ] canvas案例 -- 绘制文本图片演示
    [ javascript 创建随机颜色 ] 多种方式来创建随机颜色
    [ html canvas shadowOffsetX shadowOffsetY shadowBlur shadowColor ] canvas绘图属性 shadowOffsetX shadowOffsetY shadowBlur shadowColor 属性演示
    [ html canvas font textAlign textBaseline measureText().width ] canvas绘图属性 font textAlign textBaseline measureText().width 属性演示
    [ html canvas ] canvas绘制太阳系实例代码
    [ html canvas quadraticCurveTo ] canvas绘图quadraticCurveTo()属性研究实例演示之二
    [ html canvas arcTo ] canvas绘图 arcTo()属性研究实例演示之二
    [ html createLinearGradient createRadialGradient 绘制背景渐变方式 ] canvas绘制渐变 createLinearGradient createRadialGradient 绘制背景渐变方式 属性实例
    hadoop常见问题汇总
    hive数据导入
  • 原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13165678.html
Copyright © 2020-2023  润新知