Zašto su mnogi pametni slučajevi korišćenja ugovora jednostavno nemogući | BS.democraziakmzero.org

Zašto su mnogi pametni slučajevi korišćenja ugovora jednostavno nemogući

Zašto su mnogi pametni slučajevi korišćenja ugovora jednostavno nemogući

Dr Gideon Greenspan je osnivač i izvršni direktor Coin nauka, kompanija koja stoji iza MultiChain platforma za privatne blockchains.

U ovom mišljenju komadu, Greenspan razmatra blockchain omogućen pametne ugovora i zašto je primjena tehnologije može biti pate od napuhane očekivanja.

Kao začetnik popularne blockchain platformu, ja se ponekad pitao da li Ethereum poput pametnih ugovori su na MultiChain putokaz. Odgovor uvijek dajem je uvijek: "Ne, ili barem ne još.

Ali u svijetu hype ispunjene od blockchains, smart contractsare u modi, pa zašto nikada ne? Pa, problem je, a mi sada znamo od tri jake use za permissioned Bitcoin stilu blockchains (provenijencije, kompanija evidencije i lagan finansije), ipak smo da ekvivalent za Ethereum pametan ugovora.

Nije da ljudi ne razumiju ono što oni žele pametne ugovore da radim. Umjesto toga, to je da su mnogi od tih ideja su jednostavno nemoguće. Kada pametni ljudi čuju pojam "pametne ugovora", svoju maštu imaju tendenciju da se razigra. Oni dočaravaju snove autonomnih inteligentnog softvera, ide van u svijet, uzimajući podatke zajedno za vožnju. Nažalost, realnost pametnih ugovora je više svakodnevnih.

Pametna ugovor je dio koda koji se čuva na blockchain, izazvana blockchain transakcija i koji čita i piše podatke u baze podataka koje blockchain a. To je to. Stvarno.

Pametna ugovor je samo fensi ime za kod koji radi na blockchain, i interakciju sa države koja blockchain a. A ono što je kod? To je Pascal, to je Python, to je PHP. To je Java, to je Fortran, to je C ++. Ako govorimo baze podataka, to je pohranjene procedure pisane u produžetak SQL.

Svi ovi jezici su u osnovi ekvivalent, rješavanje iste vrste problema u istom razne načine. Naravno, svaki od njih ima svoje prednosti i mane - lud si izgraditi web stranice u C ili stisnuti HD video u Ruby. Ali u principu najmanje, mogli ste da ste hteli. Ti bi samo platiti visoku cijenu u smislu udobnosti, performansi, i prilično vjerojatno, kosa.

Problem sa pametnim ugovora nije samo da su očekivanja ljudi su preterani, to je da ta očekivanja vode mnogi provesti vrijeme i novac na ideje koje nikako ne može biti implementiran.

Čini se velike kompanije imaju dovoljno sredstava da putuju dugačak put - od trenutka kada je rukovodstvo naiđe na nove tehnologije, kada se zaista razumjeti prednosti i ograničenja koja tehnologije. Možda vlastitim iskustvom može pomoći skratiti ovaj put.

U proteklih devet mjeseci, mi smo kosi mnogo pametan slučajeva upotrebe ugovor, te su se našli odaziva, iznova i iznova, da se jednostavno ne može da se uradi.

Kao rezultat toga, mi smo identifikovali tri pametne ugovor zablude koje su najčešće održan. Ove ideje nisu u pravu, jer je tehnologija nezreo, ili alati su još uvijek nije dostupna.

Umjesto toga, oni pogrešno shvatiti temeljne osobine kod koji živi u bazi podataka i radi na decentraliziran način.

1. Obraćanje eksterne usluge

Često, prvi slučaj korišćenja predložio je pametan ugovor koji mijenja svoje ponašanje kao odgovor na neki vanjski događaj. Na primjer, politika poljoprivredne osiguranja koje isplaćuje uslovno na osnovu količine padavina u datom mjesecu.

Zamišljenom proces ide otprilike ovako: Pametni ugovor čeka dok se određenog vremena, preuzima izvještaj o vremenu iz vanjskog servisa i ponaša se na odgovarajući način na osnovu podataka dobijenih.

Ovo sve zvuči jednostavno dovoljno, ali to je nemoguće. Zašto? Jer je blockchain je sistem konsenzusom, što znači da radi samo ako svaki čvor dostiže identičan stanje nakon obrade svake transakcije i blok.

