zoukankan      html  css  js  c++  java
  • 区块链是什么?

    关键名词:

    去中心化,共识机制,激励机制

    先通过一个例子来了解一下基于区块链下的比特币(来自知乎):

    1、我们来假设一个场景---某所学校里的一个班级。阿聪老师为了激励同学,会对表现良好和成绩进步的同学奖励小红花,这些小红花可以在班级的书架里面兑换动漫书、小说或者

    漂亮的文具等等。此举很受学生们的欢迎,慢慢的同学之间的一些交易,也开始用小红花作为交易媒介。比如小强要借我的《火影忍者》,就要支付小红花给我,我得到的小红花就

    可以去班级的书架上租我爱看的小说。这样一来,小红花就成为了我们班级的货币。

    但是这个体系最终却崩溃了,因为有同学为了能多换书籍和文具,开始自己制作小红花。小红花的量越来越多,超过了阿聪老师往书架补货的速度,最终东窗事发,导致同学们再也不

    相信纸片小红花了。

    2、看到这种情况,阿聪老师想了一个办法。不再用实物形式的小红花了,而是记账!每个同学都有一个属于自己的“小红花账本”,同时在班长那里设置“小红花总账”。当交易发生的时候,

    同学在班长的见证下,填写自己的账本。班长看到一切正确,就把这笔交易记录在“小红花总账”上。比如,我想租借小明同学的漫画,我要支付给他1朵小红花。那么我就在我的账本上记

    录“小红花-1”,小明在他的账本上记录“小红花+1”,然后我们去拿给班长看,班长看后觉得没问题,就在“小红花总账”上记录这笔交易。如果有同学想偷偷修改自己的账本,但是跟班长的

    总账对不上,就会发现问题。

    但是这个货币体系却崩溃了,因为突然有一天,有同学发现跟班长同桌的女生总是有用不完的小红花。这个过程我可以写一万字,就不多说了,反正你懂的。

    3、阿聪老师确实是聪明的老师,看似很难的问题,阿聪老师想出来一个绝妙的解决办法。(有人可能会说,让纪律委员监督,这是治标不治本的。)

    阿聪老师的办法如下:

    第一, 不再设立总账。

    第二, 每一笔交易全班同学都要记账,不论这笔交易是否涉及到你。

    第三, 每天下午全部课程结束后,全班同学一起计算今天发生的交易。

    第四, 每天最先计算出来的同学,奖励2朵小红花。

    第五, 在每天计算之后,一笔交易只有与绝大多数同学记录的一致,才能被承认。

    举个例子:我想租借小雪同学的小说,需要支付给小雪1个小红花。我把这笔交易记在我的账本上,然后把付款的单子传递给前后左右的同学,收到我单子的同学记录这笔交易,然后再传给

    他们周围的同学,直到全班都记录了这笔交易。这样一来,有人要偷偷修改账本就很难了,他必须与全班同学的账本对账,只有绝大多数(超过半数)的同学账目能跟你对上(也许有个别同

    学记错账),这笔交易才能得到认可。同时还调动了同学们计算账目的积极性,因为最早计算出来的同学有奖励。

      

    ① 这个场景中,账本上的小红花就是一种数字货币,相当于比特币。

    ② 全班同学组成的网络就是一个p2p网络。每个同学就相当于一个节点。

    ③ 同学+账本共同组成的系统就好比一个区域链。

    ④ 不存在一个保存在班长那里的“小红花总账”,这就是去中心化。

    ⑤ 最先计算出来的同学会得到奖励,这个就是挖矿。

    ⑥ 有个同学用计算器,算的比别人快,这个计算器就相当于矿机。

    ⑦ 如果同学的账本上面都不写自己的名字,而是用自己想的代码表示,这就是匿名性的体现。

    4、现在我们把班级的例子搬到现实的网络世界中来。就是这个样子:

    每一个记账的同学,就是一个节点。在网络中,用户在电脑上运行比特币客户端软件,这样的电脑称为一个节点(node)。这些节点联系在一起,就形成了一个p2p网络。这些网络的节点都参与

    记账,就形成了一个分布式存储的系统---区域链。

    在网络中,安全性是一个重要的考量。比特币系统采用“密钥对”来保证安全性。密钥对就是一个私钥对应一个公钥。

    5、回到班级的例子中,假设每个同学都有自己的密码(私钥),然后去阿聪老师那边根据私钥领取一个对应的公钥。这个公钥就作为童鞋们的账户名和地址。我要支付给小明,就填写小明的公钥收款,

    我的公钥汇款,其他同学看到我的公钥汇款,然后可以去阿聪老师那边验证,这个公钥是不是真实的。是不是随便瞎掰了一个账户。不过我的私钥他们不知道。

    网络中也是这样。每个参与者,随机生成一个字符串,这是你的私钥,然后这个私钥通过转换变成公钥(也是一个字符串),这个公钥就是你的比特币账户。我向其他人转账的时候,我把单子发给其他的

    节点,并且传播到全网。网络上的其他节点可以使用对应的公钥对交易进行验证,看看这个账户是不是来自一个合法的账户持有者。

    这时候,矿工登场了,他们要验证交易。每10分钟的数据都被打包成一个“数据块”。就好比班级里面计算每天的数据一样,在比特币系统,是按10分钟的交易数据了计算的。

    计算的方式是用哈希函数。这个不多说了,计算的胜出者,就会得到一定比特币的奖励,这个奖励最初是50比特币,今后每产生210000个区块,比特币数量都会依次减半。直到第33次减半时,每个块产生

    0.0021个新比特币直接减为0个。我们知道比特币大约每10分钟产生一个区块,而210000个10分钟接近4年。所以比特币挖抗的收益是大概4年降低一半。现在已经降低了2次,目前的奖励是12.5个比特币。

    什么是区块链?

    工信部指导发布的《中国区块链技术和应用发展白皮书2016》这样解释:广义来讲,区块链技术是利用块链式数据结构来验证与 存储数据、

    利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程

    和操作数据的 一种全新的分布式基础架构与计算范式。

     

    一 、去中心化——区块链的第一机理

           当今时代,社会制度的核心机制是“中心化”,国家、政府、各类首脑机关、银行、交易所、公司等都是中心。这些中心根据各自承担的职能,对权力、军事、交通、信息、货币、商业交易等几乎社会运行所

    涉及的一切资源进行集中或分散,社会成员通过与各类中心的互动而获取财富、履行职责,并且与其他成员之间建立联络。当然,并不是说所有的人类行为都需要借助中心来完成,但“中心化”无疑是社会运行最主要的模式。

      “中心化”作为一种机制的优势有很多,可以提高效率、集合资源、迅速建立起秩序等,但中心化的缺陷也是显而易见的,因为中心化意味着对个体权利和选择机会进行了限制,并且必然会对资源财富、社会成员的活动

    等形成控制,造成不平等、不公平、不透明。所以,去除“中心”的存在,实现社会成员与成员之间的直接互联,由成员共同而且自发地对公共事务实施管理,这一直是人类的理想之一。

      区块链最初只是“比特币”的基础技术,在创立之初未必会有太过复杂的意旨,但随着比特币风靡于世,其所暗含的内在机理也正在不断地释放出光芒。

    二、 共识机制

        ​   主流社会制度的“痛点”显然不止“中心化”这么一项,“信任”就是另外一个“痛点”,尤其是陌生人之间的信任。“信任”是个大问题,司法、货币、银行、公证、征信,甚至政府的存在等,几乎都是为了实现社会成员的守信和相互信任,“中心化”某种程度上也是因为“中心”更可信。但是,现行机制的效果并不令人满意,且成本巨大。

      区块链解决了信任问题!

      区块链要求每个联结点在共同的账本上对每一笔交易进行分布式记账,每当交易发生之后,信息会通知到所有的“点”,各个“点”(即人)按照预设的规则独立地对交易进行确认,整个过程中,信息透明统一,参与者资格权限完全对等。多数“点”确认的结果就是最终的结论,系统会自动将你的数据修正为大家认可的结果。你想作弊或者坚持不同的观点,除非你能让超过51%的“点”都同时认可你的结论,当参与的“点”多到一定程度时,这事实上是不可能的。一次交易得到确认之后,交易的记录和各种数据打包成块,加上时间戳,编入链中,然后启动下一轮交易(块),新旧区块前后为继形成“链”。各个区块所存储的交易记录可以无限追溯,随时备查且无法更改,想要作假、撒谎、隐瞒真相,根本无机可乘,人与人之间的信任由此得以确立!

        ​   ​这种信任不依赖于某个权威,而是建立在“共识”之上,一种由所有参与者在完全平等和信息充分透明的基础之上达成的“共识”,并且由所有人共同维护和传承已经形成的“共识”,是真正“多数人对少数人的暴政”。

      第二代区块链还引入了“智能合约”机制,在程序中加入了能够自动履行的合约,一旦约定的条件得到满足,系统将自动实施强制交付,所有的联结点也都会见证和确认这一过程,容不得背信弃义行为的发生。

    三 、激励机制

        ​    ​任何一种制度机制,首要的功能显然应当是“激励”,其次才是约束,有效的激励是社会进步真正的动力。现行社会治理体系中的产权制度和分配方式等,宗旨皆在于激励人们去发展生产力、创造财富;公司薪酬制度、职工持股、职级晋升等同样是为了激励员工努力创造价值。区块链如果应用于商业场景,自身不需要附带激励功能,因为参与者的商业诉求自然会激励他们主动地去管理和维护区块链。但如果应用于公共事务,就必须加入激励机制,否则链条将无法延续下去。

      比特币、以太币以及其他各种虚拟代币(token),正是区块链具备激励功能的体现。中本聪所设计的区块链是试验之作,本身并无商业价值,为了引起关注、发展联结点,同时激励参与者不断通过“挖矿”式计算来创建新的区块,共同维护链条的延展存续,他必须要给予为此而做出努力的人以“报酬”。所以,在每一次“挖矿”成功并得到确认之后,新的区块形成,而公认胜出的“挖矿”者则获得token,并被记入公共账本。中本聪将这种本质上属于一段计算机程序的奖励命名为“比特币(Bitcoin)”,这种命名暗合了现实社会中人们关于货币的各种意念,从而使区块链被误认为是一种造钱的计算机程序,比特币因此而风靡于世,并且还催生出一波虚拟货币热潮。    ​ 

    宝剑锋从磨砺出 梅花香自苦寒来
  • 相关阅读:
    PAIRING WORKFLOW MANAGER 1.0 WITH SHAREPOINT 2013
    Education resources from Microsoft
    upgrade to sql server 2012
    ULSViewer sharepoint 2013 log viewer
    Top 10 Most Valuable Microsoft SharePoint 2010 Books
    讨论 Setsockopt选项
    使用 Alchemy 技术编译 C 语言程序为 Flex 可调用的 SWC
    Nagle's algorithm
    Nagle算法 TCP_NODELAY和TCP_CORK
    Design issues Sending small data segments over TCP with Winsock
  • 原文地址:https://www.cnblogs.com/GHzcx/p/9188423.html
Copyright © 2011-2022 走看看