Ethereumin valkoinen kirja, selitetty. Osa 1

Seuraavissa blogiviesteissä erottelemme Ethereumin valkoisen kirjan kuvaamalla sitä maallikolla. Koska paperi on liian pitkä sopiakseen yhteen blogitekstiin, jaamme sen useisiin osiin. Yritämme selittää Ethereumin valkoisessa kirjassa mainitut kapeat yksityiskohdat yksinkertaisimmalla mahdollisella tavalla.

Johdanto ja olemassa olevat käsitteet

Me kaikki tiedämme, että Satoshi Nakamoton kehittämä Bitcoin on johtanut monumentaaliseen tekniikkaan, joka tunnetaan nimellä - Blockchain. Toivottavasti tiedät jo Blockchain-tekniikan aiempien viestiemme ansiosta.

Blockchain-tekniikkaan on olemassa lukuisia muita sovelluksia, joista osa sisältää: värilliset kolikot, älykäs omaisuus, namecoin, älykkäät sopimukset tai DAO (hajautetut autonomiset organisaatiot). Nämä sovellukset ovat monimutkaisia ​​rakentaa Bitcoin-lohkoketjun päälle. Ethereum ehdottaa tämän ongelman ratkaisemiseksi Turing-complete-ohjelmointikieltä, jota voidaan käyttää älykkäiden sopimusten luomiseen tai monimutkaisten toimintojen koodaamiseen. Turingin täydellistä kieltä voidaan olennaisesti käyttää Turingin koneen simulointiin. Turingin kone on malli, joka voi simuloida mitä tahansa tietokonealgoritmia monimutkaisuudesta riippumatta.

Ethereum-säätiö ehdottaa, että kaikki edellä oleva voidaan saavuttaa vaivattomasti muutamalla koodirivillä. Vahvistamme tämän väitteen edelleen tässä blogissa ja tulevissa viesteissä.

Historia

Digitaaliset valuutat käsitteenä ovat olleet yleisiä vuosikymmenien ajan. 80- ja 90-luvuilla käytettiin salaustekniikkaa, nimeltään Chaumian Blinding. He kuitenkin luottavat keskitettyyn välittäjään, joka oli selvä kaupan rikkoja. Sitten tuli B-raha, joka ehdotti hajautettua konsensusjärjestelmää, mutta miten se saavutetaan, oli keskusteltavaa. Tätä seurasi Hal Finney ehdottaen uudelleenkäytettäviä todisteita työstä, joka yhdistettynä B-rahan käsitteeseen näytti aluksi lupaavalta, mutta yritykset vaikuttaa tällaiseen ratkaisuun olivat epäonnistuneet.

Satoshi Nakamoto kokosi kaikki nämä käsitteet yhdessä muiden vakiintuneiden primitiivisten tekniikoiden kanssa omistusoikeuden hallintaan salaustekniikoiden avulla. Konsensusalgoritmia, jota Bitcoin Blockchain käyttää kolikoiden seurantaan, kutsutaan työn todisteeksi.

Työsopimusmekanismin osoittaminen oli merkittävä läpimurto tällä alalla, koska se ratkaisi kaksi pääongelmaa.

  1. Verkon solmut voisivat nyt helposti sopia konsensusalgoritmin käytöstä tapahtumien syöttämiseksi hajautettuun pääkirjaan.
  2. Ongelma siitä, kuka päättää pääsyn hajautettuun pääkirjaan, ratkaistiin käyttämällä laskentatehoa, jonka kukin solmu on valmis käyttämään.

Kaivostyöntekijöille tämä tarkoittaa lähinnä - enemmän laskentatehoa = enemmän louhittuja lohkoja = enemmän salauspalkkioita.

Toinen konsepti, nimeltään vaakatodistus, laskee solmun painon äänestysprosessissa sen hallussa olevien kolikoiden lukumäärän eikä pelkästään laskennallisten resurssien perusteella.

Valtion siirtymäjärjestelmät

