AmbireTech / adex-protocol

AdEx Protocol: docs
45 stars 21 forks source link

Docs: explain health vs refusing to sign new states #14

Closed Ivshti closed 3 years ago

Ivshti commented 5 years ago

Explain why any new valid state transition would be signed, and how the balances are distributed is tracked in the health

In short, the idea is that how the balances would be distributed can be subjective - different validators may receive different events if there is something wrong with the network connections

While signing an invalid state transition is clearly a violation - it clearly means malicious behavior (trying to go back on what you paid); of course, you can create valid state transitions which pay out to yourself (or to others who haven't legtimately earned), but as the leader, the funds are yours anyway (would be much easier to just cancel the channel)


from a technical standpoint, this makes implementation easier

health represents the comparison between the latest approved NewState and our own stateTree

while the state transition checks previous approved NewState vs candidate NewState


However, dramatically poor health can and should result in a refusal to sign (see https://github.com/AdExNetwork/adex-validator/issues/47)