2018年7月2日 ( 正文字号: 小 中 大 ) 文章标签:经济热点 互联网金融 [
导语 ]
什么是“比特币”?什么是“区块链”?这些概念已被社会广泛关注。从2009年中本聪提出比特币概念至今,短短不到10年,比特币竞然已成为全球通用的“货币”,而且它的价格还在向上攀升,截止到昨天,每一个比特币价值近乎16000美元。如果拉斯罗。汗耶茨听到这个消息,估计要跳楼,他可以说是比特币历史上最悲催的主人公。在比特币产生初期,他曾拥有过1万比特币,当时比特币还不被人们看好,他就用这1万比特币买了两个披萨,当时1万比特币市值约30美元,时至今日价值约10亿人民币。[
内容摘要 ]
传统互联网主张实名制,试图通过实名认证构建信用体系;然而“区块链”恰好相反,它完全是匿名的,例如在比特币的交易,买家根本不知道卖家是谁,但每个人都会遵守信用,真正完成了一个“匿名”社会下的信用构建。[
内容 ]

第一章、区块链已来,世界从此大不同

区块链导航系列-入门区块链

一直以来我有一直有一个疑问:“区块链”技术到底好在哪?为什么“比特币”——这样一个非官方发行的货币竟然会火得一塌糊涂?直至HOW实验室真正布局区块链技术,本人也亲自实验了“区块链”技术,才真正发现它具有传统技术无可比拟的“信用优势”!我尽可能用最简单的语言来描述它与传统技术的区别:传统互联网主张实名制,试图通过实名认证构建信用体系;然而“区块链”恰好相反,它完全是匿名的,例如在比特币的交易,买家根本不知道卖家是谁,但每个人都会遵守信用,真正完成了一个“匿名”社会下的信用构建,它到底是如何做到的?稍后本文将通过一系列的实验结果揭晓这一秘密。

区块链的发展轨迹:


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

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

图片 2

图2:Merkle树示意图

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

但比特币底层的区块链,抛开比特币的挖矿过程,或者把比特币置换成信息流,剩下的就是区块链框架——一个公开的分布式的分布式账簿系统。区块链带来的信任创造机制变革,受到了广泛的关注。

区块链导航也是一个入门区块链的入门学习路线。下图是一个区块链相关内容的整理分享,内容还是比较繁琐,当然在学习区块链的过程中并不需要那么复杂。钻研琢磨某些方面可能对这个学习过程更为深刻。

一、区块链:匿名社会的信用

近期区块链发展

随着各国政府对区块链认识的深入,政府部门纷纷在战略层面予以关注,同时区块链领域创业公司纷纷成立,区块链在各个行业领域的应用价值被逐步挖掘。基于联盟的区块链生态正在形成。

所有内容不需要科学上网,当然通过科学上网能获取更多信息,这里暂时只收录了不通过科学上网能获取的内容

区块链不等于AI:前者是“信用”,后者是“智能”

区块链是什么?

有了比特币的基础,区块链就很好理解了!
区块链是一个公开的分布式账簿系统。区块链是数据库的一种,它拥有大量记录,并将这些记录全部放在区块内(而非整理在一页纸或表格中)。每一个区块通过使用哈希算法加密生成哈希值,链接到下一个区块。人们可以像账本一样使用区块链,可以共享,也可以被拥有适当权限的人查阅。

磨链社区-区块链导航目录:

很多人将区块链和AI混在一起,这是一个基本的常识错误。我在实验中同时用到人工智能技术和区块链技术,可以说这完全是二门不同的技术。人工智能的技术点在于“智能化”,以神经网络布局为例,它能够计算出人脑无法想像的结果,这是人工智能的特点。然而,区块链技术缺乏智能化的特点。恰好相反,区块链的运行速度甚至还不及普通程序快,以付款为例,通过区块链完成付款往往要几分钟后才能付款成功,原因在于区块链技术需要制作和同步帐本,需要大多数结点都收到这个帐本后才视为付款成功。

关于区块链几个概念:
  1. 时间戳。时间戳是断定这一个区块与下一个区块的继承关系的时间标签,比特币中矿工把账目记入了区块,因此一个区块就相当于一页账簿,每笔交易在账簿中的纪录自动按时间先后排列。时间戳的意义在于其使数据区块形成了新的结构,这个新结构使各个区块通过时间戳连接起来,形成了一个不可逆的区块链条。时间戳是区块链中天然的公证人。

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

  3. 智能资产。任何可以用代码表示的东西都可以通过被编程的方式记录在区块链上,因此任何资产都可以在区块链上进行注册,将其转变为智能资产,通过利用区块链来记录追踪监测资产的属性与变化。智能资产是通过区块链的信任机制进行的,因此对信任机制的要求很低,可以有效地降低欺诈和中介费用。

图片 3

因此,区块链技术最大的优势在于“信用”,并且是匿名信用!传统的编程思想是“中心主义”的,比如一个网站或者一个App是架设在一个中心服务器上,这个服务器就是绝对的中心,任何人使用网站或者App,本质上就是在访问这个中心服务器,这依然是当下主流的编程思想,我在HOW实验室做的绝大多数实验也都是采用是中心主义思想。然而,区块链技术的创新就在于“去中心化”,以当下流行的比特币为例,完全没有一个中心服务器,每个人都会有一个“帐本”来记录自区块链产生开始至今所有的交易记录。

梅兰妮斯万提到的区块链应用不断扩展的三个阶段:
  • 区块链1.0,货币时代。区块链应用于虚拟货币,是比特币低层技术。这个时代数字货币开始出现,去中心化数字支付系统开始出现,互联网开始可以传递价值。

  • 区块链2.0,合约时代。区块链开始应用于多个领域,金融交易、公共记录、资信证明等等。利用区块链在互联网上建立智能合约,用算法代替传统合同。当然,智能合约有待普及,也需要新的法律法规以保障其法律效力。

  • 区块链3.0,分布式人工智能和组织时代。区块链低成本信用创造的优势有待进一步发挥,可以应用到物联网、通信、医疗等方面。有助于形成一个全球范围内的去中心化的分布式资源分配框架,打造共享经济模式。

区块链技术组成相关概念

我在试验中还发现,当一个新的结点加入到区块链之后,首要的第一件事便是同步区块,程序会自动将所有帐本上传到本机。

第二章、区块链背后的经济思想

摘要

区块链的关键词:区块和链

区块链打造新经济——可编程经济(智能合约)。
  • 区块链的脚本语言使可编程经济成为现实,脚本本质上是众多指令的列表。脚本的运行依赖区块链底层的智能合约。
  • 区块链的可编程特性推动社会进入基于机器信任的智能万物互联时代。
  • 区块链的可编程特性使得独自在区块链上运行的自治实体出现,Slock.it初步呈现了自治组织的运行状态。

