DAOONE

DAOONE原创——DAO.ONE社群有爱小伙伴的日常总结之一

2018-03-12  本文已影响9人  wingyang
The first DAO in China

作者:擒龙 核心知识点:

1、交易方程

(1)概念:用来理解支撑某种经济体所需的资金流,因此它成为了加密资产估值的基石。

(2)定义:MV = PQ,当应用到加密资产时,作者的解释是:

M =资产基数的大小

V =资产的流通速度

(p)=所供应的(虚拟)数字资源的价格

Q =所供应的(虚拟)数字资源的数量

(3)举例:

1)P指每 GB (GB)的存储空间所需的价格,表示为$/GB

2)Q表示所供应的资源的数量,表示为GB  总资产=PQ(单位$)

2016年的比特币举例,这一年市场平均每天处理1.6亿美元的交易,一年总计580亿美元(PQ)。到2016年,比特币资产的平均规模为89亿美元(即M),因此,V=58B/$8.9B,或 6.5。(只有少量币流通,大量币锁定在持有者手里)

2、加密模型(作者构建的思路)

A 部分计算在流动市场的货币数量; 

B 部分是用交换方程(上述的方程式)来量化的经济协议;

C 部分表示了加密资产在其目标市场所占的比例 (这和 B 部分相对应);

D 部分就是将未来的效用折现到当下。

结构: 输入——>模拟环境——>输出

输入(左侧):包括INET 供应计划输入、INET 经济输入和采纳曲线输入等。

补充:采纳曲线是用以描绘选用新产品的总人数与其产品开发后总时间的对比。

通过权益证明和其他共识算法实验,Bonders&Hodlers锁定的代币百分比和基金会的生命线是作者觉得最重要的输入参数以及作者想象中的输入参数。

模拟环境:在当中修改输入的参数值(即每个人假设参数),然后进行模拟市场运行。

输出(右侧):基于我的输入显示的计算结果。确定流动市场当中有多少代币和之后流动市场当中的代币数量。

3、链上的流动量会因为一些因素而影响

次要层中使用的资产是否具有速度取决于它们在主链上的使用频率。eg:闪电网络和雷电网络利用第二层扩展解决方案。

期望代币的购买力上涨的人所占的百分比,从而将其用作在未来兑现的价值储备。

4、币状态的趋势

随着该市场趋于均衡,将会出现越来越少的持有者,因为价值增值的潜力很小。因此,流动市场中的代币数量将会增加。

资料二:区块链性能提升:链上设计之道

分享者:@李东方 

核心知识点:

1、区块链扩展问题解决方案:(本文专注于研究链上)

链上:直接修改区块链设计以支持高性能。

链下:允许小型和频繁的交易发生在与主链并行并由主链背书的侧链实例上。

2、交易验证(网络中的节点)

他们必须检查交易是否完整。

他们必须验证付款人是否有权来进行交易(通过检查其数字签名是否与付款人的公钥对应)。

节点必须验证交易输出的总和低于输入的总和——付款人不能支付超过他们自己拥有的价值,但交易费可以包含在支付中。

节点必须确保没有任何输入被双重支出。这可以通过下面的方法进行验证:在区块链中回溯到输入值创建时,然后再向前遍历到当前交易,确保这笔输入之前没有支出过。

3、扩展性的指标

交易吞吐量(区块链可以处理交易的最大速率)

延迟(确认交易已包含在区块链中的时间)

4、国内外研究

(1)多区块单一领导(Multiple Blocks per Leader)(Bitcoin-NG)

Bitcoin-NG是一种可以自由扩展的方案,采用了“微区块(micro blocks)”和“核心区块(key blocks)”的方式,能够在比特币目前的点对点通信网络中解决吞吐量和延迟的问题。每一个区块都有一个数据头,该数据头包含上一个区块的唯一引用,也就是上一个数据头的密码学哈希值。该协议的安全性来自激励参与者遵守规则的激励兼容性。

除了通过使用大规模比特币网络模拟环境来测试该方案的性能之外,作者还提出了一些全新的指标,如共识延迟和挖矿利用率量化来监测区块链协议的安全和效率。

① 关键区块用于选择首领。跟比特币区块一样,关键区块包含了上一个区块的引用、目前的GTM时间、支付奖励的交易数据库、目标值以及一个任意位的随机字段。为了使关键区块有效,它的数据头的密码学哈希必须要小于目标值。与比特币不同,关键区块包含了一个在随后的微区块中要用到的公钥。而在比特币中,矿工为了生成区块,就必须要循环访问随机值,直到满足密码学难题的条件。因此,连续的关键区块之间的间隔是以指数形式分布的。为了达到固定的平均速率,就需要基于关键区块头部数据中的GTM时间来改变目标值从而调整难度。

