最新区块链项目

普通人如何参与区块链----从数字货币到信用社会之四

2018-09-08 11:09:11 adminqin

区块链工作量证明机制看似很神秘, 其实在社会中的应用非常广泛。例如, 毕业证、 学位证、 律师证等证书就是工作证明, 拥有证书即表明在过去付出了努力。 挖矿为整个系统的运转提供原动力, 挖矿有三个重要功能:一是发行新的货币;二是维系系统的支付功能; 三是通过算力保障系统安全。

1535447009229176.jpg

扫二维码免费注册Vpay数字钱包,注册后加微信2245532288领取红包

普通人如何参与区块链赚钱?注册Vpay钱包年收益数十倍! Vpay是一个35个国家和地区都在积极参与打造的跨境支付平台!跨国转账费用几乎为0!Vpay钱包打造国际版余额宝,每天利息1%,举例:存1000元,每天收益10元,可领取5000收益。



PoW机制存在两方面明显的缺陷。 一是算力的消耗与浪费。在PoW中, 尽管区块链节点是用来帮区块链进行分布式数据记录的, 但是它们实际所做的大部分工作是寻找正确的随机数而与数据记录无关。用来寻找随机数的能量和资源将永远地消失, 这显然是一种浪费。


二是算力集中化凸显。 PoW机制自然地导致了算力集中问题。 由于作为一个普通的个体或者几十、 几百台规模的矿机目前都很难挖到区块了, 因此大家必须联合起来挖矿, 就诞生了算力集中的地方——矿池。其中最著名的是比特币Ghash矿池, 它因为数次接近甚至达到了50%比特币的算力,从而引起了比特币社区的广泛担忧。




在PoW+POS机制下, 只要持有币的人, 不论持有的数量多少, 都可以挖到数据块,而不用采用任何的矿池导致算力集中。 同时, 由于多采用币天生成区块, 而不是算力, 降低了资源消耗, 解决了单纯PoW机制在维护网络安全方面先天不足的问题。


 


PoS就是一个根据持有货币的量和时间, 进行利息发放和区块产生的机制。 在权益证明PoS模式下, 有一个名词叫币天。 例如, 每个币每天产生1币天, 比如持有100个币, 总共持有了30天, 那么此时币天就为3000。 这个时候, 如果发现了一个新PoS区块, 币天就会被清空为0。 每被清空365币天, 将会从区块中获得0.05个币的利息(可理解为年利率5%) 。PoS的典型应用就是未来币。PoS机制使用一个确定性算法以随机选择一个股东来产生下一个区块,该算法中, 账户余额决定了节点被选中的可能性。 然而, 该系统并未使区块链变得越来越安全而不可逆, 因为最终区块链的区块产生权掌握在账户余额最多的少数节点手中。 同时, PoS面临的挑战是如何通过及时而高效的方法达成共识。为达到这个目标, 每个持币节点可以将其投票权授予一名代表。 获票数最多的前100位代表按既定时间表轮流产生区块。每名代表被分配到一个时间段生产区块。 所有的代表将收到等同于一个平均水平的区块所含交易费的1%作为报酬。 如果一个平均水平的区块含有100股作为交易费, 一名代表将获得1股作为报酬, 即可大大提高共识效率。这就是DPoS的核心思想。




瑞波共识协议(Ripple Consensus Protocol, RCP) , 使一组节点能够基于特殊节点列表达成共识。 初始特殊节点列表就像一个俱乐部, 要接纳一个新成员, 必须由一定比例的该俱乐部会员投票通过。




区块链系统面临交易频率过低的问题。还是以比特币区块链为例, 每条交易的平均大小约为250个字节(Byte) , 如果区块大小限制在1MB(兆) , 那么可以容纳的交易数量为4000条。 按照每10分钟产生一个区块的速度计算, 每天可以产生144个区块, 也就是能容纳576000条交易, 再除以每天的秒数86400, 比特币区块链最高每秒处理6.67笔交易。


目前, 比特币区块链上每天的实际交易量已经接近系统“瓶颈”(图2-9) , 如果扩容问题得不到解决, 可能造成大量交易的堵塞延迟。简单支付验证(Simplified Payment Verification, 简称SPV)是一种无须维护完整的区块链信息, 只需要保存所有的区块头部信息即可进行支付验证的技术。 该技术可以大大节省区块链支付验证用户的存储空间, 减轻用户存储负担, 降低区块链未来交易量剧增而给用户带来的压力。以比特币系统为例, 节点只需保存所有区块头信息, 即可进行交易支付验证。 节点虽然不能独立验证交易, 但能够从区块链其他节点获取交易验证的必要信息,从而完成交易支付验证,同时还可以得到整个区块链网络对交易的确认数。


