tBTC: Vafrað um þverkeðju ráðið
darksnak#3681Við gerðum nýlega öryggismat á tBTC ritgerðarinnar: traust lágmarkað, innleysanlegt, Bitcoin-stutt ERC20 tákn. Verkefnið, sem notar Keep Network til að spanna Bitcoin og Ethereum, miðar að því að gera mögulegt nýtt þverhnýpt hagkerfi með því að leyfa notendum að eiga viðskipti við Ethereum með því að nota Bitcoin-studda ERC20. Skýrsla okkar er aðgengileg hér.
Það er ekki oft sem við fáum að fara yfir verkefni eins og tBTC. Eftir allt saman spannar tBTC nokkur kerfi: Bitcoin, Ethereum og Keep Network. Klárir samningar sem auðvelda alla þessa samvirkni eru ansi flóknir og krefjast skilnings á öllum þremur samskiptareglum. Þrátt fyrir að fyrri vinna okkar með Liquality og Atomic Loans sé svipuð að eðlisfari, setur gífurlegur kóðabasis tBTC það á annað stig.
Á meðan á yfirferð okkar stóð lærðum við mikið um þróun þverkeðjukerfa. Sérstaklega leiddu rannsóknir okkar á Bitcoin viðskiptum í ljós sérstaka áhugaverða takmörkun á sannprófun Bitcoin viðskipta á Ethereum. Við stækkum þessa niðurstöðu hér.
Hvað er SPV sönnun?
Í samhengi við Bitcoin er SPV sönnun notuð til að sanna tilvist viðskipta innan tiltekinnar blokkar. Einfaldlega er sönnunin pöruð Merkle sönnun með hashMerkleRoot Bitcoin blokkar til að sýna að viðskipti séu til innan reitsins:
Sönnunargögn sem þessi eru oft notuð vegna þess að þau eru tiltölulega reiknilega létt. Þessi eign er sérstaklega mikilvæg í samhengi við snjalla samninga sem mynda tBTC. Vegna þess að það keyrir á EVM (Ethereum Virtual Machine) er tBTC náttúrulega takmarkað af takmörkuðum reikningsauðlindum Ethereum.
Við skulum segja að við viljum sanna að einhver viðskipti séu til á Bitcoin. Fyrir þessa SPV sönnun þurfum við nokkur inntak:
1 Lokahaus á reitnum sem inniheldur færsluna
2 Hráu viðskiptin sjálf
3 Vísitala viðskiptanna (staða hennar í reitnum)
4 Merkle proof (listi yfir hnúta sem mynda „slóð“ frá viðskiptunum að Bitcoin haushaus)
Með því að nota þessi aðföng er mögulegt að sanna að viðskipti séu til í blokkinni, allt án þess að þurfa að tengjast Bitcoin hnút. Að því tilskildu að maður samþykki að tilgreindur Bitcoin haushaus er upprunninn frá lengstu vinnuvottunarkeðjunni, getur einföld greiðslusannprófun (SPV) farið fram hvar sem er, í hvaða tæki sem er.
Þverkeðjuleiðin
Við rannsókn á Bitcoin viðskiptum komumst við að grundvallar takmörkun SPV sönnunargagna sem gerðar voru á Ethereum: Bitcoin viðskiptastærð.
Bitcoin viðskipti eru aðallega takmörkuð af hámarks stærð Bitcoin blokkar sem er 4 MB. Þar að auki, vegna þess að SPV sönnun getur útilokað vitnisgögn, getum við minnkað fræðilega hámarks Bitcoin viðskiptastærð í 1 MB. Hins vegar, í okkar tilgangi, ákvarðast nákvæmlega efri mörkin ekki af Bitcoin blokkarstærðinni, vegna þess að það reynist í raun takmarkað af Ethereum blockchain.
Af hverju? Ólíkt Bitcoin eru viðskipti Ethereum takmörkuð af magni reiknivélar sem framkvæmd þeirra eyðir. Hver aðgerð sem gerð er krefst ákveðins magns bensíns og viðskipti geta ekki neytt meira bensíns en er í einni blokk. Þetta er vísað til sem gasmörk, sem þegar þetta er skrifað eru um 10 milljónir bensíns.
Til að skilja hvernig þetta jafngildir nokkurn veginn stærð Bitcoin viðskipta getum við notað skilgreiningu úr Ethereum gula pappírnum, Gtxdatanonzero, sem er bensínkostnaðurinn sem þarf fyrir hvert bæti gagna í viðskiptum. Gtxdatanonzero er 16 gas á bæti.
Þetta þýðir að hvert bæti í Bitcoin viðskiptum sem afhent er sem hluti af SPV sönnun eyðir 16 bensíni, að lágmarki. Athugaðu að það fylgir viðbótarkostnaður við að framkvæma SPV sönnun, en ég hunsa þá í þessu grófa mati.
Svo, hversu stór getur Bitcoin viðskipti orðið áður en það verður ómögulegt að framkvæma SPV sönnun á Ethereum? Svarið er loftgasmörk Ethereum deilt með Gtxdatanonzero:
(10.000.000 bensín) / (16 bensín á bæti) = 625.000 bæti, eða um 63% af 1 MB hámarks viðskiptastærð Bitcoin.
Hvað þýðir þetta fyrir tBTC?
Í tBTC þjónuðu SPV sönnun upphaflega tveimur tilgangi:
- Innstæðusannanir: leyfðu notendum að sanna að þeir hefðu rétt lagt fram BTC innborgun og komið af stað tBTC samningum til að losa samsvarandi ERC20 með stuðningi Bitcoin.
2. Svikasannanir: leyfðu notendum að sanna að BTC innistæðu hafi verið varið án heimildar af forsjá undirritunarhóps innstæðunnar, sem veldur því að undirritaður ristir og veitir innstæðueiganda skuldabréf.
Svikssannanir
SPV sönnunarsönnun gerði notendum kleift að vernda gegn illgjarnum undirrituðum. Ef undirritunarhópur vinnur saman þá geta þeir eytt innlánum BTC án sérstaks leyfis notandans. Með því að afhenda þessar óleyfilegu viðskipti við samninga tBTC gætu notendur sannað að eyðslan átti sér stað, refsað illgjarnum undirrituðum og tryggt að þeir fengju sanngjarna bætur fyrir tap á innistæðu sinni.
Hins vegar, með því að nota stærðartakmörkun Bitcoin, sem lýst er hér að ofan, gætu undirritaðir forðast þessa refsingu með því að eyða innborguninni í nógu stór viðskipti.
Sem betur fer voru SPV svikasannanir ein af tveimur svikasönnunaraðferðum sem voru útfærðar í tBTC. Önnur aðferðin, ECDSA svikssönnun, veitti miklu öflugri valkost við SPV svikasannanir. Fyrir vikið voru SPV svikasannanir fjarlægðar úr samningum tBTC.
Innstæðusannanir
Innstæðusannanir eru enn notaðar í tBTC þegar hver notandi fer inn í kerfið. Til þess að losa um ERC20 sem styður Bitcoin á Ethereum verða notendur að leggja fram SPV sönnun fyrir vel innborgun. Þrátt fyrir að stærðarmál Bitcoin viðskipta gefi ekki skýra aðferð til að misnota innlánarkerfið er mögulegt að notandi gæti fjármagnað innborgun með gildum BTC viðskiptum, aðeins til að komast að því að viðskipti þeirra eru of stór og ekki hægt að fullgilda innan tBTC samninganna .
Engin skýr leið er til að fjarlægja þessa ósjálfstæði; Sönnunargögn SPV verða að koma fram til að fullgilda innborgun. Sem betur fer er takmörkun á viðskiptastærð Bitcoin ekki svo alvarleg að hún komi í veg fyrir að tBTC virki að fullu; einföld eyðsla með einu inntaki og framleiðslu er vel innan marka núverandi blokkarmörk Ethereum. Svo lengi sem reynt er að tryggja að notendur séu nægilega meðvitaðir um þessa takmörkun ætti Bitcoin viðskiptastærð ekki að vera verulegt mál þegar fjármögnun innlána er háttað.
Hvað getur tBTC (og önnur þverkeðjuverkefni) gert til að tryggja að kerfi þeirra virki rétt?
Skilja frumreglur beggja keðjanna. Þegar þú notar Ethereum skaltu skilja hvar EVM fellur stutt í að endurtaka frumreglur annarra keðja. Krosskeðjuforrit brúa tvo heima, hvor með sitt tímakerfi, reglur og lúmskur gotchas.
- Árangursviðmiðun mun veita nokkra grunnlínu sem hægt er að mæla kerfið eftir. Til dæmis, í kjölfar umfjöllunar okkar um stærðarmál Bitcoin viðskipta, framkvæmdu ritgerðir nokkrar grunnviðmiðanir til að koma með nákvæmari takmarkanir fyrir SPV sannanir sínar.
Einingarpróf munu aldrei duga. Krosskeðjupappar hafa eðli málsins samkvæmt hreyfanlega hluti í öllum endum kerfisins. Til þess að tryggja að þessir hlutar vinni saman þurfa verktaki að fara út fyrir einfaldar einingarprófanir.
- Samþættingarprófanir munu hjálpa til við að afhjúpa ósamræmi í samspili einangraðra íhluta og veita líkan af kerfinu við nálægar raunverulegar aðstæður.
Búðu þig undir það versta. Með mikilli flækjustig fylgir mikil ábyrgð. Það er ekki raunhæft að bera kennsl á öll möguleg mál áður en hún er gefin út.
Viðbragðsáætlun: Að hafa áætlun til að bregðast við málum fljótt getur slæm áhrif alvarlegra vandamála. Að búa til bráðabirgðaáætlun fyrir sjósetningu gæti kallað á vinnu, en það er óendanlega betra en að vera óundirbúinn.
Að lokum skaltu fræða notendur þína. Að skilja hvar hlutirnir geta farið úrskeiðis er hluti af bardaga; næsta skref er að tryggja að notendur þínir deili skilningi þínum. Í því skyni setti Matt Luongo frá ritgerð nýlega upp langan þráð sem lýsir öryggismódeli og stjórnkerfi tBTC.
Uppfærsla 16. maí 2020: Þessi grein gaf upphaflega bensínverð 68 á bæti, sem síðan hefur verið uppfært, og nefndi ekki að hægt sé að útiloka vitnisgögn frá SPV sönnuninni. Þakka þér James Prestwich og Paul Vienhage fyrir leiðréttingarnar.