Ang Ethereum Bug Nagpapadala ng Mga Kontrata ng Smart Bumalik sa Drawing Board | PH.democraziakmzero.org

Ang Ethereum Bug Nagpapadala ng Mga Kontrata ng Smart Bumalik sa Drawing Board

Ang Ethereum Bug Nagpapadala ng Mga Kontrata ng Smart Bumalik sa Drawing Board

Bug ay isang normal na bahagi ng software, ngunit sa Ethereum, sila ay maaaring maging katangi-tangi mapanganib.

Iyon ay maaaring ang takeaway mula sa isang Ethereum programming language bug na natagpuan sa linggong ito na nakakaapekto sa isang tiyak na estilo ng matalinong kontrata at, dahil sa kung paano gumagana (ito ipinapangako aplikasyon ay tatakbo nang eksakto tulad ng program) Ethereum, karamihan sa mga kontrata na apektado ay hindi maaaring madala pababa o nagbago.

Sa madaling salita, may-ari ng desentralisado matalinong mga kontrata (ang mga na hindi magagawang upang ma-upgrade sa pamamagitan ng isang may-ari) ay hindi maaaring gumawa ng anumang bagay upang ayusin ang mga bug.

Dalawang araw matapos ang reportwas bug na inisyu, mga developer na pinagsama out ng isang remedyo sa kabuuan bersiyon 0.4.4. Ngunit ang bug nakakaapekto ilan sa mga address at mga uri ng data sa mga kontrata sa gayon na sila ay hindi pa rin maaaring mabago sa pag-upgrade.

Ang magandang balita ay na ang bug ay hindi maaaring nakaapekto sa maraming matalino na mga kontrata.

Sa kabuuan taga-gawa Christian Reitwiessner sinabi CoinDesk tumakbo siya ng isang "semi-automated na" pag-aaral ng bawat Ethereum programa na nakalista sa pamamagitan ng isang popular na hadlangan ang explorer at natagpuan na ng 12,000 mga kontrata, lamang apat na mga exploitable.

Reitwiessner sinabi wala sa mga kontrata ay may anumang eter sa kanila, na malamang sila ay ginagamit para sa mga layuning pagsubok. Ngunit ito ay nagkakahalaga ng pagpuna na hindi lahat ng mga kontrata ay ipinapakita sa Etherscan, ang napiling block explorer. (Mayroong higit sa 200,000 mga kontrata kabuuan, kaya ito ay mahirap sabihin kung gaano kaligtas ang mga natitirang mga pondo kontrata ay).

Sa pangkalahatan, ito ay lilitaw upang maging isang menor de edad depekto kapag inihambing sa Ang DAO, ang pinaka-kapansin-pansing halimbawa ng isang matalino na kontrata hindi gumagana tulad ng nilalayon. Gayunman, ito ay nakabuo ng talakayan tungkol sa kung ano ang maaaring mangyari sa kaso ng iba pang mga pangunahing mga bug na ibinigay na hindi lahat ng matalino na mga kontrata ay magkakaroon ng isang gitnang may-ari na maaaring i-update ang mga ito kung ang isang bagay napupunta mali.

Isang nagmamasid sa mga social media, halimbawa, arguedthat maaari itong isang "mowlhil sa gilid ng isang malaking bundok" ng mga katulad na mga isyu.

Isa sa mga mas radikal na ideya para sa pag-aayos ng problemang ito ay upang gumawa ng Ethereum kontrata upgradeable sa malapit-matagalang upang ang mga may-ari ay may ilang mga paraan ng pagsasa-aktibo o pagbabago ng code sa kaso ng isang sakuna. Ngunit ang takot ay na ang paggawa na maaaring ibig sabihin ng pagtatalop layo kung ano ang gumagawa Ethereum (o iba pang mga desentralisado platform) natatangi.

National University of Singapore PhD student Loi Luu sinabi na magiging mas mahusay para sa Ethereum kung ang mga gumagamit natutunan kung paano upang i-deploy ang mga secure na matalino na mga kontrata na ang mahirap na paraan, sa isang desentralisado paraan.

