Ethereum Bug pošalje pametne ugovore nazad na crtež za crtanje | BS.democraziakmzero.org

Ethereum Bug pošalje pametne ugovore nazad na crtež za crtanje

Ethereum Bug pošalje pametne ugovore nazad na crtež za crtanje

Bube su normalan dio softvera, ali ethereum, oni mogu biti jedinstveno opasan.

To može biti za poneti iz ethereum programski jezik bug ove sedmice da utiče na određeni stil pametnih ugovora i, zbog načina na koji ethereum radova (obećava aplikacije će raditi baš kao što je programirano), većina ugovora pogođena se ne može uzeti dole ili promijenjen.

Ukratko, vlasnici decentralizirana pametnih ugovora (one koje nisu u stanju da se nadogradi jedan vlasnik) ne može učiniti ništa da popravi bug.

Dva dana nakon što je bug reportwas izdala, programeri izbacio popravaka u Solidity verziji 0.4.4. Ali bug utječe na neke adrese i vrste podataka u tim ugovorima, tako da i dalje ne mogu se mijenjati sa nadogradnjom.

Dobra vijest je da je bug ne mogu uticati mnogo pametan ugovora.

Solidnost kreator Christian Reitwiessner rekao CoinDesk Vodio je "poluautomatski" analiza svakog ethereum programa navedene po popularnim blok istraživač i utvrdili da od 12.000 ugovora, samo četiri su iskoristive.

Reitwiessner rekao nijedna od ovih ugovora imali eter u njima, jer su vjerojatno koristi u svrhu testiranja. Ali, to je napomenuti da nisu svi ugovori su prikazani na Etherscan, izabrani blok Explorer. (Postoji ukupno više od 200.000 ugovora, tako da je teško reći koliko je sigurno preostalih ugovora sredstva).

Sve u svemu, čini se da je manji nedostatak u odnosu na Tao, najviše primjer pametne ugovora ne radi onako kako treba. Međutim, ona generira diskusiju o tome šta bi se moglo dogoditi u slučaju drugih većih bugova obzirom na to da nisu svi pametni ugovori će imati centralnu vlasnika koji ih može ažurirati ako nešto krene po zlu.

Jedan posmatrač na društvenim mrežama, na primjer, arguedthat to bi mogao biti "krtičnjak na strani Big Mountain" sličnih problema.

Jedan od radikalnih ideja za fiksiranje ovaj problem je da ethereum ugovore sa mogućnošću nadogradnje u bliskoj budućnosti, tako da vlasnici imaju neki način deaktiviranja ili promena kod u slučaju nezgode. Ali strah je da radi to bi moglo značiti skidanje dalje ono što čini ethereum (ili neki drugi decentralizirana platforme) jedinstven.

National University of Singapore doktorant Loi Luu je rekao da bi bilo bolje za ethereum ukoliko korisnici naučili kako postaviti sigurnu pametan ugovora na teži način, na decentraliziran način.

Luu je rekao:

"Ja osobno ne mislim da svoju dobra ideja. To je u suštini protiv svega pametan ugovori su dizajnirani za. Ako ethereum je beta mrežu, neka pametna ugovora ne uspiju, neka ljudi uče svoje lekcije."

Ali, dok komentari Luu ukazuju na to da ne može biti dobra ideja da se svi ugovori sa mogućnošću nadogradnje, postoje neki način da se pripreme za potencijalne buduće bube, posebno dok ethereum je još uvijek nova tehnologija.

Fiksiranje problem

Programa pisanih u višem nivou ethereum je, jednostavan za čitanje jezika, kao što su Solidity ili Serpent, se prevode u kod bajt razini prije nego što se dodaju blockchain. Problem je bio sa tehnologijom radi sastavljanje.

Da biste riješili taj problem, Reitweissner recommendedthat programeri dvije stvari. Jedan, ako sastavljanje novog ugovora, programeri potrebno za nadogradnju na novu verziju Solidity izbjeći bug.

Drugi način da se izbjegne problem je više znatiželjan primjer, jer zahtijeva dogradnju ili defunding pametni ugovorima koji su već raspoređeni - nešto što možda niste očekivali je moguće sa ethereum.

Reitwiessner razradio taj savjet, objašnjavajući da postoje dvije vrste ugovora: centralno kontrolirati i decentralizirana, gdje niko nema "posebne privilegije".

Prvi tip vjerojatno ima neki mehanizam nadogradnja ili način za uklanjanje sredstava iz ugovora.

Drugi tip je teže. S druge strane, s obzirom da nevjeran ethereum pametan ugovori ne mogu biti uklonjene ili modifikovani kada oni raspoređeni, ne postoji mnogo toga što programeri mogu učiniti ako nisu koristili centralizovanu pametan ugovor od samog početka.

