6月3日,在由CSDN和Link Time联合主办的2018以太坊应用大会上,以太坊创始人Vitalik Buterin以《Casper与分片技术最新进展》为题做主旨演讲。
Vitalik Buterin介绍了作为验证者参与Casper Pos/分片技术的全过程,并解释了为什么验证者可以让别人代替参与共识、用热钱包签名,但依旧拥有更高的安全性。节点奖罚机制,使得攻击者的成本大大提高,而验证节点的责任又使得拥有越多以太币的人需要越多的算力,在一定程度上保证了公平。Vitalik Buterin同时给出4点重要提示,如果没有做好相应配置,可能会因为被连累而遭到巨额罚款。
当然,对于这样一个新技术,大家都想要知道它何时能够真正的应用和推广?针对这一提问,Vitalik Buterin回应称:“我们希望在1、2个月之后完成这个工作。现在团队已经开始对它进行落地使用,但可能花上一年时间才进行推广,现在来说还为时过早。”
以下为Vitalik Buterin演讲内容精编,由整理。
今天我和大家分享Casper Pos/分片技术,Casper有一个全新的算法,算法的分片是解决方案,我具体阐述一下大家参与到Casper和分片的流程。
如果你想变成Casper Pos/分片的验证者……
第一步:存款
包括:32个以太币、公钥、取款地址
Casper是个验证系统,为了加入,需要在权益当中有存款用以发送。在以太坊上的交易。包括一个公钥,有32个以太币验证,用公钥做信息的签名,还要有一个取款地址,在验证的时候有相应的奖励措施。
签名的公钥和取款地址未必一样
可以让别人为你参加共识
能用热钱包签名,取款到冷钱包
大家要注意,签名公钥和取款地址并不意味着完全一致,这是两件事情。你可以把签名的权利分配给其他人,比如你在全世界旅行,不可能一直带着电脑,就可以把这个key给朋友,让朋友为你签名验证,参与到算法。
但你不会把所有资金托付给一个朋友,即便你的朋友能代替你签名,但他也不能把你的钱取出来,你的钱唯一可以进入的是之前提供的取款地址,这意味着你可以使用热钱包来签名 。
公钥在一个在线的电脑上,但资金永远会留在冷钱包里,公钥激活这部分资金,防止发给其他人,让你的资金留在自己的电脑上。这种情况下,作为验证者,就更加安全、有保障。
第二步:等你加入
一旦你完成了取款交易之后,就进入了第二步:等待加入。这个可能需要一天的时间,这部分协议还没有完全被确定,但要等待这个协议把你加入了验证者的池。
第三步:参加验证机制
第三步是参加验证机制,有了存款,等待了一天时间,加入这个机制。你现在已经进入了活跃验证者的池,你就是个验证者了,这是个好消息。
验证节点有2个作用
作为验证者,在网络当中有两个关键功能:
第一是敲定主链的区块。Casper参与并敲定主链,它可以确保主链上的区块,超过一定点之后不可逆转。一旦完成之后,主链就被敲定了,你也就完成了工作。
第二是验证分片上的区块。我们不会让系统中的所有人都来做区块的验证,这些区块被可能分配到100甚至更多的分片中,交易也是分开的,不同的验证者来验证不同的区块和交易。
Casper的敲定工具是共识机制的一部分,用于敲定区块,给区块更多的安全性。
以太坊的分片提案包含~100个子链,每个子链是跟主链连接的。账户和交易信息都储存在子链上。
主链-子链的责任分配
主链负责生成随机数,随机选择哪个验证者进入哪个分片、可以创立一个分区,保持验证节点的追踪。如果你是一个验证者的话,它会一直追踪你验证节点的相关信息,比如你分配到什么分片、你现在的奖励和惩罚是什么,所有这些信息都是由主链完成的,除此之外,它可以追踪子链上的区块。
子链的责任比较简单,主要是处理交易,它可以存储绝大多数用户比较关注的信息。
验证节点分配
每个阶段(1小时左右),系统随机给各个验证节点分配一个分片。在此期间,该节点验证并帮助确认该分片上的区块。
二次性分片
假设一个节点能处理N个交易,那么主链能追踪N个分片,每个分片都能处理N个交易,所以系统一共能处理N^2个交易。因此这个提案叫做二次性分片。
如果你电脑的计算能力翻一番,这时主链可以来追踪2倍的分片,系统能处理的交易是之前的4倍。
交叉链接
一个交叉链接包含约100个为某一个分片分配的验证节点的签名,并在主链上确认该分片上的区块。交叉链接是跨分片间互操作性的主要方式。
生成区块的机制
系统也给验证节点分配责任。即在某个分片上生成区块。这个时间更长。比如,一个节点可能用4个月在一个分片上生成区块。
验证节点的责任
如图所示,验证主链、验证分片、生成分片区块、生成主链区块、确认分片区块进行交叉链接,这些都是作为验证节点的主要责任,也是一个分片系统当中主要的工作。
这里请注意:你拥有的以太币越多,你的验证节点位置就越多,那么需要的算力也就越多。这个机制支持协议的去中心化,对拥有较少以太币的人会更公平一些。
这里有三种情况:
可以看到,如果三分之二的节点可以正常运行,就可以拿到利息,如果没有的话就拿不到利息。如果大部分其他节点都离线,会有一些小小的惩罚。
当然第三种是最差的情况,我可以更深入的讲一下,我先不讲为什么签名会错误,我只知道这个情况发生了。发生这种情况,也许是因为你要攻击网络,也许是你被黑了,如果你的签名有错误或者跟自己有冲突的信息,那么罚款会与其他犯错验证节点的数量成正比。但是如果你是无辜的也就是被黑了,或者电脑有问题,或者数据有问题,这时你受到的惩罚就会比较小。如果是真的攻击,需要非常多的验证节点,这时你的罚款就会非常大。
也就是说,无辜的节点罚款不会太多,但真正攻击系统的成本会非常高。罚款机制给了节点奖励,使其设置自己的安全保护机制,尽量不跟其他节点的安全保护同时失效。
这里我要给你一些非常重要的提示:
1、不要加入跟别人一样的权益池;
2、不要用跟别人一样的VPS;
3、不要使用跟别人一样的操作系统;
4、不要用跟别人一样的客户端;
这是因为,如果是一个去中心化网络,大家都有同样的权益池,权益池被黑了的话,所有人都会有非常高的罚款。不要跟别人用一样的VPS,如果你所有的节点都在这上面,避免跟其他人撞车,一旦被黑了的话大家都赔很多钱,如果只有你一个人被黑的话也会损失很大。所以大家也不要跟其他人使用同样的系统,也不要跟其他人使用同样的客户端。
这个机制是希望大家更好的配置自己,不让网络同时有非常高的风险。
第五步:退出
假设大家已经拿到自己的奖励,希望能够把以太币提出来,该怎么做?
你的私钥和提款地址都能触发取款过程
你的验证节点会在7天后关闭
验证节点关闭之后,4月后才能提取以太币
私钥或提款地址其中的一个都可以触发取款过程,一旦触发了取款过程,验证节点会在大概7天左右关闭,你一旦退出了之后就要等待4个月,4个月之后就可以提取太币了。
以上就是如何在系统中成为验证者的全部内容。