区块链(blockchain)技术目前最为火热的计算机技术之一,区块链技术是相关成熟技术的一个结合。其包括了密码学算法、P2P网络技术、分布式架构、共识机制等方面,同时区块链应用则横跨了多类学科:计算机软件、计算机网络、密码算法、信息安全、经济学、博弈学等。大致介绍下区块链一些基础相关内容和一些目前区块链行业内一些专用术语。

区块链有二个关键词“区块”和“链”,所谓区块,可以理解为一个小帐本,用计算机命令打开区块后就会发现,它记录了近10分钟的所有交易,所以可以把它理解为一个小帐本。而所有区块按时间接点连接在一起就是“区块链”,一个总帐本。“区块链”上的每一个结点都有一个总的帐本。那么,这个帐本是如何产生的呢?这要归功于矿工的功劳。

区块链将在各行业进行广泛应用,社会下的信用构建。从制度信任到机器信任——区块链低成本信用创造机制。
  • 区块链基于数学原理解决交易过程中的所有权确认问题。非对称加密算法,通过非对称密钥对完成两项任务,第一是证明你是谁,第二证明你对即将做的事情已经获得必须授权。密钥对满足两个条件,一是对信息用其中一个密钥加密后,只有用另一个密钥才能解开;
    二是其中一个密钥公开后,根据公开的密钥无法推算出另一个密钥。
  • 区块链基于技术优势解决交易过程的安全信任问题。将负责安全管理的控制从监管层面或者第三方组织机构转移到基础架构层面,使整个系统变得安全可靠。
  • 区块链基于智能合约解决交易双方的信任执行问题。在区块链上嵌入智能合约。规避操作风险和违约风险、信任风险。

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

概念

这里还要澄清一个“分步式”的概念。“区块链”实现了分步式数据存储,简单地说就是将账本同步给每一个结点。很多人将这里的“分步式”概念与大数据中的“分步式”概念混淆。这些技术我在实验室中亲自操作过,比如在大数据处理方面,我用到了“hadoop”和“spark”,这里的“分步式”运算的机理是将海量数据打成一个个小的碎片,然而交给多台服务器并行计算,从而实现海量数据的快速运算。然而,“区块链”中的“分步式”几乎与大数据没有任何关系,它的“分步式”,实质上是将每一个帐本同步到网络的每一个结点,以比特币为例,整个帐本才不到70G,乙太币帐本的帐本更小,也就是说你的电脑硬盘如果大于70G,你就可以申请成为区块链的一个结点。

从信息互联网到价值互联网——区块链基于低成本信用传递价值。

试想没有支付宝你还会在淘宝上购物吗?

  • 在不需要第三方背书的情况下,区块链使用纯技术方式让价值转移成为可能。这种可能性的实现,就是上文提到的低成本创造信用。同时在全网范围内还有所有节点或者授权者参与保存公共账本,参与确认交易过程的真实性,这种全网参与的共识机制也是保证了无第三方的情况下互联网内部之间的价值传递。
  • 这种无需第三方的价值传递,大大降低了传统价值交换的成本。
  • 区块链还可以实现基于一定规则的价值传递。利用智能合约,可以在分布式账本基础上,根据交易主体的喜好和需求,构建可编程合约。

区块链技术组成,密码学算法、分布式系统、共识机制、P2P网络等。首先来理清这几个模块之间的关系。如下图:

“挖矿”挖的到底是什么?

从集中化到分布式多中心化——优化资源配置
  • 降低交易成本、协调成本、监管成本,提升商业运行效率。如前所述,不需要第三方就可以创造信用、传递价值,因此区块链可以大大节省各方面成本,提升效率。
  • 实现数据互操作性,促进共享经济的实现。分布式记账和存储过程,可以为多方参与者提供实时、可信的共享数据源,从而减小信息不对称性,实现信息和价值共享。
  • 智能合约的应用,也可以实现资源的智能化合理配置。

图片 4

在区块链技术中,有一个重要的角色叫“矿工”,他们通过挖矿获得“比特币”。事实上,所谓“挖矿”只是一个形像的描述,在计算机的世界中除了“0”和“1”的代码之外,别再无其他,更无所谓“金矿”一说。

从依靠理性到引入技术——法律的约束和执行走向智能化

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

区块链技术起源于比特币,在比特币出现后,人们发现比特币的底层技术架构,是结合之前技术后一种全新的架构,在这种架构下,通过密码学算法保证身份、签名、交易安全。数据通过共识机制写入,实现了数据不可篡改,透明可追溯。并且结合P2P网络架构,实现了一种去中介化的,每个节点保存一份数据,每个节点参与维护数据,且不依赖中心服务器的达成系统状态一致。

这里的“挖矿”,在本质上是为区块链网络提供计算资源。前文所提及区块链中会同步帐本给所有的结点,这就需要记帐,谁来记帐并且负责发布帐本呢?这个人就“矿工”,由于他们为区块链网络做出了贡献,所以会赢得比特币。所谓“挖矿”实质上就是向个整个区块链网络提供“算力”,负责制造和发布区块,它对电脑cpu和电量的消耗是很大的,我有一个直观的印像,每一次启动“挖矿”命令后,电脑cup的占用率都会超过300%,电脑会热的像冬天里的烤火炉一样。

第三章、走进区块链技术,揭开它的神秘面纱

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

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

  • P2P点对点网络——基本网络架构,无中心节点。
  • 公开分布式账本——本质属性。
  • 不对称加密算法、公钥、私钥——保证点对点传播安全。
  • 哈希加密——保证账本的真实不可篡改。
  • Merkle树——一种存储交易记录哈希值的结构,简化验证程序。
  • 时间戳——区块链的不可逆,链内公证员。
  • 智能合约——信用保障基础之上,脚本条款可以生效。

现在可以差不多想起来了吧?下面对区块链作进一步具体介绍

密码学

矿工们做出的贡献是需要肯定的,他们会基于挖矿而获得奖励,区块链的技术设计是比较科学的,矿工们完成制作“区块”,但却无法修改帐本中的交易记录。区块还将发给每一个结点,这样又进一步保证交易记录的真实可靠,完全无法篡改的。这比中心服务器的信用要可靠得多!如果帐本存在一个中心服务器中,无论是服务器管理者修改帐本亦或是被黑客攻击,都意谓着帐本会被完全篡改。而在区块链中,几乎没有人可以篡改账本。如果是黑客想篡改这个帐本,原来是黑进一台服务器即可,而现在是要黑掉所有结点上超过51%以上的电脑才可以,这几乎是无法完成的。

区块链的共识机制——建立网络公共信用的基础:

