prysmaticlabs / prysm

Go implementation of Ethereum proof of stake
https://www.offchainlabs.com/
GNU General Public License v3.0
3.41k stars 951 forks source link

Nimbus CL < > Prysm VC incompatibility #13851

Open barnabasbusa opened 2 months ago

barnabasbusa commented 2 months ago

Describe the bug

Describe the bug

We are in the process to test cross beacon <> validator client compatibility, and found a bug when testing nimbus CL with prysm VC.

Prysm reports:

time="2024-04-05 12:15:11" level=info msg="Waiting for deposit to be observed by beacon node" prefix=client pubkey=0xa2e2d8384fc8 status="UNKNOWN_STATUS"

Nimbus reports:

nothing out of the ordinary

Snooper between cl <> vc reports:

Apr  5 12:15:47.524 2024 RESPONSE (status 200 OK) 
{
  "execution_optimistic": false,
  "finalized": false,
  "data": []
}

Apr  5 12:15:47.524 2024 REQUEST /eth/v1/node/version
null

Apr  5 12:15:47.524 2024 RESPONSE (status 200 OK) 
{
  "data": {
    "version": "Nimbus/v24.3.0-dc19b0-stateofus"
  }
}

Apr  5 12:15:59.523 2024 REQUEST /eth/v1/beacon/states/head/validators
{
  "ids": [
    "0xaaf6c1251e73fb600624937760fef218aace5b253bf068ed45398aeb29d821e4d2899343ddcbbe37cb3f6cf500dff26c",
    "0x8aa5bbee21e98c7b9e7a4c8ea45aa99f89e22992fa4fc2d73869d77da4cc8a05b25b61931ff521986677dd7f7159e8e6",
...

It seems like prysm is stuck on requesting genesis state, and stops there.

Expected behavior

I would expect all client combinations would work.

Steps to reproduce

config.yaml:

participants:
  - cl_type: nimbus
    vc_type: prysm
additional_services:
  - dora
snooper_enabled: true
global_log_level: debug

kurtosis run github.com/kurtosis-tech/ethereum-package --args-file config.yaml

Additional context

Current BN <> VC Compatibility list tracker

Screenshot 2024-04-05 at 14 08 53

Operating system

Linux

Nimbus version or commit hash

statusim/nimbus-eth2:multiarch-latest - sha256:8e79e02b37351bdcf0a4b07c9cb5a8dd23afdf83144a0d948644b72884cdd10d

Has this worked before in a previous version?

No response

🔬 Minimal Reproduction

No response

Error

No response

Platform(s)

No response

What version of Prysm are you running? (Which release)

latest

Anything else relevant (validator index / public key)?

No response

cc: @pk910

nflaig commented 3 weeks ago

This is likely related to Prysm VC sending an empty statuses array in POST /eth/v1/beacon/states/head/validators