Međutim, Reitwiessner je rekao da programeri mogu se zaštitili od budućih problema (poput onih sa Solidity) radeći nekoliko stvari.

"Moja preporuka za takve ugovore bi bilo ni držati ih kratkotrajna, tako da potencijalni loši efekti su mali ili da pravilno formalnu analizu bajtkod ugovora. Trenutno smo u razvoju alata koji pomažu u tome", rekao je on.

Mogućnost nadogradnje ugovora

Postoje neki način da se oko ovog razočarao.

Ethereum Fondacija za vanjske odnose dovesti Hudson Jameson opisani način nadogradnje pametne ugovora koje bi potencijalno mogle biti decentralizirana, tvrdeći da dodavanje način za nadogradnju uživo kod je nužnost.

"General osjećaj od naših programera je da u ovoj ranoj fazi važno je imati ne-sefovi u kodu kako bi se sigurno deaktivirati ili nadogradite ugovori koji imaju puno vrijednosti", rekao je on.

Jameson je opisao neke potencijalne pametan ugovora "fail-sefovi", gdje su u mogućnosti da unaprijede svoje ugovore čak i nakon što oni raspoređeni u ethereum, ili gdje pametni ugovori mogu otkriti kada se nešto sumnjivo događa vlasnicima.

On je rekao da oni nužno ne moraju biti centralizovana, ili pod kontrolom jednog vlasnika. Na primjer, mogli biste imati pametan ugovor koji stavlja ograničenje na koliko se neko sredstvo može povući u jednom trenutku.

"Dakle, ako je napadač pokušava da odvod ugovora sredstava ili imovine, to može izazvati decentralizirana odgovor kao što je zaključavanje ih i obavještavanje drugih ljudi koji koriste ugovor koji im možda trebati da povuče svoja sredstva", rekao je on.

On je opisao nekoliko drugih metoda, uključujući hacking otkrivanje, isključivanje prekidača i multi-potpis transakcija gdje je više od jedne osobe mora potpisati transakciji pred eter se može izdavati.

Radujem

Smart ugovore o ethereum classic (grupa koja je odvoji od ethereum zbog ideološke neslaganja) su također pogođene bug od njenog blockchain oslanja na isti skup alata.

Međutim, u skladu sa svojom glavnog organizatora Arvicco, programeri istražuju različite dugoročne način razvoja programski jezik koji je otporniji na bugova.

"Jedan od mogućih načina je da se kretati razvoj pametnih ugovor jezik od objekta / proceduralne funkcionalnim paradigme", rekao je on.

Bez obzira na moguće popraviti, diskusija podrazumijeva da ethereum programeri ne treba očekivati ​​svoje pametne ugovore još dosta raditi bez potencijalno opasnim posljedicama koje mogu i ne moraju biti potpuno jasno da oni koji su već raspoređeni kod na mreži.

Što se tiče Solidity posebno, još jedan nezaustavljiv bug potencijalno može utjecati na druge pametne ugovora u budućnosti.

Reitwiessner napomenuti da je uvijek moguće za kompajler za uvođenje buba, a moguće je da Solidity ili Serpent (ethereum a drugi pametan jezik ugovora) imaju i druge neotkrivene nedostatke.

Međutim, on je istakao da je u više od dvije godine razvoja, ovo je bio prvi ozbiljne bug naći u pametne jeziku ugovora.

Povezane vijesti


Post Ethereum

Jeff Garzik pokreće Bloq za pokretanje Cross-Blockchain Cryptocurrency

Post Ethereum

BlockCypher oslobađa Ethereum API Toolkit za programera

Post Ethereum

All-Time High: Eter Cene prelaze 440 USD kao ključni nivo Prekršeni

Post Ethereum

Predloženi Ethereum investiciono vozilo izaziva kontroverzu

Post Ethereum

Osnivač standpoint-a: Bitcoin Asset Class će rasti na tržištu od 2 triliona dolara

Post Ethereum

Izgradnja temelja za skalabilnu eterumsku zajednicu

Post Ethereum

Cijene Cryptos Tech Stack stalno poboljšavaju

Post Ethereum

Šta možemo da naučimo od DAO-a

Post Ethereum

Bitcoin nije bio jedina digitalna valuta koja se vidi posle izbora

Post Ethereum

Metropolis Today: Shifting Plans za sledeću Big Upgrade za Ethereum

Post Ethereum

Poof, Vaš novac je nestao: Izgradnja za Blockchain korisnike

Post Ethereum

Najveća banka u Rusiji pridružila se Enterprise Ethereum Alliance