包含工作量证明机制PoW,权益证明机制PoS,股份授权证明机制DPoS和pool验证池几种类型。

  • 工作量证明机制,即对工作量的证明,是生成要加入到区块链中的一笔新交易信息,即生成新区块链,的前提。这种区块链网络中,节点通过计算随机哈希散列的数值争夺记账权。比特币是通过这样的工作量证明机制来生成新货币。缺点是由于比特币已经没有了足够的算力保障安全,其次是资源浪费和周期长。因此不适合商用。
  • 权益证明机制,peercoin数字货币,采用权益证明机制保障安全。要求证明人提供一定数量加密货币得所有权。这种方式中,当创造一个新区块时,矿工需要创建一个币权交易,交易会按照预先设定的比例把一些币发给矿工本身。权益证明机制根据每个节点拥有代币的比例和时间,依据算法等比例地降低节点的挖矿难度,从而加快了寻找随机数的速度。总结来说,挖矿的本质没有变化。
  • 股份授权证明机制,类似董事会投票,全体用户投票选出或罢免某些股东,股东投票进行决策。因为缩小了决策和记账节点数量,共识可以在很短时间达成。但是仍旧是基于代币,但很多商业应用中不需要代币存在。
  • pool验证池,基于传统的分布式一致性技术建立,加上数据验证机制,是目前区块链广泛应用的一种共识机制。成熟的分布式一致算法(Pasox,
    Raft)基础上实现秒级共识验证,适合有多方参与的多中心商业模式。但是该共识机制能够实现的分布式程度不如PoW机制等。

密码经常能够听到,密码学应用也极为广泛,简述密码学发展的三个阶段:

矿工的工作是制作帐本,并将帐本同步给每一个结点,从而保证交易记录的真实可靠。如果没有矿工挖矿,交易便无法进行,在构建联盟链的过程中我曾用计算机命令停止挖矿动作,此时,任何付款都将失效,道理很简单,在区块链中付款生效的条件,是这一笔交易被记录在区块中,并且这个区块发布给了区块链中绝大多数的人,而这一切又是由“挖矿”来完成的,如果没有了挖矿,这一切当然就无法生效。

区块链分类

可以分为公有链、联盟链和私有链。比特币区块链和以太坊区块链是公有链。私有链是由一个实体控制,仅对实体内部开放。联盟链应用前景比较广泛。

古典密码学:古典密码学诞生至少有两三千年的历史了,这个阶段核心思想为:置换(permutation)。斯巴达人的塞塔式密码:把一个长条羊皮螺旋地斜着绕在一个多棱棒上,然后水平方向从左到右写字,写一个字绕一圈。这长条羊皮拿下来看上去杂乱无章的,但是加上同尺寸的多棱棒就能看到准确的信息了。之后又出现了一种古老的对称加密算法,凯撒算法,这类算法的基本实现原理是通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后按照一个固定数目进行偏移后被替换成密文,这种加密方式一旦掌握足够密文可以通过逆推的方式得到加密规则。古典密码学针对字符,对字符本身不做修改,通过位置的改变或者替换来隐藏信息,这种加密方式比较简单,主要通过工作或者机械的操作来加解密,一旦掌握了解密工具或者找到解密规律,信息马上就被破解了,整体安全性不高。

二、智能合约的魅力?

区块链存在的问题
  • 性能与容量问题。去中心化程度越高,共识机制效率就越低,效率决定的交易时延会变长使得交易吞吐变低;还有账本存储容量和处理效率之间的问题,
  • 安全性局限。51%攻击;私钥在用户终端,防止窃取;共识机制的安全,已存共识机制缺乏严格的证明和试验。

现代密码学:1948年10月香农Shannon的信息论诞生,信息论将信息的传递作为一种统计现象来考虑。同时这也标志着密码学进入了第二阶段,现代计算机科学和信息技术的发展,之前对复杂计算的密码可以通过计算机来完成,密码学成为了一门科学。加密算法一般通过密钥来加解密,信息通过密钥加密后明文通过二进制的方式传播,一般的理解,你的密钥越长就越难破解,但是这个时候你会发现你的密钥只有一把,而且别人要解密你的信息,你必须把密钥也给对方,这种方式称为“对称加密算法”。你的密钥很关键,怎么保存,怎么传输就会很头疼。当然后来演变出来的哈希算法、公钥密码学、其实都是以现代密码学为基础。

智能合约的二个关键词

第四章、区块链的应用前景

区块链将会应用多个领域,本章主要分析了区块链在以下各个领域中的应用前景并列举了相关实例:
感兴趣的同学可以直接跳到这一部分相关领域具体查看噢

  • 物联网,设备之间基于共识直接通信。区块链租车项目签名验证。
  • 公共服务。
  • Humans+Bits+Blocks 系列文章参考,医疗保险应用。
  • 车辆共享应用。
  • 西班牙基于区块链的投票系统。
  • 艾尔莎尼亚政务管理。
  • 乌克兰国有资产管理。
  • 欧洲能源零售市场智能化管理。
  • LaZooz共享出行。
  • 欧盟税收。
  • 慈善领域
  • BitGive慈善项目
  • 欧洲难民紧急救助项目
  • 金融
  • 布比等公司尝试区块链进行股权登记转让和清算结算。
  • Ripple利用区块链建立全球分布式清算结算体系
  • P2P票据市场
  • 保险行业
  • BTCJam建立基于区块链的借贷平台
  • 认证领域
  • 公证通Factom利用区块链构建了信赖的认证公证服务
  • Stampery使用比特币区块链技术提供认证服务取代传统公证人。
  • Uproov一款区块链认证app
  • Bitproof联合学校验证学历
  • 预测市场
  • Augur诚实开放公开的预测市场
  • 数字版权
  • Decent提出基于区块链技术的数字内容解决方案。
  • 供应链
  • 布比物链构建基于区块链的有品质保证且诚信公证的供应链系统。
  • Provenance利用区块链提升产品供应链的透明度。

1976年后,公钥密码学出现,这个也可以称为非对称加密,和之前的对称加密最大的区别就是,加解密分别使用公钥(publickey)和私钥(privatekey),密钥以一对的方式出现。W.Diffie和M.Hellman发表的New
Direction in
Cryptography,提出了非对称密码体制的概念。非对称密码体制一般依据两类类数学问题:大整数分解问题和离散对数问题。

“智能合约”,有二个关键词,一个是“合约”,一个是“智能”。对于“合约”的概念,大家并不陌生,“合约”即“合同”,从传统的押字画押,演变到今天的电子契约,其本质就是合同。“智能合约”中的另一个较为重要的关键词即为“智能”。首先要澄清这里的“智能”与人工智能中的“智能”并非同一概念。这可以在二者的英文表述中得到区分,智能合同中用的“smart”,而人工智能用的是“intelligence”。因此,如何理解这里的“智能”概念,也成为理解智能合约的关键所在!

