以太坊核心研究员:关于以太坊2.0信标链验证者 你需要知道这些

2024-02-04 01:59

本文主要是介绍以太坊核心研究员:关于以太坊2.0信标链验证者 你需要知道这些,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019年6月29日,由CSDN、灵钛科技主办,区块链大本营、Unitimes、ETHPLANET、以太坊爱好者社区、火星财经协办的“2019第二届以太坊技术及应用大会”在北京·长城饭店隆重举行。

本次大会围绕以太坊生态全景、以太坊未来发展、以太坊开发实战、优质项目案例等诸多方面展开,邀请以太坊创始人及核心技术开发者、海内外知名项目负责人、行业领军人物及以太坊生态精英专家齐聚于此,共同助力中国以太坊技术深度交流和社区发展。

作为本届大会的重要嘉宾之一,以太坊核心研究员Hsiao-Wei Wang在上午的会议中分享了题为《Ethereum 2.0 and Beacon Chain Validator》的主题演讲。 

在演讲中,以太坊核心研究员Hsiao-Wei Wang希望新的一年,可以有稳定的版本去做stable testne;关于开发端的各自研究未来可以形成交互;构建新签章机制的标准化和audit可以顺利并成功。

以下为太坊核心研究员Hsiao-Wei Wang的演讲实录:

大家好!听了V神的精彩演讲后,我们把时间转移到近期的Beacon和以太坊2.0上。如今大家对以太坊领域还存在很多疑问,包括到底什么是以太坊领域?Beacon又是什么?成为Beacon的验证者需要做什么?此外大家还比较关心在Beacon,其机制与原本有何不同?在Beacon上的后续计划是如何进行的……我希望今天的分享能够尽可能涵盖这些问题并给予解答。

首先我先回答下“为什么以太坊 2.0需要信标链Beacon Chain”。以太坊有三个阶段,从开始的信标链,到上层的datachain分片链,之后还会增加更高级的功能,例如CBC在其中。

今天我的演讲集中在Beacon Chain上,它有几个主要的功能。例如第一,它取代原本早期的设计,现在使用Beacon Chain核心链,会选择使用Eth1指称目前的门类,抵押金会被转到Beacon Chain,因此Beacon Chain会作为整个系统中互动的核心。

我们要如何透过协议激励验证者乖乖做事,不要做恶,从而得到持续性稳定发展。首先要有奖励金在其中:proposer有点像Eth1上的maner,更高投票以及更高奖励金,将上面的投票称为attestations,是验证者的证明,过程中必须要对attestations签名 ,代表恨得验证过并负责。

其次,作为Whistleblower去举报恶意验证者,举报者不一定是proposer本人,但如果纳入更多Slashing Operation,就能够获得更高奖励。比如某个proposer出块时,他出了两个似乎矛盾的块,从他的签名就可以反推是恶意验证者,这样的恶意验证者余额有一定比例转移到举报者;另外我们为了鼓励投票给出奖励金,必须要投给正确的;还有一个是Crosslink Reward,通过投票代表是真正的券。

如何成为信标链的验证者?首先在Eth1这条主链部署一个特殊合约 deposit contract,同时合约接受使用者付出的抵押金。这个合约每收到一笔有效的deposit,放出event log。他们有一个重要工作是随时追踪Eth1上与这个合约有关的资料,可能会用技术追踪event log。

一旦拥有了所有的资料,就会有清单记录,把不同的验证者分在不同的群组中。当然我们也有一些机制预防计数的产生如何不被操纵 。每一个Committees都有一个指定的券,过程需要验证,每个bug会有部分的committees去验证。

当然,并不是马上加入到验证者中就被当作是有效的活跃的的验证者,还有一部分需要在链上做验证。在Eth1上付押金后,会确认它的余额是否足够并同时放在注列中,当条件满足才会放出来。目前设定在25分钟后,当时间到后才正式成为有效的验证者。

接下来聊聊验证者在Phase上的职责有哪些?关于这个方向,大致可以分为两类:一类是被选择poser,proposer的选择有多个committe,其中一个被选出。想给大家一个基本概念,beacon block是什么?它和Eht1有些不同。上面所有的交易中,类似的交易内容可以称为operations,非常多,负责执行不同的操作内容。

proposer的位置,里面有两个比较特别的,要用自己的key,所以这个结果的前一步是什么,只有自己知道。可以想象,如果只控制一个dators,就可以做到控制它是否有randao的能力。如果需要有操控网络上随机数产生的话,所需占领的要有一定数量级才能控制。

刚才提到很多不同的奖励,相对我们用了一些处罚方式使得使用者作恶会受到报应。当你的票投在大多数中,你会受到奖励;反之如果你没有加入其中的话,它会稍微扣一点点Balanced;如果你是被选中一个comeet,如果不佳或没被收到,这种情况下有一个「不活跃惩罚」机制,小小的金额会从你中被扣除;还有Casper FFG penalties刷券部分,如果你没在之中会被小小的处罚。

刚才讲的这三个情况,是你可能有意识的想要做好事,但是情况不佳,使得你没办法做出正确的选择或是无能为力。后面这个slasHing的状况非常严格,有证据表示你要做坏事,所以处罚比较严酷一点,比如proposer建立两个的时候,有可能被举报。

最后一个是Proof of Custody Game,那么我们在刷券上如何让这些证明真的有资料,这些一旦做出之后,会要求它做回应,这样的设计叫proof of custody game,如果没有一定时间完成挑战,就会被惩罚。

刚才看到处罚机制,Validator Churn,这是指新加入的和的数量变化,Validator被分散到不同的刷券中,如果刷券中有大量Validator退出或加入,有可能造成不太稳定。为了减少这个影响,我们设计了两个队列,根据目前所有Validator在这之中的数量,数量尽可能一致,有多少Validator就有多少个Beaconchain系统,以达到对稳定性的要求。

讲到退场机制,如果Validator自愿退出,要怎么做?需要在Send a Voluntary Exit operation,之后把自己的余额提出。到了Phase2的时候,才会让eaconchain的余额变得稍微有意义,做更多应用。除了刚才的情况还有两种,是余额不足或做事被处罚而离开,处罚会比较严格,必须要在36天之后才能做提款动作 。

这篇关于以太坊核心研究员:关于以太坊2.0信标链验证者 你需要知道这些的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/676073

相关文章

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

详解MySQL中DISTINCT去重的核心注意事项

《详解MySQL中DISTINCT去重的核心注意事项》为了实现查询不重复的数据,MySQL提供了DISTINCT关键字,它的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据... 目录DISTINCT 六大注意事项1. 作用范围:所有 SELECT 字段2. NULL 值的特殊处