Bitcoin-NG链的结构。微区块(圆圈)是用私钥来签名的,该私钥与最后关键区块(正方形)的公钥相匹配。40%的交易费分发给首领,60%分发给下一个区块。

图2:当微区块很频繁时,几乎在每一个首领更换时都会出现短暂的分叉。

当有分叉时,在所有关键区块中,由最多算力生成的那条区块链才是主链,这样就打破了僵局。

② 微区块:一旦一个节点生成了一个关键区块,它将变为首领。作为首领,该节点被允许以小于预先确定的最大值的固定速率来生成微区块。最大速率是确定的,而且它可以比关键区块之间的平均间隔大很多。微区块的大小是有预先确定的最大值的。特别是,如果一个微区块的时间戳是在未来,或者如果它与之前区块的时间差小于最小值,那么该微区块是无效的。该限制可以阻止首领(恶意地、贪婪地或破坏性地)使用微区块覆没系统。

一个微区块包含账本记录和数据头。数据头包含上一个区块的引用、目前的GTM时间、账本记录的密码学哈希以及数据头的密码学签名。签名使用的私钥与区块链中的最新关键区块的公钥相匹配。为了使微区块有效,所有的记录都必须有效符合状态机器的规范,而且签名也要有效。图1举例说明了数据结构。

注意,微区块不影响区块链的重量,因为它们不包含工作量证明。这对维持激励均衡是至关重要的。

用rleader表示首领从交易中获得的收益,(1 − rleader)表示留给下一个矿工的收益。在Bitcoin-NG中,rleader=40%。rleader的值是这样的,矿工私自挖矿的平均收益要小于它应该将交易放置在公共微区块中的收益:

rleader > 1 - (1- α)/(1+α+α2)

假设攻击者的最大算力小于全网算力的1/4,我们就能得到rleader > 37%,因此rleader = 40%在该范围内。

长链延伸 为了增加从交易中获得的收益,矿工需要避免交易的微区块,并挖上一个区块。然后他将交易放在自己的微区块中,并尝试挖矿下一个关键区块。在这种情况下,他的收益一定是小于上述的挖矿交易的微区块的。

因此,rleader<(1-α)/(2-α)。假设攻击者的算力小于全网算力的1/4,我们就能得到rleader<43%,因此rleader = 40%在该范围内。理想网络假设有一个0延迟的网络,且攻击者无法迅速处理信息 — 接收一条信息,并在原始信息之前将其发送给其它节点。在这样的假设下,认为比特币可以抵御高达将近全网算力1/3的自私挖矿攻击。然而,对于Bitcoin-NG,根据上述的假设条件,我们可以得到rleader > 45% 和rleader < 40%,并没有交集。因此,在这样的理想网络假设下,比特币的区块链要比Bitcoin-NG的更有抵抗性。

参考文献:I. Eyal, A. E. Gencer, E. G. Sirer, and R. Van Renesse,“Bitcoin-NG: A Scalable Blockchain Protocol,” in Proceedings ofthe 13th USENIX Conference on Networked Systems Design and Implementation (NSDI ’16), pp. 45–59: http://www.usenix.org/system/files/conference/nsdi16/nsdi16-paper-eyal.pdf.

(2)集体领导(Collective Leaders)

客户提交的交易将被添加到区块链中,区块链仍然是无分叉的,因为所有领导者都立即就区块有效性达成一致。 ByzCoin修改了Bitcoin-NG的密钥区块生成机制:一组领导者,而不是单个领导者,产生一个密钥区块,然后是微区块。领导者小组由近期时间窗口的矿工动态组成。每个矿工的投票能力与其在当前时间窗口的挖矿区块数量成正比,这是其哈希能力。当一位新矿工解决难题之后,它将成为现任领导小组的一员,更进一步,替换出最老的矿工。 ByzCoin使用与比特币相同的激励模式,但报酬由领导者小组成员按其比例分摊。

领导者小组被组织成一个消息通信树,其中最新的矿工(领导者)在树的根部。领导者运行一个具有线性消息传递复杂度的实用拜占庭容错(PBFT)协议的修改版本,以生成一个集体签名,证明至少三分之二的共识小组成员见证并验证了该微区块。