Minkä tahansa kryptovaluutan pääkirja on pohjimmiltaan valtion siirtymäjärjestelmä, joka sisältää tietyn ajankohdan tietoja siitä, kuinka monta kolikkoa on yksittäisissä lompakoissa ja näiden lompakkojen tekemistä liiketoimista.

Alla olevassa kaaviossa on kolme päälohkoa, jotka on otettava huomioon

Tila - Tämä koostuu kaikista pääkirjaan sisältyvistä omistamistiedoista, jotka on salattu salatulla tavalla.

Transaction - Transaction block määrittää järjestelmässä aloitetun siirron määrän. Se sisältää myös lähettäjän määrittelemän allekirjoituksen.

Tila - Tämä tila koostuu lopullisista omistajuustiedoista, jotka jaetaan kaikille solmuille. Tämä valtio ”toimii valtiona seuraavassa kaupassa.

Perinteisessä fiat-pankkijärjestelmässä valtiot ovat erillisiä taseita ja kun rahaa lähetetään pisteestä A pisteeseen B, heidän henkilökohtaiset tietueet päivittyvät.

On selvää, että perinteisiä pankkeja käyttämällä emme voi lähettää enemmän rahaa kuin meillä on yksittäisillä tileillämme, tässä on noudatettu samanlaista logiikkaa, joka määritetään seuraavalla toiminnolla.

Käytä (S, TX) -> S 'tai ERROR

Tämän havainnollistamiseksi pankkiesimerkissä voidaan kääntää se seuraavaan lausekkeeseen.

CRYPTO

Käytä (S, TX) -> S '

BANKS

SOVELLETA ({Alice: 50 dollaria, Bob: 50 dollaria}, "lähetä 20 dollaria Alicesta Bobille") = {Alice: 30 dollaria, Bob: 70 dollaria}

Tässä S on alkuperäinen tila, jossa sekä Alice että Bob ovat 50 dollaria tilillään.

TX on tapahtuma, joka määrittelee ”lähetä 20 dollaria Aliceelta Bobille”

S 'on lopullinen tila, joka heijastaa Alice ja Bob päivitetyt saldot

Ennen siirtymistä seuraavaan skenaarioon meidän on ymmärrettävä, kuinka kolikoiden hallussapito yksittäisillä tileillä lasketaan.

Bitcoin-osavaltiossa on kokoelma kaikkia olemassa olevia kolikoita yhdessä omistajan julkisen avaimen kanssa. Näiden kolikoiden kokoelma määritetään osoitteeseen liittyvän kokonaisen UTXO: n perusteella. UTXO on käyttämättä jääneitä tapahtumalähtöjä, joita omistaja ei ole käyttänyt, kuten nimestä voi päätellä. Nämä ulostulot mitataan tarkistamalla aluksi, ovatko myös edellisen omistajan metallirahat UTXO. Tämä vahvistetaan tarkistamalla edellisen omistajan UTXO ja yhdistämällä se edellisen omistajan yksityisen avaimen tuottamaan salakirjoitukseen.

Nyt analysoidaan, mitä tapahtuu, jos yrität myydä kolikoita, joita sinulla ei ole?

CRYPTO

KÄYTÄ (S, TX) -> VIRHE

BANKS

KÄYTÄ ({Alice: 50 dollaria, Bob: 50 dollaria}, "lähetä 70 dollaria Aliceelta Bobille") = VIRHE

1. Tarkista TX: ssä mainittu arvo (70 dollaria)

a. Jos omistajan UTXO ei vahvista tätä arvoa, niin sitä ei ole heidän tilillään. Palauta virhe.

b. Jos mainittu salaus allekirjoitus ei vastaa omistajan allekirjoitusta, palauta virhe.

2. Jos omistajan kaikkien UTXO-arvojen summa on pienempi kuin TX: ssä mainittu luku, palauta virhe.

3. Jos tapahtuma on pätevä, siirrä varat vastaanottajalle. Tämä siirto tapahtuu poistamalla tulo UTXO lähettäjältä ja lisäämällä se vastaanottimen julkisen avaimen osoitteeseen.

