Want to take part in these discussions? Sign in if you have an account, or apply for one below
Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.
1 to 1 of 1
Casanova is a live, safe consensus algorithm. It involves a set of v “validators”, each of which issue “blocks” once every minute. The blocks refer to the latest block each validator has seen from each of the other validators. The result is a partially ordered set of blocks, while the blocks from any particular validator are totally ordered. The safety proof involves reasoning about attestation statements like “block n ≤ k blocks from distinct validators, each of which ≤ l blocks from distinct validators, each of which ≤ block m”. I suspect there’s a topos whose subobject classifier captures the different levels of attestation of block n to block m. The maximal truth value for block m is when block n ≤ blocks from all v validators, each of which ≤ v other blocks from all v validators, each of which ≤ block m—that is, when block n has seen everyone see that everyone has seen block m. Then block n knows that block m will never be directly referred to again. A weaker but important truth value is when k and l are bigger than 2v/3; then block n considers block m “finalized”. Finalization becomes important when we start allowing blocks to conflict with each other.
I don’t know where I should start looking for methods of constructing a topos that could be applied to a situation like this. Any suggestions?
1 to 1 of 1