优点:解决了Bitcoin-NG的限制——恶意领导者节点可以创建微区块分叉:在ByzCoin中,这要求领导者小组成员的三分之二多数为恶意节点。此外,Bitcoin-NG遭受竞争条件困扰:一位尚未收到新领导者的老领导者节点可能会继续错误地在较早的微区块上进行挖矿。在ByzCoin中,领导者小组成员确保新领导者建立在最新的微区块之上。

参考文献: E. K. Kogias, P. Jovanovic, N. Gailly, I. Khoffi, L. Gasser, and B. Ford, “Enhancing Bitcoin Security and Performance with Strong Consistency via Collective Signing,” in Proceedings of the 25th USENIX Security Symposium (USENIX Security ’16),pp. 279–296: http://bit.ly/2wziEbl.

(3)并行区块链增长(Parallel Blockchain Extension)

由Boyen,Carr和Haines [文献2]提出的框架通过放弃“区块”和“链”的概念来并行化这个过程(支持交易的图式交叉验证,而不是线性,可以理解为“区块图”)。每笔交易确认两笔交易(其双亲)并包含一些有效负荷(例如,加密货币)和工作量证明。

交易可以由多个子节点进行潜在的验证。此外,每次交易还会包含一笔报酬,这笔报酬由验证该交易的交易收取。随着更多的节点直接或间接地验证它,报酬值会降低,因此新节点有更多的动机来验证最新的交易。该系统已被证明是收敛的,这意味着在某一时刻有一个交易连接到(并且因此隐式地验证)之前的所有交易。作为这种图结构的结果,矿工可以并行地增长交易图的不同分支。系统中的正常(非矿工)节点在收到交易时验证它们。除了对交易及其双方的工作量证明正确性和结构有效性进行标准检查之外,节点还验证该交易不是双重支出(通过接受附加有最大工作量的良好格式的交易验证)。

参考文献:X. Boyen, C. Carr, and T. Haines, “Blockchain-Free Cryptocurrencies:A Rational Framework for Truly Decentralised Fast Transactions,” Cryptology ePrint Archive, Report 2016/871,2016: https://eprint.iacr.org/2016/871

(4)分片交易(Sharding Transactions)


Elastico将节点分成称为“委员会”的组,每个委员会管理交易的一个子集(分片)。在上图中,上部分片处理前10个交易,而下部分片处理后续10个交易。在委员会内,节点运行拜占庭一致性协议(例如,PBFT)以协定交易区块。如果该区块已被足够的节点签名,委员会将其发送给最终委员会。最终委员会将从委员会收到的一系列交易整理到一个最终区块中,然后在其成员之间运行拜占庭一致协议以增长区块链,并将附加区块广播给其他委员会。系统按epoch运行:分配给委员会的节点仅在epoch期间内有效。在这个epoch结束时,这些节点解决当前最终委员会产生的随机字符串难题,并将求解答案发送给下一个最终委员会。因此,在每个epoch,一个节点与委员会中的不同节点搭档,管理一组不同的交易。委员会数量与系统中可用算力成线性比例关系,但一个委员会内的节点数量是固定的。因此,随着更多节点加入网络,交易吞吐量增加而延迟不会增加,因为这里有一个解耦:一致性协议所需的消息与添加到区块链的最终区块的计算和广播之间的解耦。

参考文献:L. Luu, V. Narayanan, C. Zheng, K. Baweja, S. Gilbert, and P.Saxena, “A Secure Sharding Protocol for Open Blockchains,” in Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (CCS ’16), pp. 17–30: https://www.comp.nus.edu.sg/~loiluu/papers/elastico.pdf.

总结:

集体领导是通过在多个领导者之间分散责任和利益来强化诚实行为(并避免分叉)的有用原语。 

分片(Sharding)通过将共识委托给(部分地)可以有效运行经典BFT协议的节点小组,并且成立负责增长区块链的领导者节点小组(领导者之间运行可能还仍然是BFT共识协议)来加速交易吞吐量。

用集体领导机制取代领导者节点之间的共识机制也许是可行的,因为集体领导机制的信息传递复杂度低于原来的PBFT协议,并具有更高的信任度。

并行区块链扩展的想法可以与分片相结合,使得区块链在独立的分片上以部分连接的树存在。不同树中的区块,仅在发生交易且交易消耗不同分片管理的区块时,才会发生连接。

如有任何问题,请与我们(DAO.ONE)联系!

上一篇 下一篇

猜你喜欢

热点阅读