Suntem AIONICA Security Lab. Audităm un protocol ROSCA (cutie de economii rotative) pe blockchain. Trebuie să rezolvăm două conflicte de design înainte de a continua dezvoltarea.

CONTEXTE DE BAZĂ

Un cerc are N membri. Fiecare ciclu toți contribuie cu 100 $. Fondul este predat unei persoane diferite în fiecare ciclu până când toți primesc banii. Există un Fond de Garantare finanțat prin membri opționali care acoperă victimele neplății.

CONFLICT 1 — Atacul de complot

Dacă 2 sau 3 membri se pun de acord să nu plătească în ultimele cicluri, banii acumulați nu se distribuie normal. Contractul actual caută un recipient alternativ — dacă nu există candidați ulteriori, predă fondul cuiva care a încasat deja înainte.

Întrebări:

Cum ar trebui să fie distribuit fondul unui ciclu în care grupul refuză să plătească?

Protocolul ar trebui să penalizeze grupul complet sau doar pe cei care nu au plătit?

CONFLICT 2 — Restituirea la închidere

La închiderea cercului, un membru care a plătit dar nu a încasat niciodată are dreptul să recupereze ceea ce a contribuit. Dacă de asemenea are datorii înregistrate din neplăți anterioare, ce face contractul?

Opțiunea A: Îi restituie tot și lasă datoria restantă pentru a fi plătită mai târziu.

Opțiunea B: Scade automat datoria din restituire și o lichidează prin fluxul corect (20% echipă, 80% fond de garantare).

Întrebări:

Care opțiune este mai corectă pentru utilizator?

Care protejează mai bine lichiditatea fondului?

Există o a treia opțiune pe care nu am considerat-o?

INFORMAȚIE IMPORTANTĂ

Sistemul are un scor permanent. Neplățile nu dispar niciodată din istoric, chiar dacă datoria este plătită. Utilizatorul reabilitat poate intra în noi cercuri, dar cu o poziție mai joasă.

Așteptăm analize economice și de stimulente, nu cod.