Vaihe 1a estää lähettäjää lähettämästä kolikoita, joita ei ole olemassa, ja vaihe 1b estää lähettäjiä lähettämästä muiden ihmisten kolikoita.

Vaihe 2 varmistaa, että lähettäjällä on riittävästi kolikoita ennen liiketoimen jatkamista.

Vaihe 3 viimeistelee prosessin vähentämällä arvoja lähettäjältä ja lisäämällä ne vastaanottajan lompakkoon.

Nyt nämä vaiheet saattavat näyttää helpoilta visualisoida, mutta kulissien takana tapahtuu paljon.

Seuraavan esimerkin pitäisi auttaa sinua ymmärtämään paremmin.

Oletetaan, että menet ulos ostamaan joukon banaaneja. Nyt jostain epämääräisestä syystä 1 banaani maksaa 75 dollaria. Avaat lompakkosi ja tarkistat saldo perinteisessä asennuksessa, jos sinulla on varaa tähän arvokkaaseen ylihinnoiteltuun banaaniin. Sinulla on kaksi 50 dollarin seteliä, joista jokainen on yhteensä 100 dollaria (50 + 50 = 100, duh!). Äiti antoi sinulle nämä kaksi seteliä ostaaksesi banaaneja.

Jotta sinulla olisi varaa tähän banaaniin, sinun on annettava molemmat 50 dollarin setelit banaanimyyjälle ja hän palauttaa 25 dollaria yhdistelmällä USD-seteleitä. Olet nyt ylpeä omistaja tämän erittäin kallista banaania. Nyt edessä oleva todellinen ongelma on selittää äidillesi 1 banaanin hinta.

Tämä on kohtuullisen helppo ymmärtää. Katsotaan nyt, mitä tapahtuu tyypillisessä salausvaluuttakaupassa.

Oletetaan, että Alice haluaa lähettää 75 BTC (kyllä, Alice on saastainen rikas) Bobille. Jatkaakseen hän tarkistaa ensin, onko hänen lompakkossaan 75 BTC: tä. Tämän tarkistaakseen hänen on summattava kaikki UTXO-arvonsa (arvotulot). Tarkastele tätä UTXO: ta kahtena 50 dollarin setelinä edellisessä esimerkissä. Alicella on kuitenkin kaksi UTXO-arvoa 50 BTC: n lompakossa. Tämä tarkoittaa, että Alice on vastaanottanut kaksi tapahtumaa lompakkoonsa. Jokainen UTXO on arvoltaan 50 BTC.

Nyt tiedämme, että et voi leikata 100 dollarin seteliä kahteen osaan jakaaksesi kahteen 50 dollarin seteliin, mikä tekisi 100 dollarin setelistä arvoton. Salausvaluutassa voit kuitenkin tehdä mikrotransaktiot jakamalla yhden kolikon kymmeneen 0,1 kolikkoon. Tämä jako ei kuitenkaan ole suoraviivainen.

75 BTC: n siirtämiseksi Bobille Alice luo tapahtuman kahden 50 BTC-sisääntulon avulla, jotta saadaan kaksi lähtöä. Yksi tuloste annetaan Bobille, toinen saldo siirretään takaisin Alice-lompakkoon.

50BTC + 50BTC → 75BTC Bobille + 25BTC Alicelle

Tässä tilanteessa Bob ei ole uskottu palauttamaan saldoa edelliseen esimerkkiin verrattuna. Pikemminkin kauppa hoitaa jäljellä olevan tuotoksen palauttamisen Alicelle.

kaivostoiminta

Ihanteellisessa yhteiskunnassa, jossa voimme luottaa keskitettyyn järjestelmään kaikissa liiketoimissa, tämä vaihe olisi täysin tarpeeton. Mutta yritämme luoda hajautetun konsensusjärjestelmän, joka pystyy hajottamaan pankkien monopolin taloudessamme. Kaivostoiminta on menetelmä, jolla voimme yhdistää tilansiirtojärjestelmän konsensusjärjestelmään siten, että kaikki verkon solmut sopivat tapahtumista. Nämä tapahtumat yhdistetään ja pakataan lohkoihin alla olevan kuvan mukaisesti.

Bitcoin-verkko tuottaa yhden lohkon 10 minuutin välein. Jokaisessa lohkossa on aikaleima, nonce (mielivaltainen toistamaton numero), viittaus edelliseen lohkoon, joka on mainittu Prevhash -na yllä olevassa kaaviossa, ja luettelo kaikista tapahtumista, jotka on tapahtunut edellisen lohkon louhinnan jälkeen. Tämä loputon lohkoketju edustaa aina jaetun pääkirjan uusinta tilaa ja saa siten nimen - Blockchain.

Seuraavat vaiheet tarkistavat lohkon pätevyyden:

  1. Tarkista, onko edellinen lohko, johon lohko viittaa, olemassa ja pätevä.
  2. Tarkista, että lohkon aikaleima on suurempi kuin edellisen lohkon ja että alle 2 tuntia tulevaisuuteen.
  3. Tarkista, että todiste töistä lohkolla on pätevä.
  4. Olkoon S [0] tila edellisen lauseen lopussa.
  5. Oletetaan, että TX on lohkon transaktiolista, jossa on n tapahtumaa. Kaikille i: n arvoille 0… n-1 asetetaan S [i + 1] = SOVELLETA (S [i], TX [i]) Jos jokin sovellus palauttaa virheen, poistu ja palauta virhe.
  6. Palauta tosi ja rekisteröi S [n] tilana tämän lohkon lopussa.

Pisteet 1–3 ovat suoraviivaisia. Seuraavat 3 pistettä saattavat kuitenkin kuulostaa hieman hämmentävältä. Ymmärtäkäämme miten se toimii.

Kuten kohdassa 4 mainittiin, olkoon S [0] tila lohkon 5624 lopussa.

Kohdassa 5 mainitaan, että jokaisella n tapahtumalla on seuraava tila:

Joten funktion avulla → S [i + 1] = SOVELLETA (S [i], TX [i])

Meillä on seuraavat:

S [1] = Käytä (S [0], TX [0]) ← Ensimmäinen tapahtuma

S [2] = Käytä (S [1], TX [1]) ← Toinen tapahtuma

.

.

S [n] = HAKU (S [n-1], TX [n-1]) ← n. Tapahtuma

Jos muistat toiminnon, josta luimme edellisessä aiheesta. Meidän pitäisi pystyä jäljittämään S: n arvo perustuen Käytä-toimintoon.

Käytä (S, TX) -> S '

Tätä käytetään pääasiassa erilaisten tapahtumien ja lohkojen linkittämiseen. Joten jokainen lohkon tapahtuma määrittelee kelvollisen tilamuutoksen käyttämällä yllä olevia toimintoja tapahtumasta toiseen. Tilaa ei kuitenkaan tallenneta mihinkään lohkoon ja se lasketaan oikein vain aloittamalla kyseisen lohkon geneesitilasta jokaiselle kyseisen lohkon tapahtumalle. Tämä antaa lopulta S [n]: n lähdön, joka toimii S [0] seuraavalle lohkolle.

Tapahtumien järjestys on ensisijaisen tärkeä, koska jos B luo transaktion, joka liittyy A: n lähettämiin (luomiin) rahastoihin (UTXO), A: n suorittaman tapahtuman on oltava ennen B: tä, jotta lohko olisi pätevä.

Vaadittavan työn todistamisedellytys on, että jokaisen 256-bittisen lohkon kaksinkertaisen SHA256-tiivisteen on oltava pienempi kuin dynaamisesti säädetty tavoite. Nämä dynaamiset kohteet vaihtelevat ajoittain niin, että kaivostyöläiset tarjoavat runsaasti laskentatehoa vahvistaakseen todistuksensa työstään. Koska SHA256-toiminto on myös täysin pseudosatunnainen ja arvaamaton, ainoa tapa murtaa se on yksinkertaisella kokeilemalla ja erehdyttämällä tai raa'alla voimalla.

Oletetaan, että dynaaminen tavoite on asetettu arvoon ~ 2150, verkon on sitten saavutettava keskimäärin 2 (256–150), joka vastaa 2106 yritystä, ennen kuin kelvollinen lohko löytyy. Tämä dynaaminen tavoite nollataan jokainen 2016 lohko ja kalibroidaan uuteen tavoitearvoon. Keskimäärin uusi lohko tuotetaan kymmenen minuutin välein Bitcoin-verkossa. Kaikesta raskas nostosta, jonka kaivostyöntekijät tekevät helpottamalla liiketoimia ja ratkaisemalla monimutkaisia ​​matematiikkaongelmia, heille annetaan palkkiona Bitcoineja. Alkuperäinen palkkio oli 25 BTC per lohko. Tällä hetkellä palkkio on 12,5 BTC / mined block. Näin bitcoinit tulevat liikkeeseen. Kaivostyöntekijöille myönnetyt Bitcoinit ovat uusia bitcoineja, jotka vapautetaan 21 000 000 Bitcoinista, mikä on koskaan liikkeessä olevien Bitcoinien kova raja.

Mitä tapahtuu hyökkäyksessä?

Nyt analysoidaan kaivostoiminnan hyötyjä ja miten se estää hyökkäykset. Seuraavat rivit on poimittu Ethereumin valkoisesta kirjasta, koska teksti on melko itsestään selvä.

”Hyökkääjän strategia on yksinkertainen:

  1. Lähetä 100 BTC kauppiaalle vastineeksi tuotteesta (mieluiten nopea toimitus digitaalinen tuote)
  2. Odota tuotteen toimitusta
  3. Suorita uusi tapahtuma, joka lähettää saman 100 BTC: n itselleen
  4. Yritä vakuuttaa verkosto, että hänen transaktio itsensä kanssa oli se, joka tuli ensin.

Kun vaihe (1) on suoritettu, muutaman minuutin kuluttua joku kaivosmies sisällyttää tapahtuman lohkoon, sano lohkon numero 270. Noin tunnin kuluttua ketjuun on lisätty viisi muuta lohkoa tämän lohkon jälkeen, jokaisella ne lohkot, jotka osoittavat epäsuorasti liiketoimen ja siten ”vahvistavat” sen. Tässä vaiheessa kauppias hyväksyy maksun viimeisteltynä ja toimittaa tuotteen; koska oletamme, että tämä on digitaalinen hyödyke, toimitus tapahtuu välittömästi. Nyt hyökkääjä luo uuden tapahtuman, joka lähettää 100 BTC: tä itselleen. Jos hyökkääjä vapauttaa sen luonnonvaraisesti, tapahtumaa ei käsitellä; kaivostyöläiset yrittävät ajaa APPLY (S, TX) ja huomaavat, että TX kuluttaa UTXO: ta, joka ei ole enää tilassa. Joten sen sijaan hyökkääjä luo lohkoketjun haarukan aloittamalla louhimalla lohkon 270 toinen versio, joka osoittaa samaan lohkoon 269 kuin vanhempi, mutta uudella tapahtumalla vanhan sijaan. Koska lohkotiedot ovat erilaisia, tämä vaatii työn todistuksen uusimisen. Lisäksi hyökkääjän uudessa versiossa lohkosta 270 on erilainen hash, joten alkuperäiset lohkot 271 - 275 eivät "osoita" siihen; siis alkuperäinen ketju ja hyökkääjän uusi ketju ovat täysin erillisiä. Sääntö on, että haarukassa pisin pätkäketju pidetään totuutena, joten lailliset kaivostyöläiset työskentelevät 275-ketjussa, kun hyökkääjä yksin työskentelee 270-ketjussa. Jotta hyökkääjä voi tehdä lohkonsa pisimmän, hänellä olisi oltava enemmän laskentatehoa kuin muulla verkolla yhdistettynä kiinniottoon (siis "51% hyökkäys"). "