轻钱包与SPV的最大区别是, 轻钱包节点仍需下载每个新区块的全部数据并进行解析, 获取并本地存储与自身相关的交易数据, 只是无须在本地保存全部数据而已。而SPV节点不需要下载新区块的全部数据, 只需要保存区块头部信息即可。 虽然轻钱包或瘦客户端中部分借鉴了SPV的理念, 但和SPV是完全不同的SPV指的是区块链支付验证, 而不是区块链交易验证。这两种验证方式存在很大的区别。 区块链交易验证的过程比较复杂, 包括账户余额验证、 双重支付判断等, 通常由保存区块链完整信息的区块链验证节点来完成。 而支付验证的过程比较简单,只是判断该笔支付交易是否已经得到了区块链节点共识验证, 并得到了多少的确认数即可。


在区块链中, 区块信息主要包括区块大小、区块头、 交易数量和交易信息四部分内容。 其中, 区块头大小为固定字节, 比如比特币中区块头的大小始终为80字节。 区块头中一般包括如下信息:前一区块(也称父区块) 的哈希值、 区块中交易默克尔树的根哈希值、 时间戳等。


通过区块的哈希值, 可以识别出区块链中的对应区块。区块前后有序链接, 每一个区块都可以通过其区块头的“前一区块的哈希值”字段引用前一区块。这样把每个区块均链接到各自前一区块的哈希值序列就创建了一条一直可以追溯到第一个区块(创世区块) 的链条。 前一区块的哈希值, 可以确保区块链所记录的交易次序。默克尔树的根哈希值则可以确保收录到区块中的所有交易的真实性。




以太坊对SPV的功能进行了扩展: 每一个区块头, 并非只包含一棵默克尔树, 而是包含了三棵默克尔树, 分别对应了三种对象——默克尔交易树、 默克尔收据树和默克尔状态树。 其中默克尔收据树和默克尔状态树是比特币等现有区块链系统没有的。 默克尔收据树是由展示每一笔交易影响的数据条构成的默克尔树。而在默克尔状态树中, 则保存账户信息、 账户余额等信息。 三棵默克尔树的功能分工如下。

①默克尔交易树: 保存交易信息, 用于验证交易是否真实包含于区块链中。

②默克尔收据树: 保存某个地址的历史事件实例, 比如一个交易是否成功执行、 一个众筹合约是否完成了目标等。

③默克尔状态树: 保存了账户名称、 账户余额等信息。

基于上述三棵树, 以太坊不仅可以实现SPV的支付验证, 而且可以快速验证账户是否存在、 了解账户余额甚至快速判断交易是否执行成功等信息, 实现了良好的SPV扩展。


侧链(sidechains) 实质上不是特指某个区块链, 而是指遵守侧链协议的所有区块链, 该词是相对于比特币主链来说的。 侧链协议是指可以让比特币安全地从比特币主链转移到其他区块链, 又可以从其他区块链安全地返回比特币主链的一种协议。显然, 只需符合侧链协议, 所有现存的区块链, 如以太坊、 莱特币、 暗网币等竞争区块链都可以成为侧链。 元素链(Elements) 就是这样一种侧链。 所不同的是, 它是由BlockStream公司, 即提出侧链协议的公司开发的一个侧链的参考实现提出侧链协议、 把比特币转出比特币区块链、 另行开发二代区块链, 这样的选择既能保证比特币区块链的安全,又能应对二代币的冲击, 还能针对不同应用场景实现商业化, 因而成了BlockStream的必然选择。




闪电网络(The Lightning Network) 是一个去中心化的系统。 闪电网络的卓越之处在于, 无须信任对方以及第三方即可实现实时的、 海量的交易。

自2015年6月至今, 经过了大半年来大范围的反复讨论, 目前长期规则派基本完败。

2015年12月比特币香港扩容会议由Pieter Wuille提出了隔离见证(Segregated Witness) 之后, 扩容问题甚至已经简化为仅升级至2MB,但陷入了关于实施时间点的争论之中。一个看似简单的扩容技术问题, 却引发比特币社区花了大半年时间, 开了数次全球技术会议、 私下打了无数回口水仗, 却依然未有明确定论。 其背后深刻的原因是, 区块限制值上调是无法真正解决比特币扩容问题的。


随着比特币的繁荣, 交易数量会越来越大,有限的块容量会使低价值的交易(例如发送1分钱) 永远无法进块, 因为低价值的交易不可能支付高网络手续费。 进而, 网络退化为清算系统,低价值含量交易被赶出, 这些交易由第三方记账系统进行代替完成。


在闪电网络出现之前, 第三方记账系统主要是链外钱包提供商。 用户信任某第三方钱包平台, 把比特币存入其中, 同一平台用户之间转账仅带来账户余额变更, 并不会产生比特币交易。


