Ano ang matututuhan natin sa pag-aaral ng hacks? Pagbubunyag ng mga insight sa privacy at paggalaw ng cryptocurrency pagkatapos ng DAO 2016 hack

Simbiyos

Ang terminong cryptocurrency ay halos naging kasingkahulugan ng pag-hack. Tila bawat linggo ay may napakalaking hack sa mga palitan, mga wallet ng indibidwal na gumagamit, mga matalinong kontrata, at mga pampublikong blockchain kung saan sila nakaupo. Sa maraming mga kaso, ang mga vectors ng pag-atake ay halata sa pagbabalik-tanaw: ang code ay hindi nasubok, ang mga panloob na proseso upang maiwasan ang phishing ay hindi umiiral, ang mga pangunahing pamantayan ng code ay hindi sinusunod, atbp. Ang pag-aaral sa mga hack mismo ay kadalasang hindi nakakakuha ng maraming interesanteng impormasyon para sa mga pamilyar na sa mga pangunahing kasanayan sa seguridad. 

Ngunit ang bawat crypto hack ay may dalawang pangunahing bahagi — nandiyan ang hack mismo, at pagkatapos ay ang mga pamamaraan kung saan sinusubukan ng hacker at ng kanilang mga cohort na i-cash out ang kanilang ninakaw na pagnakawan. Para sa mga tagapagtaguyod ng pagkapribado, ang mga pagtatangka na ginawang anonymize ang mga pondong ito ay mga kawili-wiling pag-aaral ng kaso sa mga antas ng anonymity na makakamit sa mga pampublikong blockchain network.

Dahil ang mga pondo ay malapit na sinusubaybayan ng lubos na organisado at mahusay na pinondohan ng mga ahensya ng gobyerno at corporate entity, nagbibigay sila ng pagkakataon para sa komunidad na obserbahan ang bisa ng iba't ibang privacy wallet na kasangkot. Kung ang mga hacker na ito ay hindi maaaring manatiling pribado, ano ang mga pagkakataon na ang mga karaniwang user na naghahanap ng privacy sa mga pampublikong network ay makakamit ito? 

Ang DAO 2016 hack, isang huwarang kaso

Kapag pinag-aaralan ang mga hack na ito at ang mga kasunod na pag-aresto, nagiging malinaw na sa karamihan ng mga kaso, ang mga hacker ay gumagawa ng mga mahahalagang pagkakamali kapag sinusubukang i-anonymize ang kanilang cryptocurrency. Sa ilang mga kaso, ang mga pagkabigo ay ang kasalanan ng mga simpleng error ng user. Sa ibang mga kaso, ang mga ito ay sanhi ng mga bug sa wallet software na ginamit nila o iba pang hindi gaanong halata na mga maling hakbang sa landas sa pag-convert ng cryptocurrency sa mga real-world na asset. 

Kamakailan, isang partikular na kawili-wiling kaso, ang 2016 DAO hack, ay nagkaroon ng makabuluhang pag-unlad — isang imbestigasyon Artikulo ng Forbes ay nai-publish na nagpapakilala sa sinasabing hacker. Ang proseso kung saan natukoy ang taong ito ay nag-aalok ng ilang mga insight sa isang malawakang ginagamit na privacy wallet, Wasabi Wallet, at kung paano maaaring humantong ang hindi wastong paggamit ng software sa "pag-demix" ng mga pinaghihinalaang pondo ng hacker. 

Ang mga kritikal na pagkakamali ay ginawa

Tulad ng para sa pagkakasunud-sunod ng mga operasyon, ang unang hakbang ng hacker ay i-convert ang ilan sa kanilang mga ninakaw na pondo mula sa Ethereum Classic sa Bitcoin. Ginamit ng hacker ang Shapeshift upang makipagpalitan ng isagawa ang swap, na noong panahong iyon ay nagbigay ng buong pampublikong rekord ng lahat ng mga trade sa platform. Mula sa Shapeshift, lumipat ang ilan sa mga pondo sa Wasabi Wallet. Mula rito, bumababa ang mga bagay.  

Para sa mga hindi pamilyar, ang CoinJoin ay ang moniker para sa isang espesyal na protocol sa pagtatayo ng transaksyon na nagbibigay-daan sa maraming partido na pagsama-samahin ang kanilang mga pondo sa isang malaking transaksyon na may layuning masira ang link sa pagitan ng mga pondong dumadaloy sa CoinJoin at ang mga pondong dumadaloy palabas ng CoinJoin.

Sa halip na ang isang transaksyon ay may iisang nagbabayad at nagbabayad, ang isang transaksyon sa CoinJoin ay may maraming mga nagbabayad at nagbabayad. Halimbawa, mayroon kang CoinJoin na may 10 kalahok — kung ang CoinJoin ay maayos na binuo at lahat ng mga alituntunin ng pakikipag-ugnayan ay sinusunod nang tama, ang mga pondong dumadaloy mula sa CoinJoin ay magkakaroon ng anonymity set ng 10. ibig sabihin, alinman sa 10 "halo-halong mga output ” mula sa transaksyon ay maaaring kabilang sa alinman sa 10 (o higit pa) “mga walang halong input” sa transaksyon. 

Bagama't ang CoinJoins ay maaaring maging napakalakas na tool, maraming pagkakataon para sa mga kalahok na gumawa ng mga kritikal na pagkakamali na makabuluhang nagpapababa o ganap na sumisira sa anumang privacy na maaaring nakuha nila mula sa CoinJoin. Sa kaso ng sinasabing DAO hacker, ang naturang pagkakamali ay nagawa. Sa susunod mong babasahin, may posibilidad na ang bug na ito ay isang error ng user, gayunpaman, posible ring mayroong (mula nang maayos) na bug sa Wasabi Wallet na humantong sa pagkabigo sa privacy na ito. 

Ginagamit ng Wasabi Wallet ang ZeroLink protocol, na bumubuo ng CoinJoins na may magkahalong mga output ng pantay na halaga. Ang ibig sabihin nito, ay ang lahat ng mga gumagamit ay kinakailangang paghaluin lamang ang isang tinukoy, paunang natukoy na halaga ng Bitcoin. Ang anumang halaga na mas mataas sa halagang iyon na napupunta sa CoinJoin ay dapat ibalik bilang walang halong Bitcoin sa kani-kanilang mga user.

Kung halimbawa si Alice ay may isang solong .15 Bitcoin output, at ang CoinJoin ay tumatanggap lamang ng mga output na may halagang .1 Bitcoin, sa pagkumpleto ng CoinJoin, si Alice ay magkakaroon ng .1 na pinaghalong Bitcoin na output at isang .05 na walang halong Bitcoin na output. Ang .05 Bitcoin ay itinuturing na "walang halong" dahil maaari itong maiugnay sa orihinal na output ni Alice na .15. Ang pinaghalong output ay hindi na direktang maiugnay sa input, at magkakaroon ng anonymity set na binubuo ng lahat ng iba pang kalahok sa CoinJoin. 

Upang mapanatili ang pagkapribado ng CoinJoin, kinakailangan na ang halo-halong mga output ay hindi kailanman nauugnay sa isa't isa. Kung sakaling hindi sinasadyang pinagsama-sama ang mga ito sa bitcoin blockchain sa isang solong o hanay ng mga transaksyon, maaaring gamitin ng isang tagamasid ang impormasyong iyon upang masubaybayan ang magkahalong mga output pabalik sa kanilang pinagmulan. 

Sa kaso ng DAO hacker, lumalabas na sa proseso ng paggamit ng Wasabi Wallet, gumamit sila ng isang address sa maraming CoinJoins; sa isang kaso ang address ay ginamit bilang isang walang halong output ng pagbabago, sa pangalawang kaso ito ay ginamit bilang isang halo-halong output.

Ito ay medyo hindi pangkaraniwang pagkakamali sa konteksto ng isang CoinJoin dahil ang pamamaraan ng guilt-by-association na ito ay nangangailangan ng isang transaksyon sa ibaba ng agos ng CoinJoins upang "pagsamahin" ang walang halong at halo-halong mga output, na iugnay ang mga ito nang magkasama. Ngunit sa kasong ito, walang mga transaksyon na lampas sa dalawang CoinJoins ang kinakailangang suriin dahil ang parehong address ay ginamit sa magkasalungat na paraan sa dalawang magkahiwalay na CoinJoins. 