第五章、百家争鸣

郭为民、吕雯、刘一方、李军等专家或学者讨论了区块链的广阔应用前景的相关挑战。

加密算法原理概述,数据加密:数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。

尼克·萨博与智能合约

那么根据数据加密的定义,我们会发现数据加密是需要一个解密过程中,那么有些算法在加密后变成密文,但是无法逆推的那种就不能被真正定义为加密算法。

或许你没有听说过尼克·萨博,但一定听说过中本聪明,他是比特币的发明者,他也是一位很神秘的人物,几乎全世界都在猜测他是谁?2010年12月5日,中本聪在比特币论坛里发了一个贴子后便神秘消失了。没有人知道他是谁,但有猜测他就是尼克·萨博。尼克·萨博何许人也?他便是“智能合约”概念的提出者,他是一位计算机科学家、加密大师,他在1993年左右提出“智能合约”的概念,就于1994年他写成了《智能合约》论文,是智能合约的开山之作。

区块链中涉及到的:私钥、公钥、钱包、助记词、hash算法、椭圆加密算法、SHA算法家族等都是以密码学算法为基础。这里特别提及一下merkle
tree。

近几年来,“智能合约”作为关键词,不断刷新人们的眼球。有很多朋友都曾向我提及过这个问题:啥叫智能合约?比特币之后又兴起的以太币,它所依赖的平台,即允许用户自由布置智能合约。当然,在以太坊上布署一个智能合约是需要花费以太币的,因为它需要“矿工们”把智能合约的代码记录在区块里,并且发送给每一个结点,因此智能合约同样是不可修改的。

Merkle tree,Merkle
tree是数据结构中的一种树结构,可以是二叉树,也可以是多叉树,它和数据结构中树的特点几乎一致,和普通树不同的是:merkle
tree上的叶节点存放hash计算后的hash值,非叶节点是其对应的子节点串联的字符串的hash值。假设hash0是上一层节点,hash0-0和发送0-1是下一层节点,那么hash0=hash0-0+hash0-1。中本聪在比特币系统中很巧妙地运用了merkle
tree树,包括钱包SPV简单支付验证都以merkle
tree为基础。以太坊也使用该模式来做区块链系统中的验证互联。Merkle
tree以hash算法为基础,这里引入入一个hash root的概念,在区块链中有merkle
hash root值。这个数据值就是拼凑在一起的hash值,通过hash
root,我们可以通过事先获知hash root,然后结合hash
list计算,逐步校验每一块的hash值并进行组合,组合值和hash
root比较,一致就说明数据块是没有问题的,这种方式更好的运用在实际的网络数据传输中。原理如下图:

理解智能合约,从“滴滴打车”开始

图片 5

时下盛行的“滴滴”或“Uber”,可以理解为“智能合约”的雏形。乘客发出请求,司机作出承诺。在智能合约下,几乎不存在违约的情况,例如乘客打车后拒绝付款会被剥夺再次打车的权利。那么,在“滴滴打车”的样态中,司机与乘客的权利义务不是写在纸上,而是写进了计算机代码,所有人的行为及后果均是由代码决定的,这便是“智能合约”的雏形。

共识机制

怎样才能把传统协议变成智以合约呢?我抵押协议来例,在抵押协议中客户向银行作出承诺,如果届期不还钱,车辆归就归银行所有。如果要把它变成智能合约,就需要把这个承诺写进计算机代码,这在智能架驶时代是可以实现,比如通过计算机代码的设置,客户届期未按时还钱,车辆将会拒绝客户使用,反倒是将架驶权限发送给银行,银行转而拥有车辆的使用权。因此,智能合约的本质在于将合约的履行或者违反合约的后果都写进计算机代码,由计算机程序自动执行。在智能合约下,任何任性的行为,计算机代码都会赋予其相应的代价。

首先,共识机制在分布式系统中是无解的,为什么说是无解,众多的节点之间通信,必然存在网络自身不可靠的原因、主机故障原因、恶意操控等原因,故是无法保证实现完全的共识,这里不是笔者随便下的结论,Fischer,
Lynch 和
Patterson三位在1985年就提出了一个FLP不可能原理:在网络可靠的前提下,任意节点失效,一个或者多个的最小化异步模型系统中,不可能存在一个解决一致性问题的确定性算法。这三位的论文后来获得了Dijkstra奖。这一理论已被可靠的论证过,所以不用再花大力气在异步分布式系统中去设计一个完全一致的共识算法。

与传统合约相比,智能合约的特质是清晰的:合约定立和履行是一体的,这也可以从根本上解决“执行难”的问题。传统合约的定立和履行是分离的,合同定立了但未必就能履行,法院在合约执行中依然发挥主导作用。然而,智能合约的定立和履行却是一体的,完全由计算机代码完成。在区块链中编辑“智能合约”的语言叫“solidity”。智能合约中的“smart”有“便捷”的意思,事实上,协议的自动履行倒是更符合智能合约的本质。

FLP说明在异步分布式系统中完全一致性是不可能的,但这是一个科学理论,应用到现实工程中,我们可以牺牲一些代价把不可能变成可能,这就是科学和工程的最大区别,就像你炒股吧,官方肯定会告诉你股市有风险,入市需谨慎,但你肯定认为在你高超的操作下还是能赚钱的。那在计算机工程领域中2000年
Eric Brewer在ACM
研讨会提出猜想,CAP猜想,CAP拆解后就是一致性(Consistency)所有节点上的数据时刻保持同步、可用性(Availablity)每个请求都能接受到一个响应不论响应成功或失败、分区容忍性(Partition)系统内部有消息失效的情况下仍能提供持续服务。如下图:

区块链语境下的“智能合约”

实际运用在工程环境下,适当取舍这三者,一致性、可用性和分区容错性三者无法在分布式系统中被同时满足,并且最多只能满足其中两个。这样就出现了以下三种情况:

为了进一步说明“区块链”语境下的智能合约,这里我引用Lessig在他的《代码:网络空间的法律》一书中的观点。为了解释代码在赛博空间中的作用,lessig引入了“架构”的概念。根据物理空间的形状,你的身体可以穿梭其中,这一切是由它的架构决定的,例如建筑环境。按此道理,虚拟空间的形状则是由代码决定的,所有应用和协议就建立在代码上面。因此,代码便是虚拟空间的架构。法律和架构在管理参与者方面是皆然不同的。法律依赖于个人将规则内化为自觉进而规范人的行为,个人行为一旦超越了法律的界线还需要法院强制执行。然而,架构通过塑造空间本身管理行为,它既不依靠个人对规则的信仰,更不依靠法院执行。因此架构在效率上明显优于法律。依据架构执行合约时,不需要任何个人或者组织来决定如何执行合约,你可以称架构执行为自我执行,在这种情况下,违约甚至不可能发生。