Luu nagsabi:

"Hindi ko personal na sa tingin nito ang isang magandang ideya. Ito ay isa lamang laban sa lahat ng bagay na matalino na mga kontrata ay dinisenyo para sa. Kung Ethereum ay isang beta na network, ipaalam sa smart kontrata mabibigo, hayaan ang mga tao malaman ang kanilang mga aralin."

Ngunit habang ang mga komento ni Luu magmungkahi na maaaring hindi ito isang magandang ideya na gawin ang lahat ng mga kontrata upgradeable, may mga ilang mga paraan upang maghanda para sa mga potensyal na hinaharap bug, lalo na habang Ethereum ay pa rin ng isang bagong teknolohiya.

Ang pag-aayos ang problema

Programa ng nakasulat sa mas mataas na antas ng Ethereum, madaling-to-read na wika, tulad ng sa kabuuan o Serpent, ay naipon sa byte na antas ng code bago sila ay idinagdag sa blockchain. Ang problema dito ay na may ang teknolohiya ng paggawa ng kino-compile.

Upang ayusin ang problema, Reitweissner recommendedthat developer gawin ang dalawang bagay. One, kung kino-compile ang isang bagong kontrata, mga developer na kailangan upang mag-upgrade sa bagong bersyon ng katigasan upang maiwasan ang bug.

Ang ikalawang paraan upang maiwasan ang problema ay mas curious Halimbawa, dahil ito ay nangangailangan ng pag-upgrade o defunding matalino na mga kontrata na naka-deploy - isang bagay na hindi mo inaasahan ay posible na may Ethereum.

Reitwiessner elaborated sa payo na ito, na nagpapaliwanag na mayroong dalawang uri ng mga kontrata: centrally kinokontrol at desentralisado, kung saan walang sinuman ang may "espesyal na pribilehiyo".

Ang unang uri ay malamang na nag-aalok ng ilang mga pag-upgrade mekanismo o isang paraan upang alisin ang mga pondo mula sa kontrata.

Ang ikalawang uri ay trickier. Sa kabilang banda, dahil hindi panatag Ethereum matalino na mga kontrata ay hindi maaaring ay dadalhin down o binago sandaling ito ay naka-deploy, mayroong hindi ng maraming mga developer na maaaring gawin kung hindi nila gamitin ang isang sentralisadong matalino na kontrata mula sa simula.

Gayunman, Reitwiessner sinabi na developer ay maaaring magbantay laban sa hinaharap na mga problema (tulad ng mga may kabuuan) sa paggawa ng ilang mga bagay-bagay.

"Ang aking mga rekomendasyon para sa mga naturang kontrata ay upang mag-panatilihing maikli ang buhay, upang ang mga potensyal na masamang epekto ay maliit o gawin ang isang tamang pormal na pag-aaral ng bytecode ng kontrata. Kami ay kasalukuyang pagbuo tool upang makatulong sa paggawa na," sabi niya.

Upgradeable kontrata

Mayroong ilang mga paraan upang makakuha ng paligid na ito, gayunman.

Ethereum Foundation panlabas na relasyon humantong Hudson Jameson inilarawan ng isang paraan ng pag-upgrade ng smart kontrata na maaaring potensyal na maging desentralisado, arguing na ang pagdagdag ng isang paraan upang i-upgrade ang live code ay isang pangangailangan.

"Ang pangkalahatang pakiramdam mula sa aming mga developer ay na sa maagang yugto na ito ay mahalaga na magkaroon ng mabibigo-safe sa iyong code upang ligtas na i-deactivate o i-upgrade kontrata na hawak ng isang pulutong ng mga halaga," sinabi niya.

Jameson inilarawan ng ilang mga potensyal na smart contract "mabibigo-safe," kung saan ang may-ari ay magagawang upang i-upgrade ang kanilang mga kontrata kahit na matapos sila ay deployed sa Ethereum, o kung saan ang smart mga kontrata ay maaaring detect kapag isang bagay na malansa ay nangyayari.