Sve što se odvija na blockchain mora biti potpuno deterministički, bez mogući način za razlike puzanja u. U trenutku da su dva iskren čvorovi se ne slažu oko stanju lanca, cijeli sistem postaje bezvrijedan.

Sada, sjećate da pametni ugovori izvršavaju samostalno svaki čvor na lancu. Stoga, ako je pametan ugovor dohvaća neke informacije iz vanjskog izvora, ovo preuzimanje se obavlja u više navrata i odvojeno svaki čvor. Ali, pošto ovaj izvor je izvan blockchain, ne postoji garancija da će svaki čvor dobiti isti odgovor.

Možda je izvor će se promijeniti svoj odgovor u vremenu između zahtjeva iz različitih čvorova, ili možda će postati privremeno nedostupan. U svakom slučaju, konsenzus je slomljena i čitav blockchain umire.

Dakle, u čemu je rešenje? Zapravo, to je prilično jednostavno. Umjesto pametnih ugovora pokretanje pronalaženje eksternih podataka, jedan ili više pouzdanih strankama ( "proročanstva") stvara transakciju koja ugrađuje da podaci u lancu. Svaki čvor će imati identičnu kopiju ovih podataka, tako da se može sigurno koristiti na pametan ugovor proračun.

Drugim riječima, Oracle podataka na blockchain nego pametan ugovor povlačeći ga u gura.

Kada su u pitanju pametni ugovora izaziva događaje u vanjskom svijetu, pojavljuje se sličan problem. Na primjer, mnogi mi se ideja pametan ugovora koji poziva API banke, kako bi se transfer novca. Ali ako svaki čvor se samostalno izvršavanje koda u lancu, koji je odgovoran za pozivanje ovog API?

Ako je odgovor samo jedan čvor, šta će se desiti ako taj kvarova čvora, namjerno ili ne? I ako je odgovor svaki čvor, možemo vjerovati svaki čvor sa tim API lozinka? I da li stvarno želimo API zove stotine puta? Što je još gore, ako je pametan ugovor treba da zna da li je API poziv bio uspješan, da smo u pravu natrag na problem zavisnosti od eksternih podataka.

Kao i do sada, jednostavna opcija nije dostupna. Umjesto smart ugovora pozivajući eksterni API, koristimo pouzdani servis koji prati stanje blockchain i vrši određene radnje kao odgovor. Na primjer, banka mogla proaktivno gledati blockchain i obavljaju transfere novca koji odražavaju transakcije na lancu. Ovo ne predstavlja nikakav rizik za konsenzusa blockchain jer lanac igra sasvim pasivnu ulogu.

Gledajući ove dvije zaobilaznice, možemo napraviti neke opservacije.

Prvo, oni zahtevaju pouzdanu entitet za upravljanje interakcije između blockchain i vanjskog svijeta. Iako je ovo tehnički moguće, potkopava cilj decentraliziranog sistema.

Drugo, mehanizama koji se koriste u ovim zaobilaznice su jasni primjeri čitanje i pisanje podataka. Oracle koji pruža eksternih informacija je jednostavno pisanje te informacije u lanac. I usluga koja odražava stanje blockchain u stvarnom svijetu ne čini ništa više od čitanja iz tog lanca. Drugim riječima, sve interakcije između blockchain i vanjskim svijetom je ograničena na redovno poslovanje baze podataka.

Ćemo više govoriti o toj činjenici kasnije.

2. Plaćanja sprovođenje na lancu

Evo još jedan prijedlog da smo skloni da čujemo dosta: pomoću pametne ugovor za automatizaciju isplata kupona za takozvani "pametni obveznica". Ideja je za pametne kod ugovor automatski pokrene uplate na odgovarajuće vrijeme, izbjegavajući uporabu procese i garantuje da emitent ne može zadane vrijednosti.

Naravno, da bi za to da rade, sredstva koristiti za plaćanje moraju živjeti unutar blockchain kao, inače pametan ugovor ne može da garantuje moguće njihovo plaćanje.

Podsjetimo da je blockchain je samo baza podataka, u ovom slučaju finansijske knjigu koja sadrži izdala obveznice i nešto novca. Dakle, kada govorimo o plaćanjima kupona, ono što mi zapravo govorimo o su operacije baze podataka koja automatski se održati u dogovorenom vremenu.

Iako je ovo automatizacija je tehnički izvodljivo, pati od financijske teškoće. Ako se sredstva koja se koriste za plaćanje kupona su pod kontrolom obveznice pametan ugovor, onda te uplate zaista mogu biti zajamčena. Ali to također znači da ta sredstva ne mogu koristiti od strane izdavaoca obveznice za bilo šta drugo. A ako ta sredstva nisu pod kontrolom pametnih ugovora, onda ne postoji način na koji može jamčiti isplatu.

