Proposal: Improved UX with Milestones for Polygon PoS

Hi Thogard!
Thanks a lot for asking out your doubts.
I would like to answer your questions in a sequence they are asked.

  1. Yes, We have “vaibhav/Milestone” PR in Bor and Heimdall. You can look into them and raise the comments for any doubt. Would love to answer your queries at the earliest.
    Bor PR- Vaibhav/milestone [DO NOT MERGE] by VAIBHAVJINDAL3012 · Pull Request #654 · maticnetwork/bor · GitHub
    Heimdall PR -Vaibhav/milestone [DO NOT MERGE] by VAIBHAVJINDAL3012 · Pull Request #939 · maticnetwork/heimdall · GitHub

  2. All the validators will vote on the Milestone Block.

  3. Let’s take a case of 50% (by stake) nodes are on Fork ‘A’ and other 50% are on Fork ‘B’. And now milestone proposer proposes a Milestone from fork ‘A’ and 50% nodes will vote ‘YES’ on it and lock their Bor client and store the Milestone’s ID. With only getting 50% vote, Milestone will fail and we will store its ID in the failed milestone list in Heimdall. Bor client will continuously query the failed milestone list, if they find that ID ,for which they have locked their Bor, exist in the failed milestone list, they will open the lock. This will prevent the deadlock.
    Tendermint consensus layer wouldn’t get stuck in any case. As tendermint only provides the voting and finality platform to us. It don’t have any link with Bor.

  4. Lack of consensus will not rewind back the node. It will only rewind when it finds that the fetched Milestone( successfully voted by 2/3+1 majority in Heimdall) doesn’t match with its local Bor Chain.

  5. As for now, it will not impact the current “slashing not implemented” approach towards staking.

Would love to get more feedbacks from you.:blush:

1 Like