Sinabi niya sila ay hindi kinakailangang kailangang ma-sentralisadong, o sa ilalim ng kontrol ng isang may-ari. Halimbawa, maaari kang magkaroon ng isang smart kontrata na naglalagay ng limitasyon sa kung gaano karami ng isang asset ay maaaring withdraw sa isang pagkakataon.

"Kaya kung ang isang magsasalakay sumusubok upang alisan ng tubig ang kontrata ng mga pondo o ng isang asset, maaari itong magpalitaw ng isang desentralisado tugon tulad pagla-lock ang mga ito out at pag-abiso sa iba pang mga tao na gumagamit ng kontrata na maaaring kailangan nila upang bawiin ang kanilang mga pondo," sinabi niya.

Siya inilarawan ng ilang mga iba pang mga pamamaraan, kabilang ang pag-hack detection, shut-off switch at multi-lagda transaksyon kung saan higit sa isang tao ay nangangailangan na mag-sign-off sa isang transaksyon bago ether maaaring dispensed.

Inaabangan

Smart mga kontrata sa Ethereum klasiko (ang grupo na split off mula Ethereum dahil isang ideological pagkakaintindihan) ay apektado rin ng mga bug mula noong nito blockchain ay umaasa sa katulad na hanay ng mga tool.

Ngunit ayon sa kanyang ng lead organizer Arvicco, developer ay exploring isang iba't ibang mga pang-matagalang paraan ng pagbuo ng isang programming language na mas lumalaban sa mga bug.

"Ang isa sa mga posibleng paraan ay upang ilipat ang matalinong pag-unlad kontrata wika mula sa object / pamamaraan sa functional na tularan," sabi niya.

Anuman ang mga posibleng pag-aayos, ang mga discussion nagpapahiwatig na Ethereum mga developer ay hindi dapat asahan ang kanilang mga smart kontrata sa trabaho na walang potensyal na mapanganib na mga kahihinatnan medyo pa, na maaaring o hindi maaaring maging ganap na maliwanag sa mga taong nai-deploy code sa network.

Tulad ng para sa kabuuan sa partikular, isa pang unstoppable bug ay maaaring potensyal na makakaapekto sa iba pang mga smart kontrata sa hinaharap.

Reitwiessner mapapansin na ito ay laging posible para sa isang compiler upang maipakilala ang isang bug, at ito ay posible na sa kabuuan o Serpent (iba pang mga matalino na wika ng kontrata ni Ethereum) ay may iba pang mga undiscovered flaws.

Gayunpaman, siya nabanggit na sa paglipas ng dalawang taon ng pag-unlad, ito ay ang unang malubhang bug na natagpuan sa smart wika kontrata.

Kaugnay na Balita


Post Ethereum

Pagpapala at Sumpa: ang Mga Nag-develop ng DAO sa Blockchain noong 2018

Post Ethereum

Ang DAO Crisis: O Paano ang Vigilantism at Blockchain Democracy ay naging Pinakamahusay na Pag-asa para sa mga mamumuhunang Nasunog

Post Ethereum

Bitcoin Prices Surge Past $ 770 Ngunit Fall Just Short of 2018 High

Post Ethereum

9 Must-Watch Talks sa Ethereums Big Developer Event

Post Ethereum

Ang Blockchain Energy Project ay nanalo ng Consensus 2018 Hackathon

Post Ethereum

Public Opinion Split Bilang DAO Rakes sa Ethereum funding

Post Ethereum

Bitcoin Pioneer Charlie Shrem Naglulunsad ng Bagong Blockchain Venture

Post Ethereum

Rebranding sa DAO: Ang Nakakatawang Blockchain Concept ay Bumalik

Post Ethereum

DAO Debacle Escalates: Attacker Counter-Attack Ethereum Developers

Post Ethereum

Ang Problema ng Augurs Token Launch Nagtatampok ng Mga Pitfalls ng Appcoin

Post Ethereum

ShapeShift Breaks New Ground Sa Prisma Digital Asset Portfolio Product

Post Ethereum

Mga Presyo sa Eter na Malapit sa 7-Buwan na Mababa Bilang Mga Isyu sa Blockchain Mga namumukhang mamumuhunan