以太坊——POC3

PPT链接地址

http://upyun-assets.ethfans.org/uploads/doc/file/4dee1d6490454cfb81cc860c73e0017f.pdf?_upd=The_Mauve_Paper_Roadmap.pdf

对PPT内容理解的马马虎虎……,PCC3以及后面的POC4是纯粹的POS共识,是过渡版本,后面发展起来的叫做Casper的是Hybird Consensus(混合共识)

Ethereum的问题

1.隐私性低

2.扩展性-15tx/sec

3.成本-PoW挖矿每天会消耗$360k的电力和硬件成本

4.潜在问题-14s出块,实际上要3min确认,不是“真的”确认

其他问题:

挖矿中心化,并不是最优化的轻客户端的支持,自私挖矿的缺陷,状态转换界面不整洁(比如要求保存前256个区块的根hash)

下面解决上述问题

第一步:PoS

PoS源与2011年的Peercoin,解决了浪费电力的问题,缓和了中心化风险。

Virtual mining给人直觉上的印象

PoW:$1000->旷工->产生区块

PoS:$1000->83ETH->虚拟旷工(转化成协议) ->协议让你随机的产生区块

Casper PoC3方法

在世界状态中有一群担保的验证者,任何人可以加入验证者池通过向Casper合约发起转账Ether的交易(地址0x000...00ff),触发函数:

function deposit(bytes validation_code, bytes32 randao, address withdrawal_addr){}

如果这个函数在“epoch n”(1 epoch = 12hours)被调用,那么验证者将会在“epoch n+2”开始工作.

验证者一旦开始工作,他们将会被分配随机打包区块的权利,权利的大小依赖于他们在Casper合约存储的ether。

一个区块需要包含它的外部数据的签名。CALL_BLACKBOX(validation_code, signature)的调用结果必须是成功且非空的。Lmaport是一中生成签名的算法。

一个验证者可以调用startWithdrawal 取回存储的ether,这会在2 epochs后生效。

选择验证者

如何选择验证者?

“利益激励”:给验证者奖励金来鼓励他们完成验证者选择的计算

“旧的NXT算法”:验证者基于当前区块的签名伪随机采样,创造奖励来生成想要的签名

“旧的PoS算法”:用奖励金来鼓励发现转移一个人的coin的目标地址

“边缘成本=>边缘收益”:一些人作为打击性的论据来论证所有的共识算法都是浪费的

CAVEAT1:要求一种看似可行的机制:提高一些成本来获取差异化收益的优势

CAVEAT2:边缘成本->边缘收益并不意味着总成本=>总收益

CAVEAT3;PoS要求更低的区块奖励

解决方法:

当存储ether时,验证者需要为某个密码助记词提交sha3^1000000(x)

当创建一个区块,验证需要揭示他们hash链上的前一个的链接

Casper合约维护一个参数globalRandaom,初始化为零,并且在每个区块中显示它的异或值,这是随机验证者的随机性的来源

只有下一个区块的验证者是可知的

当被选中的验证者不在线时怎么办?不是选择一个验证者,我们选择一个序列的验证者,验证者k可以在4 + 8k秒后生成一个区块

PoW,原生PoS,Casper 共识算法的权益

PoW economics (normal case); Naive PoS economics  ;Capser economics with Duncles 不理解这三页PPT的内容

Duncles = “Dark uncle” -like an uncle but it hurts you ,直译过来是像一个叔叔但是却伤害你;意思是说旷工打包了区块但是并没有成为主链的一个区块,没有得到原本打包区块可以得到的奖励。Duncles应该是叔区块的来源。

Finality终局

分叉选择,PoW选择最长链胜出,Casper 选择value-at-loss最大的区块链。

value-at-loss = 验证着在这个链上投注了多少ether = 验证者同意在除了所有除了这条链的其他链上失去多少ether

区块不仅指向前面的区块,而且对历史区块做出一定的赌注。

在低概率时开始,意味着担忧短期风险

信心和概率会随着时间增加,特别当验证者看到其他的验证者提高他们的概率

Vet-at-Loss 指数型增长,最终会毁掉“finality”终局(投注与“终局”不一致的验证者会失去他们所有的存款)

当一个区块的“finality”终局确定后,“finality cycle”(终局循环)会在新的区块重新开始。

存在快速巨额投注的限制(否则“whales”(巨大算力或巨大验证者)可以轻易的执行短期的51%攻击)

分片(sharding)

分片想要达到的目的

在链上实现每秒数以万计的交易;通过完全去中心化的点对点网络,如果有必要,什么都不执行但是会消耗便携笔记本电脑(什么意思?);因为网路中的每个节点仅仅会保存一小部分的交易/状态但是在有需要的情况下可以通过默克尔树来验证所有的交易;

分片形式

存在多重的分片,每一个都像是一个独立的区块连,但是有以下功能:共享安全(PoS);有一个共同的市场(可以转移ether和链间交叉通信);规则统一(每一个分片相同的EVM,相同的规则);即便如此,shard 0 的gas price 比 shard 57的gas price 价格更高。

采样

每一个epoch,伪随机的选择100个验证者来验证每一个分片;所有的验证者会投注所有分片的终局状态;信息源是分片验证者产生的区块头,同时也包含欺骗性的证据和捕获受到51%攻击的分片的机制

分片之间通信

状态转移函数

stf(state_{k},block,receipts_{0..n-1})=>state_{k}^'

猜你喜欢

转载自blog.csdn.net/liudaoqiang_tj/article/details/81583357
今日推荐