现金系统意味着所有交易均应该进入区块,那么当块容量不够用时, 则应该及时调整块体积限制, 对系统进行扩容。 短时间可能发生交易入块堵塞, 但长期来看所有交易应该均可以入块, 人人都享有比特币系统带来的巨大便利和优势。


可以创造出无数笔交易。 不仅信道内的更新次数不受限制,频率也可以达到非常高,只要系统允许, 目前硬件条件可以轻松达到每秒数千笔。在特定场景下, 微支付信道拥有着巨大优势, 让小额高频支付成为可能。 但它存在一个巨大制约: 币在信道中的流向是单向的。

闪电网络是基于微支付信道演进而来,创造性地设计出了两种类型的交易合约: 序列到期可撤销合约RSMC(Revocable SequenceMaturity Contract) , 哈希时间锁定合约HTLC(Hashed Timelock Contract) 。RSMC解决了信道中币单向流动问题, HTLC解决了币跨节点传递的问题。 这两个类型的交易组合构成了闪电网络。


“智能合约”概念由计算机科学家、 加密大师尼克·萨博(Nick Szabo) 于1993年左右提出来。 1994年他写成了《智能合约》 (Smartcontracts) 论文, 是智能合约的开山之作[22]。尼克·萨博对智能合约的阐述以一个自动售货机的例子开始。我们可以认为智能合约的原始祖先, 是不起眼的自动售货机。 在经过潜在的、 损失有限的评估后, 自动售货机使钱箱里的钱远远少于破坏者付出的代价。 售货机根据显示的商品价格收取投币,通过一个简单的机制形成了最初的计算机设计科学, 并且有限自动、 根据投币金额传递变化和产品。 自动售货机是一种搬运合约: 任何持有硬币的人都可以与供应商交易。锁定钱箱和其他安全机制保护售货机储藏的硬币和货物不被破坏, 从而支撑在各种各样的区域部署自动售货机, 并且产生盈利。




尼克·萨博提出了智能合约的三要素:

①一把可以允许业主同时排除非法第三方的锁;

②一个允许债权人秘密接入的后门;

③后门只在违约且没有付款的一段时间被打开; 最后的电子支付完成后将永久地关闭后门。


从本质上讲, 这些智能合约的工作原理类似于计算机程序的if-then语句。 智能合约以这种方式与真实世界的财产进行交互。 当一个预先定义的条件被触发时, 智能合约就执行相应的合同条款。

智能合约与传统合约的区别

①自动化维度。 智能合约可以自动判断触发条件,从而选择相应的下一步事务; 而传统合约需要人工判断触发条件, 在条件判断准确性、 及时性等方面均不如智能合约。

②主客观维度。 智能合约适合客观性请求的场景, 传统合约适合主观性请求的场景。智能合约中的约定、 抵押及惩罚需提前明确; 而主观性判断指标很难纳入合约自动机中进行判断, 也就很难指导合约事务的执行。

③成本维度。 智能合约的执行成本低于传统合约, 合约执行权利、 义务条件被写入计算机程序中自动执行, 在状态判断、 奖惩执行、 资产处置等方面均具有低成本优势。


④执行时间维度。 智能合约属于事前预定、 预防执行模式; 而传统合约采用的是事后执行, 根据状态决定奖惩的模式。


⑤违约惩罚维度。 智能合约依赖于抵押品、 保证金、 数字财产等具有数字化属性的抵押资产, 一旦违约, 参与者的资产将遭受损失; 而传统合约的违约惩罚主要依赖于刑罚,一旦违约, 可以采用法律手段维权。


⑥适用范围维度。 智能合约技术可全球采用, 适用于全球范围; 而传统合约受限于具体辖区, 不同国际地区的法律、 人文等因素均影响着传统合约的执行过程。


尼克·萨博关于智能合约的工作理论迟迟没有实现, 一个重要原因是因为缺乏能够支持可编程合约的数字系统和技术。 区块链技术的出现解决了该问题, 不仅可以支持可编程合约, 而且具有去中心化、 不可篡改、 过程透明可追踪等优点, 天然适合于智能合约。 因此, 也可以说, 智能合约是区块链技术的特性之一。基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。 将智能合约以数字化的形式写入区块链中, 由区块链技术的特性保障存储、 读取、 执行整个过程透明可跟踪、 不可篡改。同时, 由区块链自带的共识算法构建出一套状态机系统, 使智能合约能够高效地运行。


从发行需要成本, 发行依照收敛性曲线这些特性来看,比特币仿真的恰好是黄金这种贵金属。 和比特币类似, 黄金的总量有限, 开采需要一定成本。 然后, 比特币可以跨地域转移、 几乎可无限分割、 可编程、 易保管等特性确实可以完胜黄金这种几千年来人类世界共通的价值存储手段。