今日,2018以太坊技术及应用大会在京召开,以太坊创始人Vitalik Buterin出席大会并在演讲中分享了Casper与分片技术的最新进展。
在提及二次分片时,V神称假设一个节点能处理N个交易,那么主链能追踪N个分片,每个分片都能处理N个交易,所以系统一共能处理N的2次方个交易,因此这个提案叫二次分片。
另据V神介绍,验证节点的责任为:验证主链;验证2个分片(为了生成区块,为了确认区块/交联);生成分片区块;生成主链的区块;确认分片区块并进行交联。
他还强调,验证节点不要加入跟别人一样的权益池,不要用跟别人一样的VPS,不要使用跟比人一样的操作系统,不要用跟别人一样的客户端。
同时,V神指出:你拥有的以太币越多,你的验证节点的位置越多,那么需要的算力也越多,这个机制支持协议的多中心化,对拥有较少以太币的人会公平一些。
在演讲结束后,V神在台上接受了现场观众和媒体的提问。
谈及区块链的应用,他认为,金融行业可能应用得最早,另外还有游戏行业,游戏行业也可以快速应用。同时他表示,他们也看到很多其他行业的不同应用场景,比如身份认证、价值链等等。
V神表示,他们希望在一两个月内完成以太坊分片技术相关工作。现在团队已经开始对它进行落地使用,但可能花上一年时间才进行推广。
值得一提的是,有很多人在提问之前,公开先向V神示爱称“I like you”“I love you”等。主持人更是表示这些告白言论会统统上链。
以下为演讲全文:
今天我和大家分享Casper Pos/分片的技术,尤其是作为验证者角度参与验证本身工作分享Casper技术。
Casper有一个全新的算法,算法的分片是解决方案,我会具体跟大家阐述一下这两种技术的流程。
大家如果参与到Casper和分片,从节点角度来说要做什么?
第一步是存款,Casper是个验证系统,换句话说,为了加入,需要在权益当中有所存款,存款需要发送存款的交易,这是正常在以太坊上的交易。包括一个公钥,有32个以太币并且验证,首先规定你使用的公钥,用它做信息的签名。也要有一个取款地址,在验证的时候有相应的奖励措施。
这里大家要注意,签名公钥和取款地址并不意味着完全一致,这意味着两件事情,首先可以把签名的权利分配给其他人,比如像我在全世界旅行,不可能一直带着电脑,就可以把这个key给你的朋友,让你的朋友为你签名验证,为你参与到算法。
但你不会把所有资金托付给一个朋友,即便你的朋友能代替你做签名,但他也不能把你的钱取出来,你的钱唯一可以进入的地址是之前提供的取款地址,这意味着你可以使用热钱包来签名。
我们刚才提到状态验证的机制,公钥是在一个在线的电脑上,但资金永远会留在冷钱包里,这个公钥是激活这部分资金,防止发给其他人,让你的资金留在自己的电脑上。这种情况下,作为验证者,就更加安全、有保障。
但是一旦你完成了取款交易之后,就进入了第二步:等待加入。这个可能需要一天的时间,这部分协议还没有完全被确定,但要等待这个协议把你加入了验证者的池。
第三步是参加验证机制,有了存款等待了一天时间加入这个机制,你现在已经进入了活跃验证者的池,你就是个验证者了,这是个好消息。
作为验证者,在网络当中有两个关键功能:
第一个是Casper的过程,来参与并且敲定主链,这意味着它可以确保主链上的区块,超过一定点之后,主链上的区块是不可逆转的。一旦完成之后,主链就被敲定了,你就完成了工作。
第二个是验证分片上的区块,我们的系统中不会所有人都来做区块的验证,这些区块被可能分配到100甚至更多的分片中,交易也是分开的,有不同的验证者来验证不同的区块和交易。
这是验证者最主要的两个功能。Casper这个工具的主要目的是一个敲定工具,是链上共识机制的一部分,用于区块的敲定,它可以给区块更多的安全性。
分片的提案看起来是这样子的,以太坊的分片提案包含100个子链,帐户交易信息都是储存在子链上的。
主链完成一些工作,子链完成一些工作,主链负责生成随机数,随机选择哪个验证者进入哪个分片、谁可以创立一个分区,并且保持验证节点的追踪,如果你是一个验证者的话,它会一直追踪你验证节点的相关信息,比如你分配到什么分片、你现在的奖励和惩罚是什么,所有这些信息都是由主链完成的,除此之外,它可以追踪子链上的区块。
子链的责任比较简单,主要做交易处理,并且存储帐户状态、合约状态,它可以存储绝大多数用户比较关注的信息,每个阶段是差不多1个小时左右,每个验证节点由系统随机分配一个分片,为了这个阶段或为了这个小时,验证节点的工作就是要验证,并且帮助确认这个区块是在这个分片之上的。在任何的时间点,如果验证节点被分配到某个特殊的分片上,比如我们一共有100个分片,有些人随机选择1%的验证节点,来确认任意一个分片上的区块。
这个是系统的可扩展性,我们假设一个计算机可以来处理N个交易,主链这个时候就可以来追踪N个分片,每个分片本身都能够处理N个交易。系统可以处理的是2倍N的交易,所以它叫“2次性分片”,如果你电脑的计算能力是翻一番,这时主链可以来追踪2倍的分片,系统能处理的交易是之前的4倍。
接下来看Cross-links,交联是彼此间沟通的方式,并且是主链追踪分片的方式,主链不会追踪每个分片中的每个区块,只会追踪交联。每个交联大概是100个左右为这个分片分配节点的签名,并且在主链上确认这个分片节点的区块。
这个验证节点有以下职责:
首先,作为验证节点工作,做主链验证,并且验证主链上的每个区块,主链包括副联、交易以及对验证节点的奖励和罚款。
会验证两个节点的区块,时间更久做区块的生成。我们也可以经常在不同的分片中来回交换,做区块的确认,还有分片和主链之间的交联。
作为验证节点,它必须要在分片上做区块的生成,主链区块的生成,并且确认分片上的区块已经交联。
这些都是大家作为验证节点的主要责任,也是大家在一个分片系统当中主要的工作。
在线正常运行的状况发出了应该发出的信息,所有都是正常的,这种情况下会发现其他的三分之二节点正常,就可以拿到利息,如果没有的话就拿不到利息。大部分其他节点都在线,会有一些小小的惩罚。
第三种情况是最差的情况,如果你有这个签名,这个是错误或有冲突,你可能是在线的,但签名的信息是不正确的。
当我说到你签的这个信息不对,我可以更深入的讲一下,但是现在我先不讲它为什么这样,但我只知道这个情况发生了。这种情况是你要攻击网络,或者你被黑了,如果有这样的情况发生,你会受到按比例的惩罚,这个比例是按照其他的在线签名的验证节点的比例做到的,也就是说你的罚款与其他犯错节点的罚款数量是成正比的。
另外,如果你是无辜的,有这种情况出现是因为你被黑了,或者电脑有问题,或者数据有问题,这时你受的惩罚就会比较小。如果真的有攻击发生,需要非常多的验证节点,这时你的罚款就会非常大。攻击系统的成本非常高,如果你作为个人的验证节点出现了问题,成本是没有那么高的,是公正的。
这个机制希望激励大家做验证节点,也希望大家去设置时,能够更好的保护自己的机制,不要和其他的验证节点同时有不成功的感觉。比如你是一个高度去中心化的网络,不同的节点会在不同时间上线或离线,不同的节点会在不同的时间被黑。
如果是一个去中心化网络,大家都有同样的权益池,所有人都用不一样的权益池,如果权益池被黑了的话,假设我们非常集中,所有人都会有非常高的罚款。
但是这就是说明要告诉大家的,不要跟大家用一样的权益池、不要跟别人用一样的VPS,如果你所有的节点都在这上面,就避免跟其他人撞车,一旦被黑了的话大家都赔很多钱,如果只有你一个人被黑的话也会损失很大,所以大家不要跟其他人使用同样的系统,也不要跟其他人使用同样的客户端。
这个机制是希望大家更好的去进行配置自己,不让网络同时有非常高的风险。
假设大家已经拿到自己的奖励,希望能够把以太币提出来,该怎么做?
私钥或提款地址其中的一个都可以触发取款过程,一旦触发了取款过程,验证节点会在大概7天左右关闭,你一旦退出了之后就要等待4个月,4个月之后就可以提取太币了。
这就是如何在系统中成为验证者验证节点。