Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding a parameter and model that limit the ability for a very large maker to be systematically included in every transaction. #1718

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

PyGryhapoRbryDer
Copy link

@PyGryhapoRbryDer PyGryhapoRbryDer commented Jul 10, 2024

Adding support for tx_max_expected_probability, a parameter that defines the maximum expected probability for a single maker to be included in a collaborative transaction. A value of 1 (100%) for this probability corresponds to the previous behavior. A value smaller than 1 allows to prevent a large maker from always being included in a transaction. For a given total amount of fidelity bonds, this mechanism allows to reduce the ability of an attacker to be systematically included in a transaction, and also to be the only entity included as makers in the transaction.

The maximum probability of a maker to be included in each maker draw is calculated based on the number of remaining draws and the probability for such a maker to have been excluded so far in the transaction's previous single maker draws. This maximum probability per draw is used to effectively cap the fidelity bond values of makers that could be otherwise included in every single transaction. It makes it more expensive for an attacker to either prevent transactions or to be the only entity used as counter-party (it increases the total value of bonds required to be distributed across more maker bots in order to achieve the same attack. This is partly due to bond_value_exponent). Makers with less oversized bond values are unaffected by the cap and their incentives remain exactly the same as previously. The bond value cap rises with the median value of bonds and also with the number of makers that hold bonds whose values are distributed as such.

…ines the maximum expected probability for a single maker to be included in a collaborative transaction. A value of 1 (100%) for this probability corresponds to the previous behavior. A value smaller than 1 allows to prevent a large maker from always being included in a transaction. For a given total amount of fidelity bonds, this mechanism allows to reduce the ability of an attacker to be systematically included in a transaction, and also to be the only entity included as makers in the transaction.
@PyGryhapoRbryDer PyGryhapoRbryDer changed the title Adding a parameter and model that limits a very large maker to be systematically included in every transaction. Adding a parameter and model that limits the ability fir a very large maker to be systematically included in every transaction. Jul 10, 2024
@PyGryhapoRbryDer PyGryhapoRbryDer changed the title Adding a parameter and model that limits the ability fir a very large maker to be systematically included in every transaction. Adding a parameter and model that limit the ability fir a very large maker to be systematically included in every transaction. Jul 10, 2024
@PyGryhapoRbryDer PyGryhapoRbryDer changed the title Adding a parameter and model that limit the ability fir a very large maker to be systematically included in every transaction. Adding a parameter and model that limit the ability for a very large maker to be systematically included in every transaction. Jul 10, 2024
… the number of desired counterparties before entering the algorithm that limits the maximum expected probability for large bond makers.

-Modifying which log statements are warning vs debug statements to reduce the number of lines printed on the console

-Adding an extra warning log statement that prints the number of large makers that have their weight constrained by tx_max_expected_probability
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant