Preskočite na vsebino
Predstavitveni projektBlockchain in Web3
  • 223 testov
  • 100 % pokritost
  • analiza Slither

Milestone Escrow

Escrow po mejnikih za freelance in agencijsko delo, v ETH ali katerem koli standardnem tokenu ERC-20

Solidity 0.8.28OpenZeppelin v5ETH / ERC-20Foundry

Kaj je to

MilestoneEscrow je ena sama on-chain escrow pogodba, ki hrani poljubno število med seboj neodvisnih poslov. Naročnik ob ustvarjanju posla vplača celoten proračun, razdeljen na največ 50 mejnikov, zato freelancer še pred začetkom dela vidi, da je denar zagotovljen.

Sredstva se premaknejo le, ko naročnik sprosti mejnik, ko nevtralni arbiter reši spor in nesproščena sredstva razdeli v bazičnih točkah ali ko je posel odpovedan in naročnik dobi denar nazaj. Majhna provizija protokola (trdo omejena na 5 % in zabeležena za vsak posel posebej) se odšteje od izplačil freelancerju; vračila niso nikoli obremenjena s provizijo.

Poslovni problem

Delo na daljavo med strankama, ki se ne poznata, trči ob vrzel v zaupanju: naročniki nočejo plačati vnaprej, freelancerji nočejo oddati dela, preden so plačani. Platforme to vrzel zapolnijo, vendar zaračunavajo občutne provizije, lahko zamrznejo račune in o sporih odločajo na način, ki ga stranki ne vidita.

Kako deluje

  1. 1

    Ustvarjanje: naročnik pokliče createJob(freelancer, arbiter, token, amounts[]) in vplača celoten znesek v ETH ali tokenu ERC-20. Trenutna provizija se zabeleži v posel.

  2. 2

    Oddaja: freelancer pokliče requestRelease(jobId, i) in s tem sporoči, da je mejnik i končan.

  3. 3

    Sprostitev: naročnik pokliče releaseMilestone(jobId, i). Freelancer prejme znesek, zmanjšan za provizijo; ko so sproščeni vsi mejniki, je posel zaključen.

  4. 4

    Spor (neobvezno): katera koli stranka sproži spor, kar posel zamrzne. Arbiter vsak nesproščeni mejnik razdeli med freelancerja in naročnika v bazičnih točkah.

  5. 5

    Odpoved (neobvezno): naročnik lahko posel odpove s polnim vračilom, dokler ni bilo zahtevano ali sproščeno nobeno delo; arbiter ga lahko odpove, dokler je posel odprt.

Varnostni ukrepi

  • nonReentrant na vsaki funkciji, ki premika vrednost; stanje je dokončano pred zunanjimi klici (checks-effects-interactions)
  • Izplačila ETH, odporna proti griefingu: neuspela push plačila se knjižijo v dobro za poznejši dvig
  • Tokeni s provizijo ob prenosu (fee-on-transfer) so zavrnjeni s preverjanjem stanja pred prenosom in po njem
  • Zgornja meja provizije (5 %) in provizija, zabeležena za vsak posel posebej: lastnik ne more zvišati provizij za že financirane posle
  • Omejene zanke (največ 50 mejnikov) in tri ločene vloge
  • Ownable2Step; administrator se sredstev poslov nikoli ne more dotakniti
  • Invarianta solventnosti, preverjena s fuzzingom: stanje pogodbe je enako vsoti nesproščenih mejnikov

Funkcije

  • Poljubno število poslov v eni pogodbi
  • Financiranje v ETH ali tokenu ERC-20
  • Do 50 mejnikov na posel
  • Zahteve za sprostitev in spori z arbitrovo delitvijo v bazičnih točkah
  • Odpoved in vračilo
  • Zabeležena provizija protokola, omejena na 5 %

Tipični primeri uporabe

  • Freelance tržnice in agencijske platforme z neskrbniškimi plačili
  • B2B pogodbe o storitvah z obračunom po mejnikih
  • Programi nepovratnih sredstev z izplačili v tranšah in komisijo v vlogi arbitra

Znane omejitve

Arbitru se zaupa, da je nevtralen; v produkciji je to multisig, DAO ali decentralizirano sodišče. Rebasing tokeni niso podprti.

Druge predstavitvene pogodbe

Predstavitveni

Token + Vesting + Staking

ERC-20 z zgornjo mejo in odobritvami brez stroškov gasa, načrti vestinga s cliffom za ekipo in vlagatelje ter nagrade za staking po vzoru Synthetixa.

ERC-20EIP-2612OpenZeppelin v5

223 testov · 100 % pokritost · analiza Slither

Predstavitveni

SigmaNFT Collection

Pošteno lansiranje NFT-jev: faza allowlist in javna faza, omejitve na denarnico, nespremenljiva največja količina, licenčnine ERC-2981 in zakasnjeno razkritje.

ERC-721ERC-2981Merkle proofs

223 testov · 100 % pokritost · analiza Slither

Predstavitveni

Gold-Backed Token (RWA)

Kritje postane pogoj za kovanje: tokene je mogoče kovati le, če sporočena zlata rezerva pokriva novo skupno količino.

ERC-20AccessControlProof of reserve

223 testov · 100 % pokritost · analiza Slither

Standardi: Solidity 0.8.x, OpenZeppelin, testi Foundry s fuzzingom, statična analiza Slither, verificirana izvorna koda. 223 testov · 100 % pokritost · analiza Slither.

Imate v mislih projekt?

Povejte nam, kaj razvijate. Senior inženir odgovori v 24 urah ob delovnih dneh, v nekaj delovnih dneh pa prejmete iskreno oceno, jasen obseg in ponudbo s fiksno ceno ali po mejnikih.

Bi raje najprej pisali? Pišite nam

Vaš sogovornik: Ing. Ismet Mesic, Tehnični vodja.