Rewrite the validator client code to be compatible with the Beacon API instead of prysmaticlabs' internal API.
Ticket here.
GetFeeRecipientByPubKey
gRPC request from the Prysm validator client to the Prysm beacon node by an equivalent implementation using only the REST beacon API.The doppelganger detection is a mechanism which, for a given validator key:
If, for a given validator key, no action has be done by the validator client during the last 2 epochs AND if this validator key has been seen alive during the last 2 epochs, it means somebody is validating for this key somewhere ==> This is a doppelganger, the validator client won't start.
Using gRPC API, this logic is implemented in the beacon node, with direct access to the beacon state. The validator client asks to the beacon node if there is a doppelganger for a given key. If the beacon node answers "yes", then the validator client won't start to avoid any slashing risk.
Using Beacon API, this logic has to be implemented in the validator client.
The validator client has access to its local antislashing database, which fulfill point 1.
.
However, the validator client does not have a direct access to the beacon state. So to fulfill point 2.
, I chose to use the newsly defined liveness API. This API requests the beacon node to indicate if a validator has been observed to be live in a given epoch.
Also, before running a doppelganger check, the validator client has to ensure that the beacon node is correctly synced.
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing