Członkostwo federacji i quorum DIA¶
Status dokumentu¶
| Pole | Wartość |
|---|---|
policy-id |
DIA-FED-001 |
typ |
Ustawa wykonawcza (Poziom 3 hierarchii normatywnej) |
wersja |
0.2.0-draft |
podstawa |
Art. VI.6, VII.10, XIII.6, XV, XVI Konstytucji DIA; ENTRENCHMENT-CLAUSE.md; NORMATIVE-HIERARCHY.md |
1. Cel dokumentu¶
Konstytucja i klauzula wieczności operują na pojęciu "federacji", ale bez operacyjnej definicji statusu federacji, prawa głosu i reguł quorum system pozostaje podatny na dwie patologie:
- deadlock przez martwe federacje - brak odpowiedzi jest mylony z realnym vetem,
- przejęcie sterowania (ang. capture) przez mnożenie fasadowych federacji - jeden ośrodek kontroli próbuje sztucznie zwiększyć liczbę głosów.
Niniejszy dokument definiuje minimalny model członkostwa federacyjnego, statusy federacji, kryteria aktywności, zasady liczenia quorum oraz reguły utraty prawa głosu i veta.
2. Zasady ogólne¶
- W ładzie międzyfederacyjnym (ang. governance) liczą się wyłącznie federacje uprawnione do głosu.
- Jedna aktywna federacja uprawniona do głosu = jeden głos. Kapitał, liczba węzłów, ruch, przychód, moc obliczeniowa ani pozycja infrastrukturalna nie zwiększają wagi głosu.
- Prawo głosu i veto wynika z żywej odpowiedzialności proceduralnej, a nie z historycznego faktu istnienia federacji.
- Sposób wypracowania stanowiska wewnątrz federacji jest sprawą lokalnej polityki, ale głos zewnętrzny MUSI pozostawiać ślad, właściciela procesu i podpis właściwej roli lub ról.
- Federacje pozostające pod wspólną kontrolą nie mogą mnożyć wpływu przez sam podział organizacyjny. W sprawach wysokiej stawki i konstytucyjnych są traktowane jako jeden blok głosujący, dopóki nie wykażą rzeczywistej niezależności proceduralnej.
- Członkostwo i sponsoring uczestników wewnątrz federacji są mechanizmami polityki wejścia. MOGĄ informować, kto uczestniczy w lokalnych procedurach federacji, ale NIE MOGĄ stać się skrótem omijającym reguły quorum, aktywności, wspólnej kontroli albo zawieszenia w porządku międzyfederacyjnym.
2.1. Operacyjne umocowanie zaufania¶
- Wspólny zakres zaufania federacji MUSI być reprezentowany przez proceduralnie
ustanowiony, wersjonowany i kryptograficznie weryfikowalny korzeń federacji.
Implementacja referencyjna Orbiplex wyraża go przez
federation-root.v1; inna implementacja MOŻE użyć semantycznie równoważnej reprezentacji wewnętrznej, jeżeli zachowuje niniejsze inwarianty oraz potrafi publikować i konsumować jawny, interoperacyjny kontrakt korzenia podlegający niezależnej weryfikacji. - Legitymacja korzenia wynika z przyjętej procedury ładu organizacyjnego (ang. governance) i polityki pieczy (ang. custody). Podpis kryptograficzny dowodzi integralności oraz autoryzacji określonej decyzji; sam nie dowodzi jej prawdziwości, słuszności ani zgodności z Konstytucją.
- Korzeń wskazuje suwerenne podmioty i reguły pieczy uprawnione do ustanawiania podstawowego ładu technicznego federacji. NIE JEST pełnym rejestrem członków, uniwersalnym rankingiem zaufania ani twierdzeniem, że każdy węzeł posiada klucze podmiotów korzenia.
- Autorytet wynikający z korzenia jest zakresowy. Węzeł lub usługa nie uzyskują nieograniczonego autorytetu przez pozycję infrastrukturalną, dostępność, moc obliczeniową, reputację techniczną ani poziom atestacji. Status oficjalnej usługi wymaga odrębnego, ograniczonego i odwoływalnego poświadczenia właściwego dla jej celu.
- Transport, wzajemna osiągalność, wspólny relay, serwer Matrix, wpis katalogowy albo zdolność routowania ruchu nie ustanawiają członkostwa, zaufania ani autorytetu federacyjnego.
- Identyfikator federacji sam w sobie nie jest dowodem tożsamości ani globalnym roszczeniem do nazwy. Przyjęcie federacji wiąże identyfikator z lokalnie zaakceptowanym korzeniem, jego suwerennymi podmiotami i śladem następstwa.
- Korzeń MUSI mieć audytowalną procedurę ustanowienia, rotacji, sukcesji, unieważnienia, odwołania od decyzji, ochrony przed cofnięciem wersji oraz wygaszenia. Poprawna rotacja korzenia nie tworzy nowej federacji, jeżeli ciągłość została wykazana zgodnie z obowiązującą procedurą.
- Każdy węzeł weryfikuje lokalnie, przy użyciu, podpisy, zakres, ważność, odwołania i właściwą politykę artefaktu. Korzeń jest punktem odniesienia dla tej weryfikacji, a nie substytutem weryfikacji.
3. Minimalny rekord federacji¶
Każda federacja uczestnicząca w ładzie międzyfederacyjnym (ang. governance) MUSI publikować co najmniej następujący rekord:
federation_record:
federation_id: "FED-[slug]"
federation_root_ref: "[URI lub odwołanie adresowane treścią]"
federation_root_digest: "[algorytm]:[digest]"
federation_root_pack_version: 1
status: "candidate" # candidate | active | dormant | suspended | retired
governance_endpoint: "[URI lub kanał odbioru decyzji formalnych]"
fallback_contact: "[kanał zapasowy]"
governance_keys: []
policy_refs: []
heartbeat_at: "[timestamp]"
last_notice_ack_at: "[timestamp]"
last_governance_action_at: "[timestamp]"
declared_common_control: []
effective_from: "[timestamp]"
owner_roles: []
status_reason: "[powód bieżącego statusu]"
signatures: []
Minimalny rekord federacji jest obiektem audytu. Brak aktualnego rekordu oznacza brak
podstaw do utrzymania statusu active.
federation_root_digest przypina dokładny artefakt korzenia wskazany przez rekord,
a federation_root_pack_version oznacza jego monotoniczną wersję operacyjną, nie
wersję schematu. Jest to nazwa projekcji w nadrzędnym federation_record, która bez
zmiany semantyki odwzorowuje pole pack_version wskazanego artefaktu
federation-root.v1; pole wewnątrz samego root-packa zachowuje nazwę
pack_version. governance_keys MOGĄ pokrywać się z kluczami pieczy korzenia, ale
nie są z nimi domyślnie utożsamiane: klucze głosowania i klucze ustanawiania korzenia
pełnią odrębne role. Sam rekord MUSI być podpisany przez właściwą rolę lub role
governance zgodnie z lokalną polityką federacji; podpis rekordu nie zastępuje
podpisów i weryfikacji wskazanego korzenia. Algorytm digestu jest jawnie oznaczony i
wynika z obowiązującego profilu kryptograficznego, zamiast być utrwalony w tym akcie.
4. Statusy federacji¶
| Status | Znaczenie | Prawo głosu | Prawo veta |
|---|---|---|---|
candidate |
Federacja zarejestrowana, interoperacyjna, w okresie wejścia lub próbnego działania | nie | nie |
active |
Federacja żywa proceduralnie i uprawniona do udziału w ładzie międzyfederacyjnym (ang. governance) | tak | tak, jeśli dana procedura je przewiduje |
dormant |
Federacja czasowo nieaktywna, nieodpowiadająca albo niespełniająca kryteriów aktywności | nie | nie |
suspended |
Federacja czasowo wyłączona z głosowań z powodu incydentu, środka tymczasowego (injunction) albo innej decyzji proceduralnej |
nie | nie |
retired |
Federacja wygaszona lub taka, która jawnie opuściła proces ładu międzyfederacyjnego (ang. governance) | nie | nie |
Status candidate, dormant, suspended i retired nie są karą ontologiczną:
federacja może nadal istnieć, routować ruch lub świadczyć usługi lokalne, ale nie
uczestniczy w międzyfederacyjnym liczeniu głosów, dopóki nie odzyska kwalifikacji.
5. Kryteria uzyskania i utrzymania statusu active¶
Federacja uzyskuje albo utrzymuje status active wyłącznie wtedy, gdy łącznie:
- publikuje aktualny, poprawnie podpisany rekord federacji,
- udostępnia wskazany w rekordzie aktualny korzeń federacji, którego podpisy, wersja, ciągłość i reguły pieczy są kryptograficznie weryfikowalne zgodnie z właściwą polityką przyjęcia,
- posiada działający
governance_endpointorazfallback_contact, - wysłała ważny heartbeat w oknie
heartbeat_ttl, - potwierdziła odbiór co najmniej jednego formalnego zawiadomienia lub wykonała
co najmniej jedną audytowalną czynność dotyczącą ładu organizacyjnego (ang.
governance) w oknie
activity_ttl, - nie jest objęta aktywnym zawieszeniem proceduralnym,
- nie pozostaje w nierozstrzygniętym sporze o wspólną kontrolę, który wymaga agregacji głosu z inną federacją.
Status candidate może zostać podniesiony do active po spełnieniu wszystkich
powyższych warunków oraz po zakończeniu okresu próbnego candidate_min_age.
6. Przejścia statusów¶
6.1. candidate -> active¶
Przejście następuje po:
- opublikowaniu minimalnego, poprawnie podpisanego rekordu federacji,
- przyjęciu i zweryfikowaniu wskazanego korzenia federacji,
- co najmniej jednym poprawnym heartbeat,
- co najmniej jednym potwierdzeniu odbioru formalnego zawiadomienia,
- upływie okresu próbnego.
6.2. active -> dormant¶
Przejście następuje automatycznie lub proceduralnie, gdy wystąpi przynajmniej jeden z warunków:
- heartbeat wygasł,
- federacja nie potwierdziła odbioru
missed_notice_limitkolejnych formalnych zawiadomień, governance_endpointifallback_contactsą niedostępne przez pełne okno zawiadomienia,- wskazany korzeń federacji jest niedostępny, nieweryfikowalny, cofnięty albo niespójny z rekordem i nie został naprawiony w oknie naprawczym,
- rekord federacji jest nieaktualny, niepodpisany, ma niepoprawny podpis albo jest niespójny i nie został naprawiony w oknie naprawczym.
6.3. active lub dormant -> suspended¶
Przejście następuje, gdy:
- istnieje aktywny środek tymczasowy lub
injunction, - zachodzi incydent bezpieczeństwa dotyczący kluczy
governance, - występuje twardy sygnał przejęcia sterowania (ang. capture), fałszywego przedstawienia tożsamości lub manipulacji procesem głosowania.
6.4. dormant lub suspended -> active¶
Reaktywacja wymaga:
- świeżego, poprawnie podpisanego rekordu federacji,
- aktualnego, przyjętego i zweryfikowanego korzenia federacji,
- świeżego heartbeat,
- potwierdzenia zdolności odbioru zawiadomień,
- usunięcia przyczyny zawieszenia albo dormancji,
- pozostawienia śladu reaktywacji z
reasonieffective_from.
6.5. dormant -> retired¶
Przejście następuje po przekroczeniu retired_after albo przez jawne oświadczenie o
wyjściu z ładu międzyfederacyjnego (ang. governance).
7. Federacja uprawniona do głosu¶
Na potrzeby liczenia quorum i veta federacją uprawnioną do głosu jest wyłącznie federacja, która:
- ma status
active, - znajduje się w migawce elektoratu utworzonej przy otwarciu danego procesu
decyzyjnego (
electorate_snapshot), - nie została zgrupowana z inną federacją do jednego bloku głosującego z powodu wspólnej kontroli.
Migawka elektoratu MUSI zawierać:
electorate_snapshot:
decision_id: "[identyfikator procesu]"
created_at: "[timestamp]"
eligible_federations: []
grouped_blocks: []
quorum_base: 0
decision_class: "ordinary" # ordinary | high_stake | entrenched_core
Po utworzeniu migawki baza quorum dla danego procesu nie zmienia się. Zmiany statusu federacji wpływają na kolejne procesy, nie przeliczają wstecz procesu już otwartego.
8. Klasy decyzji i quorum¶
8.1. Zasada podstawowa¶
Milczenie nie jest głosem. abstain liczy się do quorum, ale nie do większości
yes/no, chyba że dana procedura stanowi inaczej.
8.2. Klasy decyzji¶
| Klasa decyzji | Quorum | Warunek przyjęcia |
|---|---|---|
ordinary |
co najmniej floor(N/2) + 1 bloków głosujących z migawki |
więcej yes niż no |
high_stake |
co najmniej ceil(2N/3) bloków głosujących z migawki |
co najmniej ceil(2N/3) jawnych głosów yes |
entrenched_core |
N z N bloków głosujących z migawki |
każde uprawnione active musi oddać jawne yes; no, abstain albo milczenie oznacza brak zgody |
Interpretacja:
Noznacza liczbę bloków głosujących w migawce elektoratu,- blok głosujący może reprezentować jedną federację albo grupę federacji objętych zasadą wspólnej kontroli,
- jeżeli
N = 0, proces międzyfederacyjny nie może zostać otwarty, - dokument nie znosi dodatkowych wymogów z
ENTRENCHMENT-CLAUSE.md; jedynie definiuje, kto liczy się do jednomyślności.
9. Timeouty i parametry minimalne¶
Poniższe parametry są domyślne i mogą być zaostrzane przez federacje, ale nie mogą być osłabiane poniżej wskazanego minimum:
| Parametr | Domyślnie | Minimum / maksimum |
|---|---|---|
heartbeat_ttl |
30 dni | max 45 dni |
activity_ttl |
90 dni | max 120 dni |
candidate_min_age |
30 dni | min 14 dni |
missed_notice_limit |
2 | min 2 |
notice_window |
7 dni | min 72 godziny |
ordinary_vote_window |
14 dni | min 7 dni |
high_stake_vote_window |
30 dni | min 14 dni |
retired_after |
180 dni | min 90 dni |
Federacja może być ostrożniejsza, ale nie może utrzymywać "aktywnych" federacji bez heartbeat przez pół roku ani skracać okresu wejścia do zera.
10. Utrata prawa veta przez martwą federację¶
- Federacja nieposiadająca statusu
activew chwili tworzenia migawki elektoratu nie ma prawa veta. - Federacja, która utraciła status
active, nie blokuje kolejnych procesów konstytucyjnych ani zwykłych tylko dlatego, że historycznie należała do federacji. - Federacja, która milczy w procesie wymagającym jednomyślności, może zablokować
ten konkretny proces, jeśli była
activew migawce, ale po przekroczeniumissed_notice_limitprzechodzi dodormanti traci veto w procesach kolejnych. - Jawne wyjście z ładu międzyfederacyjnego (ang. governance) działa natychmiast na
przyszłość: federacja przechodzi do
retiredi nie jest już liczona do quorum.
Zasada jest prosta: veto przysługuje żywej odpowiedzialności, nie cieniowi po niej.
11. Wspólna kontrola i mnożenie głosów¶
Za sygnały wspólnej kontroli uważa się co najmniej:
- wspólny klucz
governance, - tę samą dominującą rolę decyzyjną,
- to samo źródło finansowania lub ten sam podmiot zdolny jednostronnie wymuszać decyzje,
- brak realnej separacji śladu, odpowiedzialności i procedury odwoławczej.
Jeżeli istnieje wiarygodny spór o wspólną kontrolę:
- federacje są tymczasowo grupowane do jednego bloku głosującego w sprawach
high_stakeientrenched_core, - spór jest śledzony jako problem domniemania konfliktu interesów przy braku danych (COI-by-default),
- przywrócenie osobnych głosów wymaga wykazania odrębności proceduralnej.
Ta reguła nie służy budowie centrum. Służy temu, by kapitał lub aparat organizacyjny nie mógł kupić sobie dodatkowych głosów przez mnożenie fasad.
12. Relacja z innymi dokumentami¶
- Konstytucja Art. VI.6 i VII.10: dokument operacjonalizuje federacyjny wzrost bez utraty lokalnej autonomii oraz skalowanie przez lokalną odpowiedzialność.
- Konstytucja Art. XIII.6: statusy federacji implementują procedury wygaszenia, przekazania i archiwizacji.
- Konstytucja Art. XVI: dokument definiuje bazę quorum i uczestników procesów zmiany oraz egzekwowania.
ENTRENCHMENT-CLAUSE.md: dokument doprecyzowuje, które federacje liczą się do jednomyślności i veta.NORMATIVE-HIERARCHY.md: polityka członkostwa federacji i quorum jest dokumentem Poziomu 3.- Proposal 076 i Solution 041: definiują bieżące odwzorowanie wykonawcze korzenia federacji i selektora sieciowego w Orbiplex. Ich schemy i mechanizmy implementują niniejszy akt, ale nie są źródłem jego normatywnej legitymacji i nie mogą osłabiać określonych tutaj zabezpieczeń.