Yllä oleva teksti osoittaa, kuinka hallita lohkoketjua. Hyökkääjällä on oltava enemmän prosessointitehoa kuin 51% kokonaisesta blockchainista, mikä on todennäköisesti mahdotonta ylin kolikoille.

Merkle-puut

Merklepuut auttavat ylläpitämään lohkon ainutlaatuisuutta. Merkle-puut ovat binaaripuu, jossa jokaisella solmulla on kaksi lasta, ja tämä menee aina pohjaan, jotta siinä olisi erilliset lehtisolmut, jotka koostuvat tapahtumadatoista. Nämä lehtisolmut rakentuvat yläosaan alla olevan kuvan osoittamalla tavalla ja päätyvät yhdeksi ”hashiksi”. Tämä lohkon tiiviste koostuu aikaleimasta, noncestä, edellisestä lohkon tiivisteestä ja Merkle-puun juur hashista, kuten vasemmalla olevassa kuvassa näkyy.

Nyt salaustoimintojen kauneus on, vaikka yhden bitin tuloa vaihdetaan, koko salauskuvio muuttuu ja välimuisti hash-arvon ulostulo on erilainen. Tämä muuttaa kokonaisen lohkon hash-arvon ulostulon, ja lohkoketju hylkää sen, koska sillä ei ole kelvollista todistusta työstä. Merkle-puun lähtö on yksi tiiviste, joka on riittävän turvallinen toimimaan vakuutuksena solmuille.

Nämä solmut vertaa tätä hajautusta yhdestä lähteestä toiseen pieneen osaan Merkle-puusta toisesta lähteestä lopulta vahvistaakseen lohkon aitouden. Samanlainen skenaario esitetään yllä olevan kuvan oikealla puolella, kun solmu hylkää lohkon, koska sen hash ei vastaa Merkle-puun tietoja.

Koska bitcoin-ketjuun tallennettu tieto kasvaa jatkuvasti, tulee kohta, jossa keskimääräiset pöytätietokoneet eivät pysty tallentamaan kaikkea tietoa. Tässä kohtaa tulee yksinkertaistettujen maksujen tarkistamiseen (SPV) kutsuttu protokolla. Tämä protokolla antaa solmujen tarkistaa työn todisteet hajautuksella yksittäisissä lohkoissa. Tällaisia ​​solmuja kutsutaan myös ”vaaleiksi solmuiksi”. Nämä valosolmut lataavat lohkon otsikot, tarkistavat lohkotunnisteiden työn todistuksen ja lataavat sitten vain niihin liittyviä tapahtumia koskevat ”haarat”. Kevyet solmut varmistavat siten, että tapahtumat ovat oikeutetut huolimatta siitä, että lataat vain hyvin pienen osan lohkoketjusta.

Vaihtoehtoiset lohkonketjusovellukset

  1. namecoin
    NameCoin antaa sinun rekisteröidä nimet hajautettuun tietokantaan.
  2. Värilliset kolikot
    Värilliset kolikot toimivat protokollana, jonka avulla ihmiset voivat luoda omia digitaalisia valuuttoja Bitcoin-blokkiketjussa.
  3. Metacoins
    Metacoin-protokolla tallennetaan Bitcoinin päälle, mutta se käyttää erilaista tilansiirtotoimintoa kuin Bitcoin. Ne tarjoavat mekanismin mielivaltaisen salauksen valuuttaprotokollan luomiseksi.

Lohkoketjujärjestelmä voidaan rakentaa kahdella tavalla. Ensimmäinen on itsenäisen verkon rakentaminen ja toinen sisältää protokollan rakentamisen Bitcoinin päälle. Ensimmäistä lähestymistapaa on vaikea toteuttaa aiheutuvien kustannusten vuoksi. Myös Blockchain-ohjelmassa käytettävien sovellusten määrä ei vaadi täysimittaista riippumatonta verkkoa. Näiden sovellusten vaatimukset ovat suhteellisen vähemmän tietokoneintensiivisiä.

