code wiki / (root) / nx_commons_sybilcost.nx

nx_commons_sybilcost.nx

buildroot/runtime/nx_commons_sybilcost.nx

4113 B73 linesdepth 2pulls 2 transitivereach 1 importersview sourcekind librarytopic commons
docsdependenciesstructsconstsfunctions

about

nx_commons_sybilcost.nx -- what does an attack actually COST? The sybil bound, measured. WHY THIS EXISTS: every layer built today claims sybil resistance, and a claim is not a bound. "The ring collapses because it cannot manufacture witnesses" is an ASSERTION until someone states the quantity an attacker must spend and shows it does not shrink as the attack grows. ★ SYBIL-RESISTANT IS NOT A PROPERTY, IT IS A PRICE. Name the price or you have said nothing. KNOWN GOOD: the trust-flow bound (Advogato's metric; SybilGuard / SybilLimit). Its theorem is the one useful result in this area and it is counter-intuitive enough to be worth stating plainly: an attacker's total influence is bounded by the number of ATTACK EDGES -- honest members who vouch for a sybil -- and is INDEPENDENT of how many sybils the attacker creates. Minting identities is free; being vouched for by someone honest is not. So the cost scales with the only thing the attacker cannot manufacture: other people's genuine regard. NOTE ON SCOPE, because it is the honest half: there is no in-estate known good for proof-of- personhood, and I looked -- nx_realperson is CONTENT SAFETY about real people (NCII, defamation, right of publicity), not "is this account a human". I inferred otherwise from its NAME and was wrong. Nor is there a good global answer: biometric uniqueness centralises and builds a honeypot, government ID excludes the undocumented and is best-held by exactly the class we are excluding. ★ BUT FOR A BOUNDED NEIGHBOUR COMMONS, PERSONHOOD IS THE EASY CASE, NOT THE HARD ONE -- neighbours physically know each other, and the witness layer already built IS the mechanism. This organ does not add a new check; it PRICES the one we have. Integer only. license_tier: ORIGINAL No hw writes (Rule 26).

dependencies 1 imports · 1 importers

nx_syscalls.nx nx_commons_sybilcost.nx nx_commons_sybilcost_gate.nx

imports: nx_syscalls.nx

imported by: nx_commons_sybilcost_gate.nx

structs

none

consts

27const SC_PERMIL: i64 = 1000

functions

32func sc_standing_naive(n_sybils: i64, vouches_each: i64, unit: i64) -> i64
called by 1: main
43func sc_standing_flowbound(caps: *i64, n_attack: i64) -> i64
called by 2: sc_per_sybilmain
56func sc_per_sybil(caps: *i64, n_attack: i64, n_sybils: i64) -> i64
called by 1: main calls 1: sc_standing_flowbound
63func sc_cost_permil(n_attack: i64, standing: i64) -> i64
called by 1: main
70func sc_honest_unchanged(before: i64, after: i64) -> i64
called by 1: main