stratumn / go-core

Stratumn's core utilities to create decentralized applications and networks
Apache License 2.0
0 stars 0 forks source link

tmpop: add block signatures to segment evidences #131

Closed such closed 6 years ago

such commented 7 years ago

Expected behavior

The evidence of a Segment should be enough to allow a complete validation.

Actual behavior

The only missing piece are the signatures of the validator nodes on the block.

simonvadee commented 7 years ago

the pre-commits of a block, containing the validators public keys and signatures, are not currently available in the ABCI (only the LastCommitHash contained in the header passed to BeginBlock is). A discussion is taking place on tendermint's forum (https://cosmos.rocket.chat/channel/development?msg=pQByczFAAAQZsRtDY).

such commented 7 years ago

I was thinking that maybe we should not store anything like the block header and the block pre commit signatures since they are already stored by Tendermint Core. We could only store the block height and enrich segments in tmstore with the header and the signatures when they are requested. What do you think?

simonvadee commented 7 years ago

I thought the goal of an evidence was to make it possible to verify the validity of a segment independently from the tendermint network. However, without an access to the blockchain, there is no way of telling if the evidence was made up or not, so you have a good point. Technically, the block height is not even needed to recover the block in which a segment was included though, why do we need it for ?

such commented 7 years ago

What I meant was: If we know the block height then anytime a segment is retrieved all proofs we're interested in to independently validate it was included in the blockchain can be added to it. A complete segment, with a full evidence, can then be provided to anyone that has no access to the blockchain.

simonvadee commented 7 years ago

Therefore we have to decide between :

such commented 7 years ago

This will probably be addressed in stratumn/sdk#191

t-bast commented 6 years ago

Tendermint recommends using their lite package that gets all the signature data and validates it. We should investigate this (it requires updating our Tendermint version).