You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I started reading byteball code about one month ago , I know that one fresh client need to do catch up to pull old data from peers and each wallet may have different witness list . at the beginning of catch up, wallet need to send its witness list and last know mci to destination peer, then the peer got it and start to calculate the 'last_ball_mci' and 'last_ball_unit ' which is designed to indicate where the catch up ends.
What I confused is why the 'last_ball_mci' depends on clients' witnesses since the catch up data were historical and old. what happen if there is no enough units associated with passed witnesses ?
will the catch up request be rejected ? why ?
Indeed, the list of witnesses can change completely over a long time, but it is not an issue.
The client sends his witness list (or rather just the list of any 12 addresses he trusts, not necessarily the same as his witnesses, but the current implementation sends the list of his witnesses) and the peer builds a "witness proof" based on the recent units posted by the 12 trusted addresses. The proof just proofs one of the recent stable units. From this unit, the peer builds a chain by following last_ball_unit links, the chain goes back up to the latest point that the client knows. Witnesses are not required to build and validate this chain, the chain is composed just of links to last_ball_unit.
Hi, Tony & other contributors
I started reading byteball code about one month ago , I know that one fresh client need to do catch up to pull old data from peers and each wallet may have different witness list . at the beginning of catch up, wallet need to send its witness list and last know mci to destination peer, then the peer got it and start to calculate the 'last_ball_mci' and 'last_ball_unit ' which is designed to indicate where the catch up ends.
What I confused is why the 'last_ball_mci' depends on clients' witnesses since the catch up data were historical and old. what happen if there is no enough units associated with passed witnesses ?
will the catch up request be rejected ? why ?
I am new to byteball ,appreciate for your explanation ! @tonyofbyteball @kakysha
The text was updated successfully, but these errors were encountered: