https://github.com/blockdaemon/validator-ownership-verification
Verifying proof of ethereum validator ownership
https://github.com/blockdaemon/validator-ownership-verification
Last synced: about 2 months ago
JSON representation
Verifying proof of ethereum validator ownership
- Host: GitHub
- URL: https://github.com/blockdaemon/validator-ownership-verification
- Owner: Blockdaemon
- Created: 2024-02-27T01:30:09.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-02-27T01:42:10.000Z (about 1 year ago)
- Last Synced: 2025-01-13T14:21:29.363Z (4 months ago)
- Language: Python
- Homepage:
- Size: 1000 Bytes
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Verifying proof of validator ownership
Example validator: https://holesky.beaconcha.in/validator/a9ff82d286231f065170aa795777896152d79f81e40279f62bb7e9a354f86f227c1b93582ac42e2b1340326ad08ea1411. Obtain validator private key from validator client. See Prysm example:
```shell
/validator --config-file=/config/validator-config.yaml accounts list --show-private-keys
```2. Owner signs aribitrary message with validator private key
```shell
$ pip install -r requirements.txt
$ python bls-sign-msg.py $PRIVATEKEY "hello world"
:: public key from private key: a9ff82d286231f065170aa795777896152d79f81e40279f62bb7e9a354f86f227c1b93582ac42e2b1340326ad08ea141
:: message signature: 95f7af6f246dae0ec150cfcd51699c4bea51b9048dfe07cf6c177b4cfa705554c5a3c4282485c5d5f23f6d2827e2fffa0203e5f6e99081824ea651c288ad3c88d1a48f8340a28fb12a3341591c9d49a64abb495297eb06245fa5f4b9d81ffbdf
```3. Verify signature with validator public key, signature and message
```shell
$ python bls-verify-signature.py a9ff82d286231f065170aa795777896152d79f81e40279f62bb7e9a354f86f227c1b93582ac42e2b1340326ad08ea141 95f7af6f246dae0ec150cfcd51699c4bea51b9048dfe07cf6c177b4cfa705554c5a3c4282485c5d5f23f6d2827e2fffa0203e5f6e99081824ea651c288ad3c88d1a48f8340a28fb12a3341591c9d49a64abb495297eb06245fa5f4b9d81ffbdf "hello world"
:: verified signature: True
```