CA without
P:如果不要求P,则C和A是可以保证的。但其实分区不是你想不想的问题,而是始终会存在,因此CA的系统更多的是允许分区后各子系统依然保持CA。Zookeeper为此类设计。

“区块链”语境下的“智能合约”,还有一个重要的特点:去中心化的,或者说它是不可修改的。“区块链”背景下的智能合约,则是分布在每一个结点上,它的内容是不可调整的。以借钱的合约为例,合约一旦定立,它就发布给每一个结点,合约内容不可更改;而且一旦届期,合约会自动从借款人帐户中扣掉比特币或乙太币给借款人。

CP without
A:如果不要求A,相当于每个请求都需要在Server之间强一致,而P会导致同步时间无限延长,如此CP也是可以保证的。很多传统的数据库分布式事务都属于这种模式。MongoDB、Redis为此类设计。

四、区块链背后的法律变革

AP wihtout
C:要高可用并允许分区,则需放弃一致性。一旦分区发生,节点之间可能会失去联系,为了高可用,每个节点只能用本地数据提供服务,而这样会导致全局数据的不一致性。CouchDB、cassandra为此类设计。

安全、公平、信用:传统法律价值的危机

那么在区块链中常见的共识机制有:pow、pos、dpos、pbft等,这里简单介绍下两种最为常见的共识机制,一种是比特币的POW机制,另一种是未来以太坊采用的POS机制。

现有财产制度大都围绕“资产”这一概念展开的。所有被称为“资产”的东西,都需要法律的保护,比如钱、股票、债券、音乐、知识产权等等。法律制度所要解决的恰恰是这些“资产”的所有、使用、管理、保护等等一系列问题,物权法、合同法、证券法、知识产权法等均为如此。现代资产的管理是以政府或者金融中介为核心完成的,比如房屋交易需要到房管部门办理登记,证券交易需要到证券管理部门交易结算,银行转帐同样需要由银行来最终确认。因此,当下的金融管理体系奉行的是中心管理模式,政府或者少数几家垄断金融机构便是财产管理的核心,他们拥有财产管理的一套帐本,这套帐本便是公民权利的最终评证。

POW(Proof of
Work),工作量证明机制。我们最直观的理解就是,一份证明,这个证明确认你做了一定的工作量,类似于现代生活中一些检测考试,通过检测考试你就取得了一份证明,只不过这个证明是一个工作量的证明。

如果黑客黑掉这套唯一的账本,公民的权利将会遭受巨大影响,很多银行、政府机构都曾遭受过黑客的攻击,就连摩根大通、美国联邦政府也难以幸免于难。中心帐本所带来的安全隐患却实存在。比安全隐患更为严重的还是信用问题,中心帐本,一家独大,如何保障账本的真实可靠一直都是民众关心的问题,就像手机收费,总有民众对于移动、联通这些大服务商们出现的错误计费愤愤不平。民众在创造财富的同时,总是希望能够得到公平的待遇,这种诉求也会与中心管理模式发生了急剧的冲突,以跨国银行转帐为例,一般要收取10%-20%的手续费,而且周期很长。

工作量证明一开始是以工作量证明系统提出,这个概念来自Cynthia Dwork 和Moni
Naor
1993年在学术论文中,是一种拒绝服务攻击和滥用服务的对策,要求发起者需要消耗一定量的计算机资源来进行计算。那么POW这个词汇在1999年
Markus Jakobsson 和Ari Juels的文章中正式提出。

不可否认,长期以来,中心管理模式所爆发出来的安全、信用、公平等价值危机,愈演愈烈。或许可以从现代法律价值的危机中去寻找区块链技术盛行的动因,区块链技术旨在实现完全的“去中心化”和分布式账本,它所迎合的是去中心化的民主思潮!

提到工作量证明,一般都会说到hash现金,亚当·贝克(Adam
Back)在1997年发明的,用于抵抗邮件的拒绝服务攻击及垃圾邮件网关滥用。在比特币之前,哈希现金被用于垃圾邮件的过滤。哈希现金也被哈尔·芬尼以可重复使用的工作量证明的形式用于一种比特币之前的加密货币实验中。另外,戴伟的B-money、尼克·萨博的比特金这些比特币的先行者,都是在哈希现金的框架下进行挖矿的。

中心记帐所导致的系列危机,让人们产生了这样的联想:建立一个全世界统一的大帐本,甚至每个公民都拥有这样一套帐本,任何资产都可以通过它实现存储、转移、交易、管理等。区块链技术恰恰就是由这一伟大思想催生的产物。比特币的成功应用,恰恰反映这“去中心化”思想的成功。在这一基础上Vitalik
Buterin
又创建了乙太坊,不仅可以发行电子货币,还可以在此基础上实现“智能合约”。毫无疑问,这一切对现在法律制度都将造成巨大冲击!

工作证明原理

区块链技术对“物权登记”的挑战

首先工作量证明需要客户端做一个有难度的工作且得出一个结果,这个结果公布后,验证的一方需要很快能进行验证。这是不对等的。比如我们在一个字符串后加一个随机数,对这个字符串进行SHA256计算,然后得到的结果用16进制来表示,我们要求这个计算后的16进制表示的初始几位为:0000,那么才能算通过了验证。这种规则就需要计算机去不断的尝试,当然你可以记得其中一些,但是这个概率毕竟是很小的。正常情况下需要不断的输出计算尝试,直到出现正确的要求结果。

世界各国大多奉行“物权登记制度”。据统计世界上有70%的人对于土地拥有所有权,然而基于物权登记制度,他们当中的绝大多数拥有的十分脆弱的所有权,比如你在洪都拉斯拥有一套房屋,如果哪一天有一个独裁者上台了,只需要将政府账单上的名字改成别人,那么你将彻底失去这间房屋,这种事情在洪都拉斯时有发生。这种财产登记所带来的不安全感在很多地方都会存在,人们总是担心政局不稳或者政权交替而让自己的辛辛苦苦积累下来的财富付诸东流。

数学期望值,计算过程中会统计实际的计算次数,平均后得到的计算的次数,这个数学期望就是要求的“工作量”,当然这是一个符合数学统计学中的概率事件。

区块链技术则可以有效解除人们的顾虑,它所实现的是分布式账本,试想如果将房产登记在区块链上,这样就相当于每个公民都有一个房产登记的帐本,这样公民的财产就变得异常牢靠,传统的多数人记帐信用也就转化为多数人信用,人们再也不用担心由于政权更替而导致房屋产权的变化。事实上,不仅不动产登记可以应用到区块链中,其他任何需要登记确权的财产制度,诸如知识产权登记制度等都可以和区块链技术相接合。

比特币中的POW共识机制

区块链技术对“国际汇款”的挑战

比特币的出现让人们开始了解到POW共识机制,在比特币中,把挖矿生成一个新的区块并把交易数据写入区块看做是一道
工作量证明的数学难题,那么这道题目中有四个重点:

据统计,从发达国家到发展中国家最大的资金流动便是汇款,那些背景离乡的人们总是不忘给老家人汇款,然而人们却需要支付高达10-20%的手续费,时间一般要4-7天才能完成。这一切所彰显恰是中心记帐的不足,货币移转、结算需要耗费较长时间,管理者需要收取巨额管理费用。

1.工作量证明函数:bitcoin中使用的就是SHA256算法,这个算法是输出256位的hash函数(本文不对hash函数和SHA265函数做具体说明)。目前还未出现针对SHA256算法的有效攻击方法,当然通过算法算法漏洞攻击这里不展开讨论。

Abra是一款基于区块链的应用,如果通过它来完成国际汇款一般只需要几分钟,手续费也只有2%,它是如何完成的呢?比如,甲在A国向B国的乙汇款,甲在手机上完成汇款手续后,几分钟后在B国的乙就会通过手机查询到已收到该笔汇款。这时乙就会联系自己最近的“出纳员”,这位出纳员会将现金直接拿给乙。事实上之所以会这样快,并且手续费如此低廉,是因为整个交易是以比特币为媒介完成的,而没有通过跨国银行的转帐系统。

2.区块头:bitcoin中的一个区块由区块头和区块中包含的交易列表组成,这里简述下区块头的组成:

可以想像,像比特币为越来越多的人所接受,人们更愿意通过它来完成交易,而并非是传统的银行。以银行为核心的传统金融体系也正面临着来自区块链技术的挑战。

区块头大小为80字节。

区块链技术对知识产权资产管理的挑战

4字节的版本号。

当下的艺术创造市场还是完全掌握在一些大的平台手上,这让很多音乐人、艺术家很费解:努力创作却为他人做嫁衣,这也在一定程度上打击了源创艺术创作的积极性。然而,区块链技术却给了音乐人和艺术家自己当家作主的权利。获得格来美奖的音乐人伊莫金·希普就利用区块链技术设置了自己的应用“菌丝”,这让伊莫金·希普可以自由地管理自己的音乐,“我的地盘我作主”。根据智能合约,任何人要收听伊莫金·希普的歌曲,或者需要把它放到自己的影片中亦或是作为手机铃声,只需要支付不同的价格即可。更为重要的是,所有的交易记录以及评价记录都是绝对真实不可更改的,这也为其他人选择提供了最真实的参考。

32字节的上一个区块的散列值。

五、结语

32字节的Merkle Root
Hash,体现区块头和区块中的交易的关系,区块中包含的交易列表,通过Merkle
Tree算法生成Merkle Root Hash。

技术革新必将产生法律变革。时至今日,我们依旧在怀念互联网时代所带给全社会的制度变革,甚至看着川流不息的人群
小偷们也哭了
……无现金的生活,让他无从下手,现在几乎人人都不带现金出门,一切都靠手机小偷——一个存在了几千年的职业就这么被毁了。事实证明,最终干掉小偷的不是警察,而是互联网
……

4字节的当前的难度值。

比特币,一个不需要任何政府组织出来站台的货币,竟然成为全球通用货币,区块链技术所彰显的生命力令人吃惊!当然,区块链还仅仅是一个新生事务,它带给社会的到底是什么?这仍然是一个需要我们继续探所的话题!所有人的在激动、兴奋后还带有一丝恐惧和迷茫!一方面,区块链技术还存在诸多缺点,诸如一旦发布智能合约就难以再次修改,这也给人们的应用带来了诸多困难;另一方面,利用区块链技术发行的货币的合法性问题也是倍受争议,2017年9月4日,央行等7部委叫停了各类代币发行融资活动,当天还导致比特币、以太币的从格都大幅跳水。新生事务就是这样,它要历经质疑、论证、甚至恐惧和迷茫!

4字节的随机数。

然而,全球化格局下民主思想的源动力不可小视!这可以从近期比特币价格又大幅反弹效果再一次得到印证。大禹治水的方法再次教导我们,对于像区块链这些新兴技术,不能简单划归洪水猛兽,努力洞察、善加利用或许是更好的办法!

3.难度值:difficulty,这是一个指标,不恒定。它最为关键的作用就是决定了bitcoin网络中,矿工需要经过多少次hash运算才能获得记账权生成区块,进而获得区块奖励(12.5bitcoin)。bitcoin中区块产生的平均速率是10分钟一个,每经过2016个区块后,节点按照公式:新难度值
= 旧难度值 * ( 过去2016个区块花费时长 / 20160 分钟
)调整难度值。控制区块的平均产生时间,如果产生区块速率比10分钟快,那么增加难度值,比10分钟慢就降低难度。

作者:杨延超,中国社会科学院研究人员,HOW实验室创始人。
稿件来源:北大法律信息网 中国法学网 责任编辑:曹美璇 助理编辑:汪文珊
发表评论

4.目标值:target,目标值公式:目标值 = 最大目标值 / 难度值

最大目标值是一个恒定值:

0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF。目标值的大小和难度值是一个反比的关系。在bitcoin中矿工计算出来的区块的hash值必须小于这个目标值。换个说法方便理解:工作量证明过程中不断尝试变换nonce进行SHA256的计算,那么尝试的目的是为了找到一个指定前面有一定数量000的值,这个时候前面要求的0越多,那么表示你的难度越大。

(为什么0越多难度越大?你尝试下用不断扔一对骰子以得到小于一个特定点数的游戏。第一局,目标是12。只要你不扔出两个6,
你就会赢。然后下一局目标为11。玩家只能扔10或更小的点数才能赢,假如目标降低为了2,那就难度可想而知。)

工作量证明过程

整个工作量证明过程其实不复杂。

生成币基交易coinbase。

打包交易,组成一个交易列表。

通过Merkle Tree算法生成Merkle Root Hash。

组装区块头。

区块头作为工作量证明的输入,不断变换nonce值,通过公式:SHA256(SHA256(Block_Header))双重SHA256计算。结果不断和当前网络的目标值进行比对,一旦发现小于了目标值,那么工作量证明完成。

广播区块到网络中,网络中节点验证。

验证后等待后续区块生成确认。