Bitcoin-pohjaisessa lähestymistavassa on virhe, että se ei peri Bitcoinin yksinkertaistettuja maksutarkistusominaisuuksia. SPV toimii Bitcoinissa, koska se voi käyttää blockchain-syvyyttä välityspalvelimena pätevyyteen; Jossain vaiheessa, kun kaupan esi-isät ovat menneet tarpeeksi pitkälle, on turvallista sanoa, että he olivat laillisesti osa valtiota. Täysin turvallisen SPV-metakoprotokollan toteutuksen tulisi olla taaksepäin suoritettava skannaus aina Bitcoin Blockchain -sovelluksen alkuun saakka, jotta voidaan tarkistaa, ovatko tietyt tapahtumat tapahtuneet vai eivät.

Scripting

Bitcoin-protokolla käsittelee alkeellisempaa versiota älykkäistä sopimuksista. Bitcoinissa oleva UTXO voi olla julkisen avaimen lisäksi myös monimutkaisen komentosarjan omistuksessa, joka ilmaistaan ​​yksinkertaisella ohjelmointikielellä. Tässä skenaariossa tapahtuman jälkeen UTXO: n on toimitettava skriptiä tyydyttävät tiedot. Jälkeenpäin edes julkisen avaimen omistusmekanismi toteutetaan komentosarjan avulla, joka varmennetaan elliptisillä käyrän allekirjoituksilla. Komentosarja palauttaa 1, jos varmennus onnistuu, ja palauttaa 0 muuten.

Tätä voidaan hallita edelleen kirjoittamalla skripti, joka edellyttää allekirjoituksia kahdelta annetuista kolmesta yksityisestä avaimesta validoimiseksi (“multisig”). Tämä on käyttötapa suurille ryhmittymien yritystilille, suojatuille tileille ja escure-tilanteille. Näitä älykkäitä sopimuskäsikirjoituksia voidaan muokata suorittamaan lukuisia toimia käyttötapauksesta riippuen.

Bitcoin-skriptikielellä on kuitenkin useita rajoituksia:

  1. Turingin puutteellisuuden puute - Silmukoita ei ole saatavana estämään ääretöntä silmukkatilannetta, mutta älykkään sopimuksen kirjoittaminen kielellä, joka ei ole Turingin valmista, voi olla huomattavasti pelottavaa.
  2. Arvon sokeus - UTXO-skripti ei pysty selvittämään, onko BTC-arvo muuttunut USD: ään verrattuna.
  3. Valtion puute - UTXO voidaan joko käyttää tai kuluttaa. Monimutkaisten älykkäiden sopimusten luominen, jotka voivat sisältää kaksivaiheisen salauksen todentamisen Bitcoin-verkossa, ei ole mahdollista.
  4. Blockchain-sokeus - UTXOlla ei ole myöskään pääsyä nonce-, aikaleima- tai edelliseen lohkoon. Tämä rajoittaa Bitcoinin käyttöä monilla aloilla.

"Ethereum ehdottaa rakentavan vaihtoehtoisen kehyksen, joka tarjoaa entistä suurempia hyötyjä kehityksen helpottamiseksi ja entistä vahvempia kevyiden asiakasominaisuuksien ominaisuuksia, samalla kun sovellukset voivat jakaa taloudellisen ympäristön ja estää ketjuturvallisuutta."

Tämä päättää Ethereumin valkoisen kirjan osan 1 tulkinnan. Yhteenvetona voidaan todeta, että tämä viesti antoi meille yleiskuvan siitä, kuinka ensimmäinen Cryptocurrency Bitcoin toimii. Seuraavaksi analysoimme, miten Ethereum eroaa Bitcoin-protokollasta.