Sa pangunahin, umiiral ang posibilidad na ito dahil sa isang desisyon sa disenyo sa software ng Wasabi Wallet: Gumagamit ang Wasabi Wallet ng iisang derivation path para sa parehong halo-halong mga output. Ito ay isinasaalang-alang masamang gawi. Ito ay sinabi ng isang empleyado ng Wasabi na ito ay upang gawing tugma ang pagpapanumbalik ng pitaka sa iba pang mga pitaka, gayunpaman, ang BIP84 (na ang scheme ng derivation Gumagamit ng Wasabi Wallet) ay may karaniwang paraan para sa pagkilala ng derivation pathway na itinalaga upang baguhin ang mga output.

Ang mga pagkabigo na nagreresulta mula sa pagpili ng disenyo na ito ay pinaka-prominente na nakikita kapag ang isang user ay may dalawang pagkakataon ng Wasabi Wallet na tumatakbo sa parehong oras habang gumagamit ng parehong binhi. Sa sitwasyong ito, posibleng piliin ng dalawang instance ang parehong address sa magkasalungat na paraan na ito kapag sabay na sinusubukang magpatakbo ng mix mula sa bawat instance. Ito ay binabalaan laban sa opisyal na dokumentasyon. Posible rin na ang mga kilalang bug sa Wasabi Wallet ang may kasalanan.

Takeaways at konklusyon

Kaya ano ang matutunan natin dito? Bagama't ang bug na ito sa Wasabi ay hindi pa ang katapusan ng kuwento, ito ay kumilos bilang isang mahalagang bahagi sa pagsubaybay sa pinaghihinalaang hacker. Muli, muling pinagtibay ang aming paniniwala na mahirap ang privacy. Ngunit halos, mayroon kaming isa pang halimbawa ng kahalagahan ng pagpigil sa kontaminasyon ng output kapag gumagamit ng mga tool sa privacy, at kung gaano kaingat ang "pagkontrol ng barya" ay kinakailangan ng mga user at software. Ang tanong ay, anong uri ng mga protocol sa privacy ang idinisenyo upang mabawasan ang klase ng pag-atake na ito? 

Ang isang kawili-wiling solusyon ay isang CoinSwap, kung saan sa halip na pagsamahin ang mga output sa isang malaking transaksyon, ipinagpapalit mo ang mga output sa ibang user. Sa ganitong paraan nagpapalit ka ng mga kasaysayan ng barya, hindi sumasali sa mga kasaysayan ng barya. Higit na makapangyarihan, kung ang isang CoinSwap ay ginawa sa konteksto ng off-chain (tulad ng ipinatupad ng Mercury Wallet), walang mga walang halong pagbabagong output na haharapin sa lahat. 

Bagama't may mga posibleng error ng user na maaaring magsanhi sa isang CoinSwap na "de-swapped," ang mga error na ito ay malamang na mas halata sa end-user dahil ang anumang pagsasanib ng mga output sa paraang lumalabag sa privacy ay maaari lamang gawin sa pamamagitan ng tahasang paghahalo ng isang pinalitan ang output sa isa na hindi pa napalitan, kumpara sa pagsasama-sama ng dalawang output na dumaan na sa CoinJoin, isa lang ang talagang pinaghalo.

Mercury Wallet ay kasalukuyang ang tanging off-chain na pasilidad ng CoinSwap na magagamit sa mga end-user. Hinahayaan nito ang mga user na i-lock ang kanilang mga barya sa isang layer na dalawang protocol (kilala bilang statechain) at pagkatapos ay bulag na ipagpalit ang kanilang mga output sa ibang mga user ng statechain. Ito ay isang napaka-interesante na pamamaraan at sulit na eksperimento para sa mga interesado sa paggalugad ng mga bagong tool sa privacy na may kapana-panabik na functionality at katanggap-tanggap na mga trade-off.

Kunin ang iyong pang-araw-araw na recap ng Bitcoin, DeFi, NFT at Web3 balita mula sa CryptoSlate

Ito ay libre at maaari kang mag-unsubscribe anumang oras.

Kumuha ng isang Gilid sa Crypto Market?

Maging isang miyembro ng CryptoSlate Edge at i-access ang aming eksklusibong komunidad ng Discord, mas eksklusibong nilalaman at pagsusuri.

Pagsusuri sa on-chain

Mga snapshot ng presyo

Higit pang konteksto

Sumali ngayon sa halagang $ 19 / buwan Galugarin ang lahat ng mga benepisyo

Pinagmulan: https://cryptoslate.com/what-can-we-learn-from-studying-hacks-revealing-insights-on-privacy-and-cryptocurrency-movements-after-the-dao-2016-hack/