POS权益证明(proof of stake)。这个解释为股权证明,2012年sunny
king首次提出了POS概念,POS不需要大量算力来维持网络安全,通过钱包相应权重来获取奖励。所谓POS股权证明,通俗解释依据你持有的数字货币的数量和持有时间,根据这个两个要素发放一个利息,这里的银行存款的概念很相似。这里需要引入一个币龄的概念,币龄根据你持有的币乘以持有时间来计算,一旦你发现了一个POS的区块,那么你的币龄就被清空。当你被清空了365币龄,你将获得0.05个币的利息,那么计算公式就是:数字货币量*持有时间/365=利息。Pos机制鼓励每个人去打开客户端钱包,根据上面对POS的解释,打开客户端钱包里才可能发现区块,那么就会获得利息,当然现在POS2.0的机制里,必须在线运行客户端钱包,才会按照你的数字货币持有量和运行客户端钱包时间分发利息,不停的有在线客户端钱包运行,这也就保障了整个系统网络的健壮和系统运行的保障了。昨天刚好有个朋友来问,在比特币系统中万一比特币挖完了,那么算力大大降低了,是不是就可能出现51%算力集中攻击。这个问题如果在POS机制中,就要求攻击者需要拥有51%的货币量,试想下,51%的货币量被控制,这个难度和这个环境的不可靠,应该也不会吸引到太多的人了。再对比下比特币,有些人认为比特币是不会膨胀的一个货币体系,因为他的数量的是确定的,但是有没有想过一个钱包丢失的问题,要深究的话,比特币是一个货币紧缩体系,总数一定,但是会有不确定丢失。POS的机制,那和比特币的POW机制相比,POS认为是一定程序上缩短了达成共识的时间,而且节省了资源,不像POW需要大量的算力。但是POS也有自己不可避免的缺点,单纯来说POW中,算力是基础,根据算力来决定你的话语权,但是控制算力目前来看,规模越大,越无法控制甚至垄断,相对来说比较公平。POS类似股票,持有货币量决定话语权,在一个公司内部,前期奋斗,后期可能作为决策者有大量的股份那就有决定权,数字货币环境不是单纯的一个公司那么简单,数字货币要求一个公正的环境,那么POS机制下,后来者明显处于了劣势,你前期持有币,那么你就可以不断的通过利息机制获得新币,这个过程对于先前就掌握了币的人不需要付出太多的成本,可以永久吃利息,那么这会造成一个买卖币的问题,掌握了一定数量币,而且一直增加,那么就没有太大的卖币的需求,而且你的话语权因为你掌握的币不会变,后来者不管如何努力,话语权还是处于劣势。技术角度来说,之前的文章中有对软分叉和硬分叉做过简单介绍,那么在POS机制中,一旦发生了硬分叉,这个问题就相当复杂了,因为持有货币的人在两条链上都有相同数量的货币,新的分叉也能获得利益,那么这个分叉就很大程序会被默许,这样的分叉一旦出现就会不断出现,整个系统就处于崩溃,缺乏约束健壮性。大多数都是采用POS+POW机制,例如点点币,黑币。POS2.0:这里再说下黑币,黑币的机制被称为POS2.0,这个概念是前5000个区块,使用纯POW机制,5001到10000使用POS和POW混合机制、10001之后采用纯POS机制。这种模式在前期完成开采和分配,然后再进入POS模式。以太坊在第四阶段会采用casper机制,
Casper是一种基于保证金的经济激励共识协议(security-deposit based economic
consensus protocol)。协议中的节点,作为“锁定保证金的验证人(bonded
validators)”,必须先缴纳保证金(这一步叫做锁定保证金,”bonding”)才可以参与出块和共识形成。Casper共识协议通过对这些保证金的直接控制来约束验证人的行为。具体来说就是,如果一个验证人作出了任何Casper认为“无效”的事情,他的保证金将被罚没,出块和参与共识的权利也会被取消。

P2P网络

P2P(peer to
peer):这个peer中文翻译就是对等、对等者、伙伴、对端的意思。所以P2P网络一般叫做对等网络,其确切定义:网络中每个参与节点共享节点所拥有的一部分计算能力、存储能力、网络连接能力,这些能力或者称为共享资源通过网络提供的服务和内容,可被对等节点直接访问,访问过程中不需要再经过中间实体,所以每个节点既是资源和服务的使用者、又是整个资源和服务的提供者。P2P网络中各个节点都是出于一个对等的地位,没有主、从的区分,联系实际环境,你目前在操作的一台电脑终端既可以作为服务器。又可以作为终端去获取对等节点的资源。整个网络中不存在中心节点,每个节点都可对任意对等节点做出响应,提供资源,包括计算资源、存储资源等。

P2P不是一个新的技术,早在2000年该模型就已出现,他于传统的客户端/服务器(Client/Server)结构(也就是WWW所采用的结构方式)的一个本质区别是,整个网络结构中不存在中心节点。这和区块链的去中心化概念完全契合。

P2P的理念,“我为人人、人人为我”让所有加入互联网的人,直接通过互联网交互,不需要一个中间商,这样沟通,共享,交互更加自由和方便,最终把互联网的权利交换给用户,而不是一些集中网络中心。

用过BT下载的同学肯定印象很深刻,种子的多少很大程度上决定了你的下载速度,P2P网络的一大特点区别于传统网络架构中,网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。P2P的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势。在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能比较容易地满足用户的需要。理论上其可扩展性几乎可以认为是无限的。例如:在传统的通过FTP的文件下载方式中,当下载用户增加之后,下载速度会变得越来越慢,然而P2P网络正好相反,加入的用户越多,P2P网络中提供的资源就越多,下载的速度反而越快。P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个节点之间进行的,部分节点或网络遭到破坏对其它部分的影响很小。P2P网络一般在部分节点失效时能够自动调整整体拓扑,保持其它节点的连通性。P2P网络通常都是以自组织的方式建立起来的,并允许节点自由地加入和离开。在P2P网络中,由于信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小。此外,目前解决Internet隐私问题主要采用中继转发的技术方法,从而将通信的参与者隐藏在众多的网络实体之中。在传统的一些匿名通信系统中,实现这一机制依赖于某些中继服务器节点。而在P2P中,所有参与者都可以提供中继转发的功能,因而大大提高了匿名通讯的灵活性和可靠性,能够为用户提供更好的隐私保护。

以上这些P2P特点阅读后发现和区块链的特点有众多相似,区块链技术在前文中就提到他是前人各种技术结合后产生的一种新的架构,很好的结合了之前那些技术的特点,实现了多种组合后公共的优良性。

在中心化拓扑中,网络主体由一个处于中心地位的索引目录服务器连接到目录服务器和各网络节点中。这种方式维护简单,资源发现率高,可实现复杂查询,但容易出现单点故障。

那么分布式P2P网络拓扑包括:全分布式非结构化拓扑(Decentralized
Unstructured Topology);全分布式结构化拓扑(Decentralized Structured
Topology,也称作DHT网络)

全分布式非结构化拓扑的P2P网络是在重叠网络(Overlay
Network)采用了随机图的组织方式,结点度数服从Power-law规律,从而能够较快发现目的结点,面对网络的动态变化体现了较好的容错能力,因此具有较好的可用性。同时可以支持复杂查询。

