ethereum / beacon_chain

MIT License
211 stars 65 forks source link

IMD-GHOST/Casper testing lang #58

Closed djrtwo closed 5 years ago

djrtwo commented 6 years ago

Issue

This testing lang is up for discussion https://notes.ethereum.org/6ozACHyKR9i86vfkt086Ow#.

EDIT: Proposed YAML format: https://notes.ethereum.org/s/r11GVSBuQ

This issue can either be implemented in conjunction with https://github.com/ethereum/beacon_chain/issues/13 or after

terencechain commented 6 years ago

@prestonvanloon has put together the following thoughts. Can you guys take a look and let us know what you think? Thanks!

mratsim commented 6 years ago
Properties

Here are the properties I would find useful:

Comments on current proposal

It seems like inspired by CSV for input, with : to separate constants: votes: result, rules should be clear on:

What is needed?

To clarify what is needed, we should probably make sure of what the lang should encode, I note:

Canonical test

This vote part for slot 2 and 3 is a bit unclear 0-5AB, 2-7AC [2]6-7AC

  • In slot 2, validators 0-5 of the validator set of slot 2 vote on B, a child of A
  • In slot 3, validators 2-7 of the validator set of slot 3 vote on C, a child of A, and validators 6-7 from the validator set of slot 2 do the same

So we could use the following as an equivalent right? 6-7AC [3]2-7AC, [2]0-5AB

ChihChengLiang commented 6 years ago

@mratsim I guess the comma separates what event should happen in when. If we focus on the validators 6-7 defined in slot 2.

By the way, the [3]2-7AC might be causally problematic, as the validators defined in slot 3 is undefined in slot 2.