(See artikkel sisaldab mõnda materjali, mis avaldati algselt 2019. aastal IOV Labsi RSK ajaveeb)
Bitcoini turvalisus sõltub kaevurite majanduslikest stiimulitest, et laiendada „raskeimat ahelat”, mis on enim kogunenud raskustega kett (tavaliselt pikim). Praegu pakub neid stiimuleid plokipreemia, mis koosneb plokitoetusest ja tehingutasudest. Kuid toetus (praegu 6.25 BTC) on oluliselt kõrgem kui keskmised tehingutasud ploki kohta (praegu 0.25 BTC). Bitcoini subsiidium väheneb poole võrra iga 4 aasta järel ja ilma pöördvõrdelise BTC hinnatõusuta nihkub kaevandamise peamine stiimul plokitoetuselt blokeeritud tehingutasudele. Praeguse turvaeelarve säilitamiseks peaksid tehingukulud kasvama 25 korda. On liiga vara öelda, kas see muutub Bitcoini jaoks kunagi probleemiks. Võimalik, et Bitcoin peab uue madala subsiidiumi ajastuga kohanemiseks pehme või kõva kahvliga kohanema. 2014. aastal näitasin, kuidas Bitcoin võib muutuda ebastabiilseks, kui esitasin (peamiselt teoreetilise) Eesrünnak. Carlsten et al. (2016) analüüsitud seda probleemi põhjalikult, kuid nad ei leidnud rahuldavat lahendust. See pole mitte ainult Bitcoini probleem, vaid sellega peavad silmitsi seisma kõik krüptovaluutad, mille rahaemissioon aja jooksul väheneb.
Kuid me ei pea praegu Bitcoini pärast muretsema. Bitcoini kogukonnal võib olla vaja see probleem lahendada 10 või 20 aasta pärast või võib-olla mitte kunagi. Aeg-ajalt on probleem uuesti läbi vaadatud, analüüsidega nii esiletõstmine ja minimeerimine probleem. Kuid kui analüüsime Bitcoini külgahelaid, näiteks RSK-d, on probleem üsna reaalne.
2019. aastal mainis Blockstreami tegevjuht Adam Back silumine Bitcoini pikaajalise turvaeelarve üle arutledes: "Teised pikemaajalised madala subsiidiumi ajastu ideed hõlmavad tasude keskmistamist plokkide intervallide lõikes, et tasude tulu sujuvaks muuta."
https://twitter.com/adam3us/status/1097031151921713152
Täpselt seda ideed, tasude tulude tasandamist, rakendab RSK alates 2016. aastast. Kuid enne kui selgitame, kuidas RSK tegeleb kõrgete tasudega tehingutega, näitame üksikasjalikumalt kolme peamist ploki ümberpööramise rünnakut, mida tehingutasud võivad vallandada: tasude sniping. , vaalatehingud ja kaevandamise pihustamine.
Kui plokitoetus on väike ja tehingutasud viimases kaevandatud plokis on palju suuremad kui tasud, mida saab koguda mempoolis tehtavatelt tehingutelt, on lühiajalised ratsionaalsed kaevurid motiveeritud haarama tehinguid viimasest kaevandatud plokist ja kaevandama konkureeriv. selle pikendamise asemel. See on kõrvalekalle Nakamoto konsensusest ja seda nimetatakse Tasu snaipimine. Definitsiooni järgi on selline kõrvalekalle rünnak protokolli vastu ja kaevandajat peetakse pahatahtlikuks osapooleks. Kahmatud tehingutasude rahaks saamiseks peab pahatahtlik kaevur kaevandama ausast kettist kiiremini ühe täiendava kinnitusploki, et ülejäänud kaevurid tema ketile lülituksid. Seetõttu ei ole tasude nuhkimine alati tulus, sest pahatahtlik kaevur riskib oma hasraati raisata, kui tema isekas kahvel ei ületa ausat ahelat. Harv tasude snipimine ei pruugi olla probleem, kuid kui kaevurid muudavad oma konsensuskoodi, et saada kasu kõigist olemasolevatest harudest, siis võib võrk kokku puutuda ohtlikumate rünnakutega.
Kui kaevurite sõlmed sooritavad automaatse tasu snaipimise, saab ründaja seda olukorda ära kasutada topeltkulu rünnaku sooritamiseks. Pahatahtlik kaevandaja võib kulutada münte ausas ahelas ja saada vastutasuks veel ühe välise vara ning hiljem hargneda ausa keti plokki enne esimest. Pahatahtlikus kahvlis kulutab ründaja münte topelt, kuid tutvustab ka eristavat funktsiooni (st ainulaadset UTXO-d), mida ausas kahvlis ei tohi eksisteerida. Kohe pärast seda edastab ründaja a "vaala" tehing mis kasutab seda funktsiooni (st tarbib seda UTXO-d) ja pakub ebatavaliselt kõrget tehingutasu söödana (või altkäemaksuna) kaevuritele, kes kasutavad tasu snippimise koodi. Kui mõistet "vaalatehing" võib mõista kui tehingut, millega kantakse üle suur väärtus, siis siin kasutame viidatud dokumendis toodud määratlust kui tehingut, mille eest makstakse kõrgeid tasusid, olenemata ülekantava väärtuse suurusest. Bitcoinis tuleks vaalatehing ja pahatahtlikud kahvliplokid saata otse kaevurite sõlmedesse, kuna mitte-parimaid kahvleid ei edastata peer-to-peer võrgu täissõlmed. Paljudel nutikatel lepinguplatvormidel on rünnak palju lihtsam, kuna need edastavad mitte-parimaid kahvleid. Ka nutikate lepingute platvormidel on vaalatehingu loomine lihtsam: ründaja saab ausas ahelas juba kasutatud nonce’i uuesti kasutada, takistades sellega vaalatehingu kaasamist ausasse ahelasse. Teise võimalusena võib vaalatehing täita lepingu, mis kontrollib, kas eelmine ploki räsi vastab ploki räsi, mis eksisteerib ainult isekas kahvlis (st kasutades BLOCKHASH opkoodi) ja maksab altkäemaksu ainult iseka kahvli pealt.
Kui kaevurid avastavad vaalatehingu, võivad nad kaaluda pahatahtliku kahvli pikendamist, isegi kui nad jäävad maha, kui altkäemaks on piisavalt suur, pannes kihla, et see ületab pikema ausa ahela. Ilma nutikate lepinguteta on parim ründestrateegia edastada samaaegselt vaalatehingud, mis annavad altkäemaksu järgmistele kaevujatele, et nad jätkaksid pahatahtliku kahvli laiendamist. Bitcoinis saab tehinguid aheldada KONTROLLLUKK KINNITA or KONTROLLI JÄRJESTUS KONTROLLI. Nutikate lepingute platvormides saab seda teha kas nonceside taaskasutamise või lepingukõnede kaudu. Isegi kui see pole automatiseeritud, saab ründaja jätkata vaalatehingute genereerimist pahatahtlikus hargis, kuni see ausast ahelast mööda saab.
Vaalatehingu rünnakus leidsime, et kaevurid peavad dünaamiliselt üle minema keerulisele kaevandamisstrateegiale, et võtta vastu altkäemaksu, mis põhinevad kahvlivõidu tõenäosustel. Võime realistlikumalt mõelda, et kaevurid kasutavad lihtsamat strateegiat, mis ei arvesta tulevaste altkäemaksudega, vaid ainult omakasupüüdliku tasu snaipimisega. Kui see on enamiku kaevurite strateegia, on uus rünnak võimalik. Kaevurite pihustamise rünnak on kogu võrku hõlmav teenuse keelamise rünnak, mis püüab meelitada kõiki kaevureid samaaegselt isekatel kahvlitel töötama, vähendades seega ausa ahela kiirust ja lähenemist. Rünnak algab väga kõrgete tasudega tehingu edastamisega, mis sarnaneb tasu snipping rünnakule või vaalatehingu rünnakule. Selle tehingu eesmärk ei ole aidata kahekordselt kulutada, vaid see on sööt, mille eesmärk on kaevandusvõrku pihustada. Näitame rünnakut näitega. Oletame, et tehing T plokis kõrgusel N maksab 100 münti tasu, kuid keskmine ploki tasu on vaid 10 münti. Eeldame, et kõik kaevurite sõlmed on programmeeritud järgima seda ratsionaalset strateegiat:
- Kui T sisaldub ausa ahela mõnes viimases K plokkis, haarake tehingust T ja proovige kaevandada konkureeriv plokk kõrgusel N, seejärel kaevandage selle iseka kahvli alamplokke, kuni see ületab ausa ahela.
- Kui aus kett edestab isekast kahvlit rohkem kui K ploki võrra, loobuge.
Kõrge tasuga pahatahtlik tehing pihustab kaevandamise suurema kaevanduskogumi kasuks, millel on kõige suurem võimalus kaevandada tehing T pluss piisavalt täiendavaid isekaid kinnitusplokke, et ülejäänud kaevandajad loobuksid. Huvitav on see, et mida detsentraliseeritum on kaevandusvõrk, seda hullemad on tehingu T põhjustatud häired. Näiteks 10-minutilise keskmise plokiintervalliga plokiahela puhul, kui 100 kaevurit oleks igaühel 1% kogu räsiraadist, kannataks võrk mitme ploki jooksul 100-kordset aeglustumist, kuni see lõpuks koondub. Võrk oleks 2 päeva kasutuskõlbmatu!
RSK on a puhas Bitcoini külgahel, seega pidi ta selle loomisest peale seisma silmitsi väljakutsega kindlustada plokiahela turvalisus eelarvega, mis koosneb ainult tehingutasudest. Seetõttu pidi RSK olema valmis ebatavaliselt kõrgeteks või madalateks tasudeks. RSK oli esimene tootmisvalmis külgahel ja see kasutab konsensuse saavutamiseks ühendamist. Praegu on enam kui 40% Bitcoini kaevuritest liit-kaevandus RSK.
RSK kaevurid ootavad RSK täissõlmede käitamise eest majanduslikku hüvitist. Enamik plokiahelaid annab selle hüvitise eest välja uusi münte. Mõned teised hajutatud pearaamatud, näiteks Ripple, ei emiteeri münte plokitootjatele maksmiseks, kuid plokitootjaid saab väliselt subsideerida. XRP-sid eelkaevandanud Ripple Labsil on neid nii palju, et nad saavad XRP-s hüvitist pakkuda kolmandatele osapooltele, et nad saaksid plokitootjateks. RSK seevastu seisab silmitsi kõige karmimate tingimustega: sellel ei ole müntide emissiooni (nagu Bitcoin) ega mündipremiini (nagu XRP). RSK on edukas näide Bitcoini külgahelast, pilguheit deflatsiooniga plokiahelate konsensuse tulevikust ja sellest, kuidas subsiidiumita plokiahel võib olla jätkusuutlik. Subsiidiumi puudumine tähendab aga seda, et külgahel tuleb hoolikalt kavandada siin esitatud rünnakute vastu. RSK rakendab mitmeid unikaalseid funktsioone, et olla turvalisem kõrgete tasudega tehingutel põhinevate plokiahela ümberkorralduste vastu:
- Block preemia silumine (nimetatakse ka tasu silumiseks).
- Preemia jagamise blokeerimine
- Kahvliteadlik liitkaevandamine
Järgmistes osades tutvustame lühidalt iga tehnikat.
Tasude silumine on konsensuse reegel, mis jaotab tehingutasud kaevurite vahel egalitaarsemal viisil. See maksab igale kaevandajale eelmise ploki preemia funktsiooni. Funktsioon võib olla lineaarne või mittelineaarne, põhinedes väikesel arvul eelnevatel plokipreemiatel või olekul, mis sõltub kõigist eelmistest plokkidest. Lihtsaim konstruktsioon on kasutada kogunenud tasude peal mingit madalpääsfiltrit. RSK kasutab silumisfunktsiooni, mis on väga lihtne, an IIR koos a = 0.1. Kui RSK kaevur lahendab ploki kõrgusel N, hüvitatakse kaevandajale 10% ploki N tehingutasudest ja 10% kõigist varem kogunenud tasumata kaevandustasudest. Teisisõnu on olemas "jagatud" kaevurite konto, kus iga ploki juures paneb võitnud kaevandaja tehingutasud sisse ja võtab 10% enda eest välja.
Preemiate silumine suurendab stiimulit plokiahela pikendamiseks, võrreldes varasema ploki uuesti kaevandamise stiimuliga, et saada kinni selle makstud tasud, sest kaevandaja saab kinni võtta vaid 10% vaalatehingu tasudest. Toome välja eelmise näite. Eeldame, et ploki keskmine preemia on 10 münti ja plokk sisaldab 100-mündilist altkäemaksu kõrgusel N. RSK-s maksaks plokk kõrgusel N 19 münti, järgmise ploki eest aga 18.1 münti. Isekas kaevur vajab nüüd 10 korda rohkem räsivõimsust kui ükski teine kaevur, et rünnak oleks tulus.
Näitame nüüd teisi täiendavaid kaitsemeetmeid.
RSK rakendab preemiate jagamise konsensusprotokolli nimega DECOR. DECOR jagab plokipreemiad võrdselt õdede-vendade vahel, kui aus kett viitab nendele plokkide päistele. DECOR vähendab pihustusrünnaku stiimulit, sest kõrge tasu tehingu võitja peab jagama tasu veel 10 kaevuriga, kes tootsid õdede-vendade plokke. Selle põhjuseks on asjaolu, et plokiahela plokis võib olla kuni 10 plokk-venna viidet ja protokoll DECOR jagab plokipreemia nende kõigi vahel. Jagamise vältimiseks peaks kaevur kaevandama veel 10 isekast plokki, vältides onu viiteid, vähendades oluliselt tema eduvõimalusi. Arvestades preemia jagamist koos tasude silumisega, peab RSK võrgu häirimise katse õnnestumiseks olema altkäemaksu summa keskmisest plokipreemiast vähemalt 110 korda suurem.
Kahvliteadlik ühendatud kaevandamine on ühendatud kaevandamise variant, mis võimaldab kasutajatel jälgida põhivõrku (nt Bitcoin) külgahela võrgu pahatahtlike kahvlite (nt RSK) suhtes. Vaalatehingu rünnakust kasu saamiseks peab ründaja leidma ohvri, kellele topelt kulutada. See ohver oleks tõenäoliselt veebipõhine krüptovahetus. Krüptovahetused ootavad enne sissemakse vastuvõtmist mitusada ploki kinnitust, mis on piisav aeg RSK Armadillo süsteem pahatahtliku kahvli eelnevalt tuvastamiseks ja vahetuse hoiatamiseks. Tasude snaipimise ja kaevurite pihustamise rünnakute puhul on pahatahtlikud hargid lühikesed ja seetõttu saab Armadillot kasutada vaid vahendina olukorra diagnoosimiseks ja ausast protokollist kõrvalekalduvate basseinide tuvastamiseks, kuid see ei suuda rünnakut ära hoida.
Teine täiendav kaitsemeede, mida RSK praegu ei rakenda, on gaasi tehinguhinna piiramine minimaalse gaasihinna kordsega (st 10-kordne vahe). Pakkusin välja võrreldava meetme Bitcoini jaoks 2013. RSK saaks seda hõlpsalt rakendada, kuna iga plokk reklaamib aktsepteeritud gaasi minimaalset tehinguhinda. Gaasi maksimumhinna määramine ei lahenda aga probleemi täielikult, kui võrk on seisus, kus plokid ei tarbi kogu plokis saadaolevat gaasilimiiti. Kõrge tehingutasu T-s võib tuleneda kõrgema gaasihinna asemel tarbitud gaasi suuremast kogusest (makstud tasu on nende kahe summa korrutis).
Preemiate silumine ei ole parim lahendus, kuna ründajad saavad selleks kasutada nutika lepingu platvormi Altkäemaksu andmine kaevurid tegema peaaegu kõike. aastal esitlesin teoreetilist “Eternal Choice for the Dark Side Attack” (ehk ECDSA :) ). 2014, et näidata, kuidas kaevureid saab altkäemaksu anda, et nad ausast käitumisest kõrvale kalduksid. McCorry el at. (2018) esitas laia valikut teoreetilisi altkäemaksurünnakuid. Arusaadavuse ja ettevalmistuse tase, mis on vajalik nutikatel lepingutel põhinevate altkäemaksude vastuvõtmiseks, on aga märkimisväärne. See muudab nutikatel lepingutel põhinevate altkäemaksurünnakute toimepanemise palju raskemaks. Kaevur peab olema altkäemaksulepingust teadlik ja mõistma, kuidas sellega suhelda. Seda tüüpi rünnak on aga vältimatu: kui platvorm suudab sooritada makse praegusele plokikaevandajale, siis saab ta täita ka nutika lepingu, mis maksab samale kaevandajale. Selle põhjuseks on asjaolu, et programmeerimiskeel, mis kirjeldab protokolli konsensust, ja see, mida kasutavad nutikad lepingud, on mõlemad "Turingi-täielikud". See on huvitav teoreetiline probleem.
Altkäemaksu maksmise keerulisemaks muutmiseks võib välja mõelda nutikaid nippe, näiteks sundida kaevurite aadressid olema erilised (s.o ühekordseks kasutamiseks), nii et altkäemaksulepinguga ei saa kaevandajale tasuda. Turingi täielik nutika lepingu platvorm ei saa aga takistada makse sooritamist osapoolelt, kes on nõus maksma teisele osapoolele, kes soovib maksta. Koostame alati eduka altkäemaksu targa lepingu, mis väldib kaitset. Näiteks võib pahatahtlik kaevandaja luua nullteadmiste tõendi, mis tõendab lepingu konkreetse kaevandaja aadressi kontrollimist, ilma privaatvõtit avaldamata. Kaevandaja saadaks selle tõendi altkäemaksulepingule koos alternatiivse altkäemaksu saamise aadressiga.
Ei piisa, kui piirata plokiahela nutikate lepingute keelevõimalusi, mille kaevujatele altkäemaksu antakse, kuna kaevujatele altkäemaksu maksmiseks saab kasutada mis tahes teist Turingi täielikku nutika lepingu platvormi. Platvorm peab käivitama ainult plokipäise relee (st btcrelay). Näiteks võib RSK-d ja Ethereumit kasutada Bitcoini kaevandajatele altkäemaksu maksmiseks. Sillatud plokiahela rünnaku koordineerimine on aga raskem.
Üks võimalik kaitse altkäemaksu rünnakute vastu on kasutada PoS-i konsensusprotokolli varianti, mis nõuab, et enamik plokitootjaid allkirjastaks plokkide, ja nõuab ka müntide tagatisraha (panus) kuuks ajaks. Kahtlustavad (toodavad kaks vastandlikku plokki või vastandlike kahvlite laiendusi) kaevurite panuse konfiskeeriks kogukonna käivitatud kõva kahvel. Kuigi see kaitse ei kõrvalda haavatavust, võib see suurendada rünnakukulusid, kuna altkäemaks peab olema suurem kui kaotatud panus. Praegu ei ole kaevurite panuse lubamine Bitcoinis võimalik. Kuigi RSK võiks PoS-i konsensuse vastu võtta, ei ole ettepanekut minna üle PoS-ile või mitte segada PoW-d PoS-iga RSK-s.
Esitasime Nakamotole mitu teadaolevat rünnakut, mis põhinesid pahatahtlikel tehingutel, millega maksti ebaharilikult kõrgeid tasusid. Mõned rünnakud võimaldavad topeltkulutusi ja teised põhjustavad võrgu ebastabiilsust. Need rünnakud on eriti olulised kõigi Bitcoini külgahelate, sealhulgas RSK jaoks. RSK rakendab heidutustena plokipreemiate silumist, plokipreemiate jagamist ja kahvliteadlikku ühendatud kaevandamist. Kuigi tasustamise silumine töötab selgesõnaliste tasude eest, ei saa vältida üldist nutikate lepingute abil makstud altkäemaksu juhtumit. Nende rünnakute eest kaitsmine nõuab aktiivset võrgu jälgimist. Lõpuks on vaja täiendavaid uuringuid nende rünnakute võimalike lahenduste kohta.
- 100
- 2016
- 2019
- konto
- aktiivne
- Adam Tagasi
- Täiendavad lisad
- ADEelis
- Materjal: BPA ja flataatide vaba plastik
- artikkel
- eelis
- Automatiseeritud
- BEST
- ennustused
- kuni
- Bitcoin
- blockchain
- BTC
- btc hind
- Raha
- Põhjus
- põhjustatud
- tegevjuht
- väljakutse
- vastuolu
- muutma
- Kontroll
- laps
- kood
- Münt
- Mündid
- kogukond
- Hüvitis
- üksmeel
- tarbima
- jätkama
- leping
- lepingud
- loomine
- krüpto
- krüptovahetus
- Krüptovahetused
- cryptocurrency
- Praegune
- Detsentraliseeritud
- kaitse
- Denial of Service
- Disain
- detail
- Häirima
- Katkestus
- jaotatud pearaamatud
- Varajane
- Majanduslik
- ethereum
- vahetamine
- Vahetused
- laiendused
- nägu
- nägu
- tunnusjoon
- FUNKTSIOONID
- Tasud
- Lõpuks
- esimene
- järgima
- kahvel
- täis
- funktsioon
- tulevik
- GAS
- ge
- Üldine
- GM
- GP
- rüütama
- GV
- raske kahvel
- hash
- räsimine
- Hashrate
- siin
- Suur
- Kuidas
- Kuidas
- HTTPS
- idee
- identifitseerima
- Kaasa arvatud
- Suurendama
- IP
- IT
- Võti
- teadmised
- Labs
- keel
- Tase
- Pikk
- peamine
- Enamus
- mõõtma
- keskmine
- Mempool
- Kaevurid
- Kaevandamine
- raha
- järelevalve
- kuu
- võrk
- sõlmed
- Pakkumised
- Internetis
- Muu
- Paber
- Maksma
- makse
- maksed
- peer to peer
- inimesele
- Platvormid
- ujula
- Basseinid
- PoS
- PoW
- võim
- esitada
- ennetada
- hind
- era-
- Private Key
- Toodetud
- Tootjad
- Toode
- Kasum
- Programming
- tõend
- ettepanek
- kaitse
- Kaitsev
- teadustöö
- REST
- tulu
- Hüved
- Ripple
- pulbitsevad laborid
- jooks
- jooksmine
- turvalisus
- Seeria
- kehtestamine
- Jaga
- Aktsiad
- suunata
- Lühike
- külgahela
- lihtne
- väike
- nutikas
- arukas leping
- Tarkvaralepingud
- So
- Lahendused
- LAHENDAGE
- kulutama
- laiali
- kaalul
- Staking
- riik
- Strateegia
- subsiidium
- edu
- edukas
- jätkusuutlik
- Lüliti
- kolmandad isikud
- aeg
- tehing
- Tehingud
- Turing
- Kasutajad
- väärtus
- haavatavus
- ootama
- Wikipedia
- sõnad
- Töö
- töötab
- xrp
- aastat
- null