全分布式结构化拓扑的P2P网络主要是采用分布式散列表(Distributed Hash
Table,
简写成DHT)技术来组织网络中的结点。DHT是一个由广域范围大量结点共同维护的巨大散列表。散列表被分割成不连续的块,每个结点被分配给一个属于自己的散列块,并成为这个散列块的管理者。通过加密散列函数,一个对象的名字或关键词被映射为128位或160位的散列值。分布式散列表起源于SDDS(Scalable
Distribute Data
Structures)研究,Gribble等实现了一个高度可扩展,容错的SDDS集群。DHT类结构能够自适应结点的动态加入/退出,有着良好的可扩展性、鲁棒性、结点ID分配的均匀性和自组织能力。由于重叠网络采用了确定性拓扑结构,DHT可以提供精确的发现。只要目的结点存在于网络中DHT总能发现它,发现的准确性得到了保证。

半分布式拓扑(Partially Decentralized
Topology)吸取了中心化结构和全分布式非结构化拓扑的优点,选择性能较高(处理、存储、带宽等方面性能)的结点作为超级结点(英文表达为SuperNodes或者Hubs),在各个超级结点上存储了系统中其他部分结点的信息,发现算法仅在超级结点之间转发,超级结点再将查询请求转发给适当的叶子结点。半分布式结构也是一个层次式结构,超级结点之间构成一个高速转发层,超级结点和所负责的普通结点构成若干层次。

那区块链技术模型中,一般都认可有一个网络层,在这一层,通过P2P组网机制,数据传播和验证机制来保证,所以P2P网络是区块链的基础,也是组成区块链技术的重要一环。区块链系统建立在IP通信协议和分布式网络的基础上,不依赖传统的电路交换,而是建立与网络通信之上,完全通过互联网交易信息。网络中的节点对等,没有中心化和层级概念,每个节点都承担维护网络路由、验证数据区块的功能。

智能合约

智能合约:智能合约是一种计算机协议,在以太坊中最重要的应用就是设计和部署只能合约。智能合约最早在1995年由计算机学者尼克·萨博(nick
szabo)提出,当时他的理念是:智能合约是一套以数字形式定义的承诺,包括合约参与方在内都可以在上面执行承诺的协议。这一套理论的目标是为了能够让智能合约满足普通合约的约束条件,最小化恶意或者意外发生的可能性,同时减小对信任中介的需求,这样一来也就能降低造成合约欺诈的损失和仲裁执行的成本以及其他一系列交易成本。Nick
szabo希望借助计算机和密码学的约束,改进传统合同的制定和履行,将所有合约条款和约定执行置于计算机协议的掌控之下,但是在区块链技术未出现之前,这一套理论仅仅是理论,很少有真正在实践中尝试。

传统抵押贷款和贷款抵押智能合约(来源于2016年底发布智能合约白皮书)智能合约可以通过自动连接各方来完成抵押合同的执行,从而提供流畅且不易出错的体验。智能合约可以在贷款支付时自动处理付款并从土地记录中释放。

智能合同一直未被推广,是因为缺少一个可支持变成合约的系统,区块链的出现,因为其去中心、不可篡改、信息可追踪、信息透明等特点,使得智能合约找到了一个合适自己的平台,所以现在智能合约被认为是区块链技术中重要一块。特别是目前提出的区块链2.0技术,甚至用智能合约来作为明确的界限。

区块链技术其中一个目的是为了建立一个去信任化系统,信任在互联网中是什么概念,信任就是点对点的链接,这个链接存在于数字空间中(计算机底层不就是01010101),这个空间是分布式的,没有所谓的中心化,信任关系通过算法转变成为代码,代码转换为程序,程序驱动执行每一步。互相间的信任就是事先约定协议通过计算机和算法来实现控制。智能合约的信任在区块链环境中刚好能完美实现。

智能合约的法律意义:提到合约,不可避免的会牵扯到法律条文,智能合约使用的编程语言,不是法律条文,在区块链上智能合同可以理解:code
is
law。合约的主体是计算机网络中每一个拥有数字身份的甲方和乙方、合约的条款就是代码上规定的双方的权利和义务(代码上的规则指定可参考法律的约束性),执行条款时,合约代码判断是否符合、是否违规、是否作废,这个判决过程完全由代码来控制。所以智能合约没有法律上的明确条文约定,一些都是制定代码时的协议,故法律上的有效性这个问题还需要等待。

智能合约执行过程:

首先说下智能合同的四个核心概念:

数字身份,在区块链环境中不像现实社会每个人有身份证,每个企业有营业执照,那么区块链中的数字身份就类似你的个人信息,有个身份才能构建合约的主体。

数字资产,这个不难理解,身份对应资产,智能合约中没有现实中心化机构来验证资产,那么你有房产要做抵押贷款,就要把这个房产作为数字资产登记到你的数字身份下并锁定。

合约仲裁平台,这个就类似于现实中的仲裁机构,虽然区块链目的是一个去中心化的系统,但是在目前以太坊中的仲裁平台,个人理解为代码执行虚拟机类似以太坊中的EVM,区块链中的合约仲裁平台作用就是发现智能合同,并在参与合约双方的平台上安装这个合约,并执行这个智能合约。

数字资产托管,智能合约用于保管数字资产。

开始执行后分为以下几步:

1.各个合约参与方共同来制定一份之前协商好的智能合约。

1.1.每个参与方需要先加入区块链,生成一个数字身份,以及一对公私钥,公钥加工后成为数字身份地址,私钥就好好保存。

1.2.有数字身份后参与合约者,互相商定好协议,明确权利和义务,当然这都是通过编程语言来实现,完成后各自用私钥签名(类似于在合同上的签字),然后分发到区块链网络中。

2.双方约定合约后发布到区块链网络中,理论上每个节点都会收到,验证节点会把合约暂时保存起来,等下一个区块生成写入区块。

3.通过区块链的共识机制,在一定时间内会有一些合约被一起打包,验证节点通过对区块链上HASH值的计算打包称为一个区块,并在网络中发布,其余节点收到区块验证HASH值,验证是一个多轮的环节,最终验证节点在规定时间内对新合约集合达成一致,形成区块(区块内有合约集合,对于每条合约都需要验证,验证通过的才能到区块中,验证主要是合约参与者的私钥和账户是否匹配)。

4.智能合约自动执行

4.1.智能合约会定时检查状态,遍历合约中的事务和触发条件,将满足的事务推送到验证队列中。

4.2.待验证的事务发布上每个验证节点,首先对签名验证,保证事务的有效性,然后验证通过的进入共识集合,等到共识后,事务执行成功后通知用户。

发表评论

电子邮件地址不会被公开。 必填项已用*标注