Drugim riječima, pametan obveznica je bilo besmisleno za emitenta, ili besmislena za investitora. A ako mislite o tome, to je sasvim očigledno ishod.

Iz perspektive investitora, poenta obveznice je svojim atraktivnim stopa povrata, po cijenu nekih od rizika neplaćanja. I za emitenta, svrha obveznica je prikupljanje sredstava za produktivno ali nešto rizično aktivnosti, kao što je izgradnja nove tvornice.

Ne postoji način za emitenta obveznica da iskoriste sredstva prikupljena, a istovremeno garantuje da će investitor biti otplaćen. To ne bi trebalo biti iznenađenje da je veza između rizika i prinosa nije problem koji blockchains može riješiti.

3. Skrivanje povjerljivih podataka

Kao što sam pisao o ranije, najveći izazov u raspoređivanju blockchains je radikalna transparentnost koje pružaju.

Na primjer, ako je 10 banaka uspostavi blockchain zajedno, i dva provesti bilateralni transakcije, ovo će biti odmah vidljive na drugu osam. Iako postoje različite strategije za ublažavanje ovog problema, ni tukli jednostavnost i efikasnost centralizovane baze podataka u kojoj pouzdani administrator ima potpunu kontrolu nad ko može da vidi šta.

Neki ljudi misle da pametni ugovori mogu riješiti ovaj problem. Oni će početi sa činjenicom da je svaki pametan ugovor sadrži vlastitu minijaturne bazu podataka, nad kojima ima potpunu kontrolu. Sve operacije čitanja i pisanja na ovoj bazi podataka posreduje kod ugovora, što je nemoguće za jedan ugovor direktno čitati tuđe podatke. (Ovaj uske spojnica između podataka i kod se zove inkapsulacija, i to je temelj popularnog objektno-orijentirano programiranje paradigme).

Dakle, ako jedan pametan ugovor ne može pristupiti drugoga podacima, imamo riješen problem blockchain tajnosti? Ima li smisla govoriti o krije informacija na pametan ugovor? Nažalost, odgovor je ne.

Jer, čak i ako se pametan ugovor ne može čitati tuđe podatke, da se podaci još uvijek se nalaze na svakom čvoru u lancu. Za svaku blockchain učesnika, to je u memoriju ili disk sistema koji koji učesnik u potpunosti kontrolira. I ne postoji ništa da ih zaustavi čitanjem informacija iz svog sistema, ako i kada se odluče da to učine.

Skrivanje podataka na pametan ugovora je oko kao siguran kao što krije ga u HTML koda web stranice. Naravno, običan web korisnici neće vidjeti, jer to nije prikazan u prozoru browser. Ali sve što je potrebno je za web browser dodati 'View Source "funkcija (kao što svi oni imaju), a informacije postaje univerzalno vidljiva.

Slično tome, za podatke skrivene u pametnim ugovore, sve što je potrebno je da neko izmijeniti svoje blockchain softver za prikaz pune državni ugovor, a sve privid tajnosti je izgubljeno.

A pola pristojan programer mogao da u jedan sat ili tako.

Šta pametne ugovori su za

Uz toliko stvari koje pametni ugovori ne mogu, moglo bi se pitati šta su oni zapravo za vas. Ali, da bi odgovorili na ovo pitanje, moramo da se vratimo na osnove same blockchains. Da rezimiramo, a blockchain omogućuje baze podataka da bi subjekti koji ne vjeruju jedni drugima direktno i sigurno zajednički, bez potrebe za centralnim administratora.

Blockchains omogućiti dezintermedijacije podataka, a to može dovesti do značajnih ušteda u složenosti i troškova.

Bilo koja baza podataka se mijenja preko "transakcije", koja sadrži niz promjena u tom baza podataka koja mora uspjeti ili ne u cjelini. Na primjer, u finansijskom knjizi, plaćanje od Alice Bob predstavlja transakciju (a) provjerava da li Alice ima dovoljno sredstava, (b) odbija količina sa računa Alice i (c) dodaje istu količinu za Boba.

U redovnom centralizovane baze podataka, ove transakcije su stvoreni od strane jednog pouzdanog izvora. Nasuprot tome, u zajedničku bazu podataka blockchain pogon, transakcije se mogu formirati bilo korisnika koji blockchain a. A pošto ovi korisnici u potpunosti ne vjeruju jedni drugima, baza podataka mora sadržavati pravila koja ograničavaju transakcija.

Na primjer, u peer-to-peer finansijske Ledger, svaka transakcija mora očuvati ukupnu količinu sredstava, inače učesnici mogli slobodno dati sebe onoliko novca koliko im se sviđa.

Može se zamisliti razne načine izražavanja ovih pravila, ali za sada postoje dvije dominantne paradigme, inspiriran Bitcoin i Ethereum, respektivno. Metod Bitcoin, koji bismo mogli nazvati "transakcija ograničenja", ocjenjuje svake transakcije u smislu: (a) unosi u bazu podataka izbrisati tu transakciju i (b) stavke stvorio.

U finansijskom knjizi, pravilo kaže da je ukupna količina sredstava u izbrisane stavke mora da odgovara ukupnom u tim stvorio. (Smatramo da je modifikacija postojećeg ulazak u biti jednaka brisanje taj unos i stvaranje novog na svoje mjesto).

Drugi paradigma, koja dolazi iz Ethereum je pametan ugovora. Ovo se navodi da sve modifikacije podacima ugovor se mora obaviti svoj kod. (U kontekstu tradicionalnih baza podataka, možemo razmišljati o ovome kao prisilnog pohranjene procedure.) Da biste izmijenili podatke ugovor je, blockchain korisnici pošalju zahtjeve njegov kod, koji određuje da li i na koji način da ispune te zahtjeve.

Kao što je u ovom primjeru, pametni ugovor za finansijsku knjigu obavlja istu tri zadatka kao administrator centralizirane baze podataka: provjera za dovoljno sredstava, oduzimanjem od jednog računa i dodavanje na drugi.

Oba ova paradigme su efikasne, a svaki od njih ima svoje prednosti i mane. Da rezimiramo, Bitcoin stilu transakcija ograničenja pružaju superiorne istodobnost i performanse, dok Ethereum stilu pametan ugovora nude veću fleksibilnost.

Tako da se vrati na pitanje šta pametnih ugovori za Smart ugovori za slučajeve blockchain upotrebe koji se ne mogu provesti sa transakcija ograničenja.

S obzirom na to kriterij za korištenje pametnih ugovore, ja sam još da vidim jak slučaj koristi permissioned blockchains koji kvalifikuje.

Svi uvjerljivih blockchain aplikacije znam mogu biti implementirani sa bitcoin stilu transakcije, koja može nositi permissioning i opšte pohranu podataka, kao i stvaranje imovine, transfer, escrow, razmjenu i uništenje. Ipak, novi slučajevi korišćenja i dalje pojavljuju, a ja ne bi me iznenadilo da neki od njih tražiti da pametnih ugovora. Ili, u najmanju ruku, produžetak Bitcoin paradigme.

Bez obzira na odgovor ispostavi da, ključ je zapamtiti da pametan ugovori su jednostavno jedan metod za ograničavanje transakcija obavljenih u bazi podataka.

Ovo je bez sumnje korisna stvar, i je bitno da što tu bazu podataka sigurno za dijeljenje. Ali pametan ugovori ne mogu učiniti ništa drugo, a oni sigurno ne možete pobjeći od granice baze podataka u kojoj borave.

EthereumSmart Ugovori

Povezane vijesti


Post Ethereum

Tendermint Istraživanje mogućnosti javnog blokiranja bloka

Post Ethereum

Zk-Starks? New Take on Zcash Tech mogla bi zaista imati privatne blokade

Post Ethereum

DAO: Ili kako je projekat Leaderless Ethereum podigao 50 miliona dolara

Post Ethereum

Bitcoin Cene prožile prošle godine 770 dolara, ali padaju samo kraće od 2018. godine

Post Ethereum

Evo prvog pogleda na Alatke identiteta Thomson Rojtersa

Post Ethereum

Microsoft pokreće radnu grupu za bezbednosne ugovore

Post Ethereum

Nova ranjivost može spriječiti Ethereum Soft Fork

Post Ethereum

2017. bila je Bitkoinova godina. 2018 će biti Ethereum

Post Ethereum

Eyeing Volume, Asian exchanges Dodajte podršku za Eter trading

Post Ethereum

DAO Kriza: Ili kako je budilastizam i blokočinška demokratija postala najbolja nada za spaljene investitore

Post Ethereum

Ethereum se koristi za trgovinu prvobitno plaćenom energijom koristeći Blockchain Tech

Post Ethereum

Javno mnjenje Split Kao finansiranje DAO Rakes in Ethereum