MerosCrypto / Meros

An instant and feeless cryptocurrency for the future, secured by the Merit Caching Consensus Mechanism.
https://meroscrypto.io
Other
83 stars 19 forks source link

Significant isn't helpful. #274

Closed kayabaNerve closed 3 years ago

kayabaNerve commented 3 years ago

Meros doesn't, and shouldn't, on purposely remove low-Merit Verifications from inclusion. The purpose of significant was to lower the amount of Verifications in a sketch to increase the chance of resolution.

Instead, the header should say the amount of Verification Packets. The BlockBodyRequest should include a sketch capacity (instead of the existing capacity of 20%, it should be the difference + 10% to count for any not-included/different packets). This is simpler to work with and increases probability of sketch resolution.

Would enable closing https://github.com/MerosCrypto/Meros/issues/218 due to irrelevance.

kayabaNerve commented 3 years ago

Header work is effectively done (re-gen'ing the Python vectors right now). Work on BBR is pending. Will also needs tests that:

kayabaNerve commented 3 years ago

See #255 for why a BB must be accepted with any capacity, regardless of the request. That said, SketchHashesRequest should still be checked against the header for the correct size.

kayabaNerve commented 3 years ago

All that's left is the final test, once finishing integrating the new BBR is done (Python has had some quirks with expected flow relating to syncing Sketch hashes).

kayabaNerve commented 3 years ago

Running the final tests now.