Vitalik Buterin:Casper 权益证明与分片技术最新进展
2018年6月3日,由全球最大开发者社区CSDN和专注以太坊生态建设的领先企业灵钛科技主办,以太坊爱好者社区、柏链道捷、火星财经、金色财经、Unitimes、区块链大本营协办的“2018以太坊技术及应用大会·中国”在北京·悠唐皇冠假日酒店隆重举行。 本次大会围绕以太坊生态、以太坊核心技术、以太坊优质应用展开,邀请了众多国内外顶级开发者、以太坊团队核心成员,以及顶级项目负责人齐聚于此,共同助力中国以
2018年6月3日,由全球最大开发者社区CSDN和专注以太坊生态建设的领先企业灵钛科技主办,以太坊爱好者社区、柏链道捷、火星财经、金色财经、Unitimes、区块链大本营协办的“2018以太坊技术及应用大会·中国”在北京·悠唐皇冠假日酒店隆重举行。
本次大会围绕以太坊生态、以太坊核心技术、以太坊优质应用展开,邀请了众多国内外顶级开发者、以太坊团队核心成员,以及顶级项目负责人齐聚于此,共同助力中国以太坊技术深度交流和社区发展。
验证关键步骤解析
作为本届大会的演讲嘉宾,以太坊联合创始人Vitalik Buterin在上午的会议中分享了Casper 权益证明与分片(Sharding)技术最新进展,尤其是如何成为Casper PoS + 分片验证者的步骤:
首先“存款”,发送存款交易的信息包括32个以太币、公钥与取款地址。需要注意,这一步骤,签名公钥与取款地址不一定相同,可以让别人为你参加共识机制,而且能用热钱包签名,用冷钱包取款。
其次是“等待加入”,可能需要一天时间,等待协议将用户加入验证者池。
接下来“参加验证机制”,验证节点有两个作用,分别是敲定主链的区块和验证分片上的区块。
最后是“退出”,私钥和提款地址都能触发取款过程,而验证节点会在7天后关闭,其后4个月后才能提取以太币。
VitalikButerin,加拿大籍俄罗斯裔程序员,以太坊和《Bitcoin Magazine》联合创始人
Casper提出了一种更现代的权益证明(PoS)模型,用来替代以太坊传统的工作量证明(PoW)算法。它可以大大加快网络中的交易处理时间。而以太坊分片(Sharding)则借鉴了现代NoSQL数据库中可扩展架构的一些思想。而以太坊分片将整个网络状态分解为若干分区,每个分区中包含自己独立的状态和交易历史记录。在这个系统中,特定节点只会处理特定分片中的交易,因此所有分片中完成的总交易吞吐量将远远超过目前单一主链完成的交易量。
Casper有全新的算法,分片是解决方案,我会具体跟大家阐述这两种技术流程,如果参与到Casper和分片,从节点角度来说要做什么?第一步是“存款”,Casper是个验证系统,换句话说,为了加入,需要在权益当中有所存款,存款需要发送存款的交易,这是正常在以太坊上的交易。包括一个公钥,有32个以太币并且验证,首先规定你使用的公钥,用它做信息的签名。也要有一个取款地址,在验证的时候有相应的奖励措施。
注意,签名公钥和取款地址并不完全一致,意味着两件事,首先可以把签名的权利分配给其他人,比如我在环球旅行,不可能一直携带电脑,就可以把key给朋友,让朋友为你签名验证,参与到算法。但你不会把所有资金托付给一个朋友,即便朋友能替你签名,他也不能把钱取出来,钱唯一可以流入的,是之前提供的取款地址,这意味着,你可以使用热钱包来签名。我们刚才提到状态验证的机制,公钥保存在线的电脑,但资金永远会留在冷钱包。这种情况下,作为验证者,就更加安全、有保障。
一旦完成取款交易,就进入了第二步——等待加入。可能需要一天时间,等待协议将你加入验证者池。这部分协议目前尚未完全确定。
第三步是参加验证机制,进入活跃验证者的池,你就是个验证者了,这是个好消息。验证者在网络当中有两个关键功能,一是Casper过程,参与并且敲定主链,这意味着其可以确保主链上的区块,超过一定点之后,不可逆转。一旦完成,主链就被敲定。第二个是验证分片上的区块,系统中不会所有人都来做区块的验证,这些区块被可能分配到100甚至更多的分片中,交易也是分开的,有不同的验证者来验证不同的区块和交易。
这是验证者最主要的两个功能。Casper这个工具的主要目的是敲定工具,是链上共识机制的一部分,用于区块的敲定,它可以给区块更多的安全性。
分片提案与可扩展性
以太坊的分片提案包含100个子链,帐户交易信息都储存在子链上。主链负责生成随机数,随机选择哪个验证者进入哪个分片、谁可以创立一个分区,并且保持验证节点的追踪,如果你是验证者,它会一直追踪验证节点的相关信息,比如你分配到什么分片、现在的奖励和惩罚是什么,所有这些信息都是由主链完成的,除此之外,它可以追踪子链上的区块。
分片提案
子链的责任比较简单,主要做交易处理,并且存储帐户和合约状态,它可以存储绝大多数用户比较关注的信息,每阶段约1小时,每个验证节点由系统随机分配一个分片,为了这个阶段或为了这个小时,验证节点的工作就是要验证,并且帮助确认这个区块是在这个分片之上的。在任何的时间点,如果验证节点被分配到某个特殊的分片上,比如我们一共有100个分片,有些人随机选择1%的验证节点,来确认任意一个分片上的区块。
主链和子链的权责分配
关于系统可扩展性,假设一台计算机可以处理N个交易,主链这时就可以追踪N个分片,每个分片本身都能够处理N个交易。系统可以处理n的2倍,所以称其“2次性分片”,如果电脑计算能力是翻一番,这时主链可以追踪2倍的分片,系统能处理的交易是之前的4倍。
应对攻击与惩罚——如何降低网络风险
接下来看Cross-links,主链不会追踪每个分片中的每个区块,只会追踪交链。每个交联大概是100个左右为这个分片分配节点的签名,并且在主链上确认这个分片节点的区块。
这个验证节点有以下职责,首先,作为验证节点工作,做主链验证,并且验证主链上的每个区块,主链包括副联、交易以及对验证节点的奖励和罚款。会验证两个节点的区块,时间更久做区块的生成。我们也可以经常在不同的分片中来回交换,做区块的确认,还有分片和主链之间的交联。作为验证节点,必须要在分片上做区块生成,并且确认分片上的区块已经交联。这些都是验证节点的主要责任,也是一个分片系统当中主要的工作。
如果你是无辜的——例如被黑了,或者电脑、数据有问题,所受惩罚就会比较小。如果真有攻击发生,需要非常多的验证节点,这时罚款极大,因而攻击系统的成本非常高,如果作为个人的验证节点出现了问题,成本没有那么高的,因此系统是公正的。
罚款机制对节点的激励
这个机制的目的,是希望激励大家做验证节点。对于高度去中心化的网络,不同节点会在不同时间上线或离线,不同节点会在不同的时间被黑。而对于一个中心化网络,大家都有同样的权益池,若权益池被黑,所有人都会有极高的罚款。
这是想要告诉大家,不要选择一样的权益池、不要跟别人用一样的VPS,如果你的所有的节点都在这上面,就需要避免跟其他人撞车,一旦被黑,所有人都会遭受巨大损失,如果只有一个人被黑,也会损失很大,所以大家不要跟其他人使用同样的系统,也不要跟其他人使用同样的客户端。这个机制是希望大家更好地配置自己,降低网络风险。
最后,假设所有人都已拿到自己的奖励,此时你希望将以太币提取出来,该怎么操作?私钥和提款地址都能触发取款过程,而验证节点会在7天后关闭,其后4个月后才能提取以太币。
以上就是如何在系统中成为验证者节点的关键步骤,以及背后的技术和机制。
听众提问精选
提问1:你希望把延迟代码用自动应用程序进行转变吗?
Vitalik:是的。应用可能会放在一个分片上,与现在的系统比较相近。如果使用翻译器,这个过程应该不会太难。
提问2:什么时候才能实际成为分片验证者?
Vitalik:我们希望在1、2个月之后完成基本开发。目前团队已经开始对它进行落地使用,但可能花上一年时间才会进行推广,所以现在预测提供给大家的时间还为时尚早。
提问3:已有很多应用跑在以太坊之,你认为哪个行业能够走在最前面,成为领跑者?
Vitalik:我觉得金融行业可能应用得最早,还有游戏行业也在快速应用。当然,我们也看到了很多其他的行业各显神通,比如身份认证、价值链等,有很多能力正在扩展的。
https://mp.weixin.qq.com/s?__biz=MzU2MTE1NDk2Mg==&mid=2247486664&idx=1&sn=dabf94ffee36e13aa6713e09af5c49bd&chksm=fc7c5235cb0bdb2387546ce940bd756b05b76231d9b49b4deb8949a04d0e9022226198b3fe1f&mpshare=1&srcid=0604JjW0sVWXwcf7jxV0AUz4&key=0e366e3f0cc1f710ab9a8c05efd4dcd127c6488cfb79b940968a3ea63c7422e4781b0a329de837eabe0266bba5c587c75a1aa39b5329ad79e184d6d101c0a283ac477bf7cf8bc51567ef6bed1926d941&ascene=0&uin=MjQ0ODA5ODUwMQ==&devicetype=iMac%20MacBookAir7,2%20OSX%20OSX%2010.12.4%20build(16E195)&version=11020201&lang=zh_CN&pass_ticket=K1hJ0Ccetuh44Ge6zzTQlsNc4gwqaC27DQ/G3ghSgTFf7xE0%20C/EmCeLXvCvZQ5x&scene=21#wechat_redirect
![Logo](https://devpress.csdnimg.cn/79de2bf0b7994defa4242ef90d5513fa.jpg)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)