美文网首页高效学习创业@IT·互联网
区块链已来,世界从此大不同

区块链已来,世界从此大不同

作者: 皮袋君 | 来源:发表于2017-03-02 12:06 被阅读339次
    最近区块链名声大噪,尤其在金融领域,各方研究火热,那区块链到底是哪儿来的?先来看一下区块链的发展轨迹吧!

    2008-2010年,比特币诞生——中本聪提出,要创建一套支付系统,基于密码学原理而不基于信用,使得任何达成一致的双方能够直接进行支付。
    2011-2014年,业界比特币产生质疑以及对区块链发生关注——比特币安全事件频发、交易处理效率、资源耗费、监管难度。而区块链本身优势逐渐呈现,有助于降低信任风险、简化交易流程、驱动新型商业模式产生、共享金融的实现。
    2015年,业界对区块链进行深入探索。
    2016年后,区块链将在各行业进行广泛应用。

    要想理解区块链,先来看看比特币是什么吧!

    这里首先科普几个概念:

    1. P2P网络:比特币系统是基于P2P网络的,也就是没有中心节点,所有节点地位对等,每个节点都保存有自网络建立之初所有的交易记录,也就是公开分布式记账本。也就是网络上每个节点都能看到网络上进行过的所有交易记录,能够知道各个账户中的比特币余量,以及整个网络中比特币数量(跟普通货币比起来,比特币的公开透明性是不是让你觉得很刺激?)。
    2. 公钥加密算法:比特币系统中,为了保障私密性,一般用户都会为新发生的交易设定一个新的交易地址。这个新的交易地址就包含一个公钥和一个私钥,公钥就好像自家的钱柜地址,而私钥相当于钱柜钥匙。公钥在系统中是公开的,网络上的任何人都可以通过公钥来认证交易者合法性;私钥只有用户本身知道,用户可以用私钥对交易申请进行签名,从而合法使用“钱柜”里的比特币。
    3. 矿工:矿工可以通过“挖矿”获得比特币,这是比特币的唯一产生来源。我们现实中的货币都是央行通过印钞机印发,而比特币可以由用户通过“挖矿”产生,由于数学算法的限制,比特币的数量是有限的,上限为2100万个,数量上的有限性也保证了比特币可作为一般等价物的流通属性。“挖矿”的过程是一个计算速度的比赛过程,谁能最先算出加密的哈希函数,谁就能获得奖励——目前是25个比特币(在比特币刚产生的4年内,区块数量还没有超过21万个,每次奖励为50个,这是规定因为每产生21万个区块后,比特币奖励数会减半)。挖矿工具是有计算能力的计算机,当然普通个人电脑是基本上没有这个能力,现在一般都是很多人投资购买机器一起组成具有巨大计算能力的挖矿池进行“挖矿”。
    4. 区块:公开分布式账本的记录单位。矿工将最近10分钟内的交易记录打包成一个新的交易块,也就是区块的前身(比特币网络自动调整挖矿难度使得大约每1个小时产生1个区块,也就是平均每个区块大概记录的是10分钟之内的交易信息)。每个区块至少都包含:①上一个区块的哈希值;②交易块;③随机数;④根据前三个元素的组合数据算出的新的哈希值,这个哈希值就是矿工通过调整随机数来计算的;⑤矿工的奖励比特币数量。哈希值被某个矿工计算出后,网络上其他至少半数节点将该哈希值代入验证,确定该哈希值是可行解后,才可以加盖时间戳,生成新的区块。可以看到哈希值使得区块和区块之间前后连接,形成一条区块链。
    5. 哈希加密:哈希加密函数能够将数据转化成一串特定长度的字符串(这里是256位),就是哈希值。给数据头添加不同的随机数会对应产生不同的哈希值。产生哈希值的过程其实很简单,但是比特币系统中要求哈希值符合一定的格式,因此,矿工们就不得不调整随机数,去寻找符合格式的哈希值,这个工作量十分巨大。
    6. Merkle树结构:如图2所示,这个结构是在交易块中用到,用于存储哈希值。交易块本身是一个哈希值,存储于Merkle的根节点,而Merkle树的叶子节点存储每一次交易数据对应的哈希值。这种结构有助于简化验证过程,只需要验证Merkle树根节点的哈希值就可以确认这些交易记录的真实性了。

    看到这里是不是还是不太懂?接下来结合图1再看一遍这6个概念吧!把它们串起来,你马上就知道比特币的真相了!

    图1:比特币原理示意图(摘自知乎) 图2:Merkle树示意图

    如果你还是不懂,请看下面的小故事,如果你已经懂了,请略过~

    从前有个村子,叫橘子村,这个村子里流通的货币叫橘子币,橘子币是全村最权威的人制造发行的,村民们都觉得村长非常可信,就选出了他来做这件事情。
    村长每隔一段时间就看看村里的市场情况,根据市场情况觉得要不要印刷新的橘子币,或者回收多余橘子币,来稳定村里的经济状况。村长还会作为第三方公证人,来勤勤恳恳地记录村里人之间的交易记录,一旦有交易纠纷就会翻查交易记录,非常方便。
    橘子村过着非常平静美满的生活。

    后来村长去世了,村长儿子作为新的村长来继续做这件事情。
    村长儿子发现,“哎,我自己可以印刷很多钱花哎,这个好玩!”
    于是他印了很多橘子币,大手大脚从村民那里购买各种东西。
    这导致了最后村民手里就剩的东西都不多了,橘子币倒是每个人都有很多,这钱都能拿来当厕纸用了!
    更糟糕的是,村长儿子还会收受贿赂帮一些人篡改他们的交易记录,这让村里勤恳朴实的良民们苦不堪言。
    没有了信用的支撑。橘子村一片混乱。

    这时有个聪明人叫中本聪提出来,“我们为什么非要依赖村长儿子,我们完全可以创造一个不需要村长儿子的交易机制啊。”
    这个机制就是比特币支付系统。
    为了防止有人篡改账本,村里每个人手里都有村里交易账本的完整副本,如果有人要改,必须有半数以上的人同意,你才能改。
    而且所有人手里的账本实时同步,时刻保持一致。
    村里有一些土豪,他们有点顾虑,因为账本是公开的,自己的财产大家都能通过推断账本的数据知道,所以他们希望能匿名。
    所以,中本聪又想了一个办法:非对称加密技术
    村里每个人都保存一个钱柜,自己手里保存自己钱柜的钥匙。谁也不知道这钱柜属于谁,唯一能证明这钱柜属于你的就是你有那把能打开它的钥匙。

    这个时候,村民爱丽丝想从村民波比那里买一头牛,爱丽丝就要付比特币给波比,波比第一个动作就是建立一个钱柜X用于接收比特币。爱丽丝要从她的钱柜Y发送比特币,首先她广播告诉全村人,“钱柜Y要发100块钱给钱柜X啦,这是我的钥匙!”然后村里人过来围观,看这钱柜Y能不能被这钥匙打开,半数以上村民发现可以打开!这样,大家都同意钱柜Y有效,里面有超过100块钱,这交易就顺利进行了。然后比特币就被发到波比的钱柜X中啦。
    交易完成!这个交易要记录一页在公共账本上,问题是新的一页账本上要有一个标签,这个标签要根据上一页账本的编号和要记录下来的交易算出来,然后才能记录新的一页。
    因为记录账本会获得奖励,所以所有村民都开始计算了。有一个叫明明的村民最先算出来,他开始广播说,“我算出来啦,结果是1100!”然后其他村民开始代入验证,超过半数村民发现结果是对的,大家都同意,那明明就记录了新的一页账本,其他村民开始誊抄,完成公共账本的同步。同时,明明获得了比特币奖励。
    记账产生比特币,当然这个比特币数量会随着账本的增厚越来越少,最终会固定在2100万个。再也不会发生货币因数量增多而导致贬值的问题了。

    故事中包含着一些关键概念:

    • 所有村民组成P2P网络,这是区块链的网络基础。
    • 钱柜是公钥,钥匙是私钥。这是点对点交易的信用基础,而且在保证网络透明的同时保证匿名。
    • 明明同学,是一个优秀的矿工,通过强大的计算能力,超越其他村民,获得比特币奖励。
    • 账本中每一页帐就是区块链中的区块。
    • 每一页账本上的标签就是哈希值,这个哈希值使得每一个区块链接到上一个区块,成为区块链。
    • 每一笔交易发生和被记录时,都需要超过半数的村民验证同意,这是区块链的共识机制。

    比特币产生之后,在市场内快速成为流通的虚拟货币,同时也吸引了大批投资者的目光。这时,比特币的流行产生了一些问题,在公钥加密算法概念中已经提到,比特币的私密性特别好,这种匿名交易的状态使很多不法分子趁虚而入,出现了一批利用比特币洗钱的平台以及“丝绸之路”这种毒品交易平台。比特币系统中的矿工挖矿机制造成了很大的资源浪费,同时每一笔交易都需要网络上超过半数的节点确认,当网络越来越大的时候,这种交易认证机制虽然有着很高的信用度,但同时也造成了非常低的交易效率,无法应用到即时交易系统中。比特币从一定意义上来说是一种带领我们走向一个新世界的新型货币,这个世界中信任由数学创造,不再依附于某个可信的人或者某个权威团体,这种不同于以往的内在变革,加上之前提到的安全问题,使得比特币的监管变得非常棘手。

    但作为比特币底层技术的区块链开始受到关注——一个公开的分布式的账簿系统。区块链带来的信任创造机制变革,将是重新定义世界的一把钥匙。

    区块链究竟是什么?

    如果你理解了比特币,区块链就很好理解了!
    在小故事中,区块链就是人手一个的公共账本。
    严肃点说,区块链是一个公开的分布式账簿系统。它是数据库的一种,拥有大量记录,并将这些记录放在一个一个的区块内(而不是像传统数据库那样将数据整理在表格中)。每一个新生成的区块通过使用哈希算法加密生成哈希值,链接到上一个区块。人们可以像账本一样使用区块链,可以共享,也可以被拥有适当权限的人查阅。

    区块链的信用创造机制

    区块链把人为的信用模式化为密码学问题,我们只要相信数学本身就可以了——超过半数的人通过计算验证你的私钥可以匹配公钥,你的交易就可以进行;超过半数的人通过计算验证你算出来的哈希值代入方程组是对的,你就可以在公共账簿上记下交易,获得奖励。
    区块链中,我们不再需要通过一个权威机构来验证交易的真实性和可靠性,毕竟有时候权威机构也不一定可信。
    区块链中,我们把机器、代码作为具体的信用第三方,本质上我们是把密码学、数学作为了信用第三方。
    区块链在实际应用中可以解放一大批中介劳动力,节省大量信用成本。

    区块链和智能合约

    梅兰妮斯万曾提出区块链发展的三个阶段:
    1.区块链1.0,货币时代。区块链作为底层技术应用于虚拟货币,如比特币。
    2.区块链2.0,合约时代。利用区块链在互联网上建立智能合约,用算法代替传统合同。应用于多个领域,金融交易、公共记录、资信证明等等。
    3.区块链3.0,分布式人工智能和组织时代。

    可以说区块链目前的发展是处于区块链2.0时代(虽然我们还没有体会,但确实已经错过了1.0时代 T_T)。
    智能合约出现在区块链之前,早在1994年,密码学家尼克·萨博提出了智能合约。
    智能合约是用计算机语言而非法律语言记录条款的智能合同,工作原理类似if-then语句。本质上是一段部署在分布式账本中的代码,它可以处理信息,接收、储存和发送价值,是一个能够自动执行合约条款的计算机程序。智能合约可以用这种方式与真实世界的资产进行交互。当一个预先编好的合同被触发时,智能合约执行相应的合同条款。
    智能合约本质上是将计算机或者更准确地说是将数学,当做合约仲裁方。这跟区块链本质上的基于算法的信用创造机制是不谋而合的,因此,区块链成为实现智能合约的理想平台。智能合约的关键点在于将机器作为仲裁方的算法设计,如何效率更高、如何和现有法律结合都是需要研究的问题
    以太坊的算法基于图灵完备创造了智能合约,根链的算法基于50%共识技术。

    智能合约进一步保证区块链中的执行信用
    • 区块链依赖智能合约和脚本语言,使得可编程经济成为现实。脚本本质上是众多指令的列表,脚本的执行依赖区块链底层的智能合约。
    • 区块链的可编程特性使得独自在区块链上运行的自治实体出现,推动社会进入基于机器信任的智能万物互联时代。Slock.it初步呈现了自治组织的运行状态。
    • 区块链基于智能合约解决交易双方的信任执行问题。在区块链上嵌入智能合约,可以规避操作风险和违约风险、信任风险。
    • 区块链还可以实现基于一定规则的价值传递。利用智能合约,可以在分布式账本基础上,根据交易主体的喜好和需求,构建可编程合约。

    从信任的角度看,区块链是用数学方法解决信任问题的产物,运用中本聪共识、密码学方法,在机器之间建立信任并完成信用创造。通过非对称密钥解决点对点交易中所有权信任问题,基于区块链的技术优势保证价值转移过程的安全信任,通过智能合约解决信任执行问题,最终实现“无需信任的信任”

    法律的约束和执行走向智能化

    从古希腊古罗马发展到现在,如今我们的法律已经很完善了,但约束力和执行力却还有很大的提升空间。智能合约的出现,能够起到强制约束作用,也就是在区块链运作中,不符合智能合约的行为根本无法触发计算机系统设定好的条件,从而无法执行,这大大节省了人工参与的成本。
    智能合同虽然通过算法执行,但也是由人来制定,它的执行会很公平和精确,也因此缺乏一些灵活性。因此,智能合约在法律方面的应用还仍需多方合作。

    考考你

    现在再问你什么是区块链技术,你能回答上来吗?

    结合下面这些关键词想一下,什么是区块链技术?

    • P2P点对点网络——区块链的基本网络架构,无中心节点。
    • 公开分布式账本——区块链的本质属性。
    • 不对称加密算法、公钥、私钥——保证点对点交易安全。
    • 哈希加密——保证账本的真实不可篡改。
    • Merkle树——一种存储交易记录哈希值的结构,简化验证程序。
    • 中本聪共识机制——50+%认同才有效。
    • 智能合约——信用保障基础之上,脚本条款可以生效。
    来自橘子园的技术问答
    1. 这是技术问题还是经济问题?比特币对M0会有影响吗?
      区块链是技术上的创新,打破了原有信用依赖第三方公证的机制,带来的影响是改变经济的运行模式,所以随着区块链的进一步应用,经济可能会随着运行模式的变革发生变化,主要可能体现在经济的共享深度、全球资源的利用充分度等等方面。M0是现有货币体制下的经济指标,代表市场上流通现金量,仍旧是和央行货币发行量以及金融机构库存现金挂钩,从这个角度讲,比特币的应用对M0没有直接影响。

    2. 我理解记账时各个参与方要计算的是与上一个block hash值相同的下一次碰撞,不知对不对?

    碰撞概念:如果两个输入串的hash函数的值一样,则称这两个串是一个碰撞。所以在哈希函数中,碰撞的实体是输入字符串。

    参与方在争夺记账权时计算的不是“碰撞”,而是“新字符串”对应的“新哈希值”。而这个“新字符串”是这样的一个组合:上一个block的哈希值+本block中交易记录对应的哈希值+随机数。这样算出来的“新哈希值”就是新产生区块的独一无二的标签。这个标签使得区块链是不可逆的,一旦某个区块记录被篡改,就会造成之后的所有区块哈希值不匹配,这就保证了区块链中交易记录的安全性。

    1. 整个已经有记录的账本是否为一个block?
      简单理解可以这么想:区块链可以比作一个分布式账本,一个区块(block)可以比作账本中的一页,区块哈希值可以比作页码。然后区块链上的区块个数没有最大数量,因为只要还有交易发生,就需要记录新的一页,也就是就要新建区块(block)。交易记录需要新建区块来证明存在性,区块的创建需要交易的发生。

    2. 随着算力的增强,预先定义的总数2100w终有用尽的时候,这时候要超发货币还是怎么办?因为这意味着计算无奖励。
      见图3,首先关于“随着算力的增强,预先定义的总数2100w终有用尽的时候”这个说法,比特币是由网络源源不断地产生,准确地说,2100w这个数字是个极限,只有当时间无限久的时候才能达到,正常来讲是无限接近但无法达到。
      计算不会无奖励,只不过奖励会越来越少,但如果比特币身价能持续升温,就不会缺少那些花费大量物资打造“矿池”挖矿的人,这个问题可能还要结合经济原理来考虑。
      有兴趣可以参考下这篇文章:比特币块链和挖矿原理

      图3:比特币个数和区块个数随时间变化曲线
    3. 按照上图曲线,很快挖矿者的报酬增长就会进入拐点,这样计算者的积极性如何保证呢?在那些奖励聊胜于无的时候。或者说是温水煮青蛙式的减少报酬,减少的过程持续很长的历史时期,让挖矿者有小利可图并把比特币对现实货币的增值考虑进去?
      嗯,蔚哥这个问题我也想过,感觉这个可能要从经济学的角度考虑一下,毕竟有需求有利润才会有人“挖矿”,而比特币的投资价值以及越来越广泛的交换价值,就是需求所在。虽然我推测不出来比特币的未来将会如何,但我觉得只要它这种价值不消失,那么不用担心没有人挖矿。
      也可以想象两个极端:如果比特币一直能够在市场上流通,那这条投资路应该没什么大问题,毕竟从它刚出现到现在身价涨了很多,而且数量有限,物以稀为贵;但是一旦比特币停止流通,有可能是因为国家管控等原因,那就难说了,估计就木有人费劲“挖矿”了~

    4. 前一段google宣布SHA1被攻克,随着密码技术的提升,这种依赖hash不可逆的假设为基石的体系,的系统性风险如何保证?(没有权威第三方用枪杆子保障参与方利益)

    区块链中使用SHA-256的哈希算法进行区块加密。我们通俗点讲这个哈希加密的原理:
    例如“橘子园读书”==Hash函数==>“0000001101010010”,这里Hash加密函数的输入为“橘子园读书”,输出为字符串散列。

    我可以通过哈希值验证被加密的内容是否真实,但是我不能通过哈希值知道被加密的具体内容是什么
    不同的被加密内容,通过Hash函数加密,可能会输出相同的字符串散列,也就是不同的输入对应了相同的哈希值,这就是第一个问题中提到的碰撞,比较好的哈希加密函数中,这个碰撞几率在理论上有测试值,但在实际应用中遇到碰撞的可能性会非常小。
    蔚哥提到的SHA1被攻克的新闻我在网上找到了一些:“王小云的主要工作是给出了MD5,SHA-0的碰撞,以及SHA-1的理论破解,她证明了160位SHA-1,只需要大约269次计算就能找出来,而理论值是280次。”
    王小云这个是160位,而区块链中用的是256位,这个碰撞几率就更小。
    反观区块链每一个区块的哈希值计算过程,可以说是对哈希值的哈希加密,而且还用了merkle树(见图2)这种包含好几层哈希的存储结构,整体来说,找到和被加密内容对应的哈希值一模一样的数据,几乎不太可能。所以,区块链中数据被篡改的几率几乎为零。虽然它不是严格为零,但用于普通的实际应用中已经足够了。
    总之,目前来看:理论上区块链上这种哈希加密会有风险,但概率几乎为零,可以用于实际应用。而随着密码学的进步,这个说法可能被推翻也不一定。

    1. 超过半数的村民计算哈希值确保交易成功进行,这是村民主动去计算还是自动分配给超过一半的村民?如果自动分配,怎么保证自己可以成为这一半人?
      试着回答下慧慧的问题哈,这个问题很好,涉及的是区块链中的共识机制。
      首先澄清一点,村民的故事只是个例子,实际中超过半数是最低要求,一般来讲都是网络中所有节点都验证哈希值的正确性之后才会进入下一个阶段。
      这个过程中是村民主动去计算验证的。关键问题是村民主动计算的动机是什么?
      其实有点像博弈的过程,P2P网络中,所有节点都是相互平等相互独立的,相互之间没有信任关系,每个节点都会从自身利益出发考虑问题。这种情况下,各节点达成一致的充分必要条件是所有节点都自发地、诚实地遵守游戏规则,判断每一笔记录的真实性,将判断为真的记录记入区块链中。这样一来,就达成了信任的网络。
      不同的游戏规则对应了不同类型的共识机制:工作量证明机制、权益证明机制、股份授权证明机制和pool验证池,具体的可以参考简书读书笔记哈~
    2. 区块链将给我们带来的最大好处是什么?最大隐患又是什么?
      戴老师这个问题,虽然是非专业问题,但是真的好难回答哦。大家了解区块链是什么之后都思考一下吧~~之前我们探讨的问题都是区块链的原理,指向区块链的过去,戴老师这个问题其背后指向的是区块链的未来,我们能用区块链做什么,要注意什么等问题。
      关于区块链最大的好处是什么,这本书中说了很多区块链的好处,比如说非常可信(基于算法的信用创造机制降低信任风险)、信用成本比较低(节省了传统中介平台的资源和人力成本、交易协调成本等等,简化了交易流程)、有助于促进创新商业模式形成等等,其实统筹这些优点指向的一个发展方向就是全球资源共享模式的创新,带来的是资源共享广度和深度的拓展。
      利用区块链,我们可以丢掉传统第三方信用依赖这个拐杖,打破中介的信息垄断和地下资源蓄水池(当然不是所有中介都有这个问题,因为中介本身它就是为资源共享而存在的,就应该服务于资源共享,但的确现有很多平台打着中介的旗号,收取过分的中介费用,制造和发布模糊信息,暗中积聚资源为自己谋利,比如之前一些跑路的P2P平台),可以更好地进行资源共享,所以说区块链给我们带来的最大好处将会是资源的充分共享。
      区块链的隐患有两个方面:
      一是技术层面,区块链本身的去中心化程度和共识机制效率成反比,我们在讲解区块链中举到的例子都是没有中心节点的网络模型,也就是去中心化程度是100%,但实际应用中,没有中心节点就意味着共识机制中所有节点都要参与交易验证过程,这会导致交易时延过长,不满足一些实时交易的场景需求,所以共识机制的效率提升是一个问题;再者随着区块的增多,高效的存储策略也需要进一步研究;还有很重要的安全问题,比如系统节点太少可能有遭受攻击的风险,私钥目前都是存储在客户端本地就有被窃取的风险,共识机制中“游戏策略”的设置如何保证安全等。相信这些技术层面的缺陷会随着技术上的不断突破有所改善。
      二是道德层面,“丝绸之路”是一个利用比特币进行毒品交易的平台,还有利用比特币洗钱的案例,像这类能够帮人谋利的新事物发展难免会经历这个阶段,疯长——监管——成熟或灭亡,所以监管的作用意义重大,未来到发展成熟要走的路还很难很长。

    相关文章

      网友评论

      • 没有鸡汤:我感觉和普通人没啥关系
        上面的人才会接触的到

      本文标题:区块链已来,世界从此大不同

      本文链接:https://www.haomeiwen.com/subject/cqjhgttx.html