链闻ChainNews
公众号ID:chainnewscom
关注
多年以后,当俄罗斯裔程序员维塔利克·布特林 Vitalik Buterin 回忆起 2018 年初夏在北京遭遇观众的一个提问,应该会把个这列入人生比较尴尬的时刻。
一位参加一场技术论坛的男士先是用英文表达了他对布特林的喜爱,然后提出了问题:「你觉得什么时候以太坊代币价格能涨到 1 万块钱?」布特林颇有些尴尬,只能说:「我不知道。」
这位被狂热粉丝称为「V 神」的以太坊创始人,刚刚在舞台上向开发者们分享了基于以太坊的 Casper 协议与分片技术最新进展。他介绍了作为验证节点如何参与到 Casper 的验证工作中的具体流程以及需要注意的事项,并介绍了二次分片的含义及潜力。
显然有听众更关心以太坊的币价。当然,「V 神」的演讲现场也更像一个社交场。数不清的粉丝冲向布特林希望合影,只能由保安出手一一制止。而在他演讲的大厅门口,7、8 个失意的投资者高举标语,写着「OKex 恶意暴仓」、「徐明星还我血汗钱」的大字站成一排进行示威,仿佛一场行为艺术。
大厅内的布特林做了一场非常技术的演讲,所讲话题对布特林自己和以太坊意义重大。
以太坊已经是市值第二大的加密货币项目,并且被其拥趸称为「区块链世界仅有的有真正意义的两大公有链之一另一条是比特币区块链」,但是其有限的吞吐能力却屡屡被吐槽。
Casper是一种混合了工作量证明PoW和权益证明PoS的激励执行机制,一旦成功实施,将有效减少区块链生成过程中的资源投入和损耗。而分片技术则可以提升交易速度, 改善交易吞吐量,并大幅降低交易费用。
布特林在北京的演讲全文附在本文文后。不过,对于大多数非公链开发或应用开发人员,他提供的关于分片技术的落地时间和路线图更有价值。
布特林在北京表示,他希望在一两个月的时间完成分片技术,当然,现在已经有团队已经测试利用该技术进行落地应用,不过,「要想真正推广开来,可能得花上一年时间」。他还表示,「现在来说这些还为时过早」。
听上去有些让人气馁?
是有点。要知道,就在布特林发表这篇演讲的同时,另外一个引发众人关注的公有链项目 EOS 的众多社区正在热火朝天地进行主网上线的准备工作。
EOS 软件的开发者 Block.one 在完成长达一年时间的 ICO、成功获得 40 多亿美元的收入后,刚刚在一天前正式发布了开源的 EOS 开发软件 EOSIO 1.0 版本。在此之后,第三方基于该开源软件运营的 EOS 主网即将上线。
按照 EOS 项目方的描述,EOS 这个区块链底层公链系统可以实现可 1 秒之内 100万次以上的打包记账,将让开发者可以迅速开发各类 DApp基于区块链的分布式应用,可以让终端用户无需任何手续费就可以方便地使用这些应用。
如果这些描述成真,EOS 将成为以太坊最直接、也是最凶猛的竞争者和替代者。
布特林在北京并没有对 EOS 可能发起的挑战做出说明,但是,就在不久之前,他却在另外一个场合向人们描绘了成功应用分片技术后,以太坊有可能实现吞吐量极大的提升。他表示,目前以太坊网络上测试的分片和 Plasma 扩容解决方案,有可能让太坊区块链网络实现每秒交易处理量超过百万次。
可以理解,这样的技术前景远大,但是实现起来并不会一帆风顺。在北京,布特林的技术演讲更加低调并且务实。没有夸夸其谈地炫耀宏伟蓝图,而是从开发者和未来 Casper 验证参与者的视角,告诉大家应该怎么做,应该避免哪些误区。
以下为链闻 ChainNews 整理的布特林演讲内容,并提供他演讲的全套幻灯内容:
今天我会和大家分享Casper 及分片技术的发展。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 个月之后就可以提取太币了。
最后,希望大家有个不错的验证体验!
V 神「Casper 协议与分片技术最新进展」 PPT下载:https://img.chainnews.com/upload/reports/bbcc0f02-4312-5ba7-8892-fe0c6a8ea9c8.pdf
「芝士斗士」抢鲜登场!
真正的斗士敢于直面芝士的挑战!
谁是最强斗士,让我们拭目以待!
你可能还想看这些
链闻社 | 嘉宾访谈
链闻 ChainNews
Buy on the rumor, sell on the news.
有谣言买入,有新闻卖出。
领取专属 10元无门槛券
私享最新 技术干货