Miks paljud tarkvaralahenduste kasutusjuhtumid on lihtsalt võimatatud | EE.democraziakmzero.org

Miks paljud tarkvaralahenduste kasutusjuhtumid on lihtsalt võimatatud

Miks paljud tarkvaralahenduste kasutusjuhtumid on lihtsalt võimatatud

Dr Gideon Greenspan on asutaja ja tegevjuht Müntide Sciences, firma taga MultiChain platvormi era blockchains.

Käesolevas arvamuses tükk Greenspan arutab blockchain-toega smart lepingute ja miks see tehnoloogia rakendamisega võib põevad pumbatud ootustele.

Kuna arendaja populaarne blockchain platvorm, ma mõnikord saab küsida, kas Ethereum-nagu smart lepingud on Euroopa MultiChain tegevuskava. Vastus Ma alati on alati: "Ei, või vähemalt mitte veel".

Aga hype eeltäidetud maailma blockchains, smart contractsare kõik raev, miks kunagi mitte? Noh, probleem on, kui me teame nüüd, kolm tugevat kasutusjuhtumid permissioned Bitcoin stiilis blockchains (päritolu, firma dokumendihaldus ja kerge rahandus), me oleme veel leida samaväärne Ethereum smart lepingud.

See ei ole, et inimesed ei saa aru, mida nad tahavad smart lepingud teha. Pigem on see, et nii paljud neist ideedest on lihtsalt võimatu. Kui arukad inimesed kuulevad sõna "smart lepingud", nende ettekujutused kipuvad metsikuks. Nad võluda unistused autonoomne intelligentne tarkvara, läheb maha maailma, võttes andmed mööda ette sõita. Kahjuks reaalsus smart lepingud on rohkem Ilmalik.

Nutikas leping on tükk kood, mis on salvestatud kohta blockchain vallandas blockchain tehinguid ning loeb ja kirjutab andmeid, et blockchain andmebaasi. Nii see on. Tõesti.

Nutikas leping on lihtsalt väljamõeldud nimi koodi, mis töötab blockchain ja suhtleb et blockchain seisundi. Ja mis on kood? See on Pascal, see on Python, see on PHP. See on Java, see Fortran, see on C ++. Kui me räägime andmebaasid, mis on salvestatud protseduurid kirjalike laienduses SQL.

Kõik need keeled on põhimõtteliselt samaväärne, lahendades samal erinevaid probleeme samas mitmel moel. Muidugi, igaühel neist on oma tugevad ja nõrgad küljed - siis oleksin hull ehitada veebilehel C või suruma HD video Ruby. Aga põhimõtteliselt vähemalt võid, kui sa tahad. Sa lihtsalt maksta kõrget hinda poolest mugavuse, jõudluse ja üsna tõenäoliselt, juukseid.

Probleem smart lepingud ei ole ainult, et inimeste ootused on ülepaisutatud, see on, et need ootused on juhtiv palju kulutada aega ja raha ideid, mis ei saa kuidagi rakendada.

Tundub suurettevõtted on piisavalt vahendeid reisida pikk tee - alates hetkest, kui tippjuhtkond kohtab uut tehnoloogiat, et kui see tehnoloogia eelised ja piirangud on tõeliselt mõista. Võibolla meie enda kogemus aitab lühendada seekord.

Viimase üheksa kuu jooksul oleme olnud lõid palju nutikaid lepingu kasutamine juhtudel ja leidnud end reageeri, ikka ja jälle, et nad lihtsalt ei saa teha.

Selle tulemusena oleme tuvastanud kolme targa lepingu väärarusaamu, mis on kõige levinud. Need ideed ei ole vale, sest tehnoloogia on ebaküps või vahendid ei ole veel kättesaadavad.

Pigem nad valesti põhilisi omadusi kood, mis elab andmebaasi ja jookseb detsentraliseeritud viisil.

1. Pöördumine välise teenused

Sageli esimest kasutamist juhul ettepanek on tark leping, mis muudab oma käitumist vastuseks mõned väline sündmus. Näiteks põllumajanduse kindlustuspoliis, mis maksab tingimisi põhineb kogus sademeid antud kuus.

Kujuteldav protsess läheb midagi sellist: Smart leping ootab kuni ettemääratud ajal hangib ilmateadet välisest teenindust ja käitub õigesti andmete põhjal sai.

See kõik kõlab lihtne, kuid see on ka võimatu. Miks? Kuna blockchain on konsensusel põhinev süsteem, mis tähendab, et see toimib ainult siis, kui iga sõlm jõuab samasuguses seisundis pärast töötlemist iga tehingu ja blokeerida.

Kõik, mis leiab aset blockchain peab olema täiesti deterministlik, ilma võimalikul viisil erinevusi libiseda. Hetk, et kaks aus sõlmede vaidlevad keti riik, kogu süsteem muutub väärtusetuks.

Nüüd meenutada, et smart lepingute täide iseseisvalt iga sõlme kett. Seega, kui tark lepingu otsib mõningaid andmeid välisest allikast, see ülekanne toimub korduvalt ja eraldi iga sõlme. Aga kuna see allikas on väljaspool blockchain, ei ole mingit garantiid, et iga sõlm saab sama vastuse.

Ehk allikas muutub tema reaktsiooni vaheline aeg taotlusi erinevate sõlmede või ehk see muutub ajutiselt kättesaamatu. Mõlemal juhul, konsensus on katki ja kogu blockchain sureb.

Niisiis, milline on lahendus? Tegelikult, see on üsna lihtne. Selle asemel, et tark lepingu algatamist otsinguga väliseid andmeid, ühe või mitme usaldusväärne pooled ( "Oraakel") loob tehing, mis manustab andmete ahelas. Iga sõlme on identne koopia neid andmeid, nii et seda saab ohutult kasutada smart lepingu arvutusvõimsus.

Teisisõnu, oraakel lükkab andmete kirjutamiseks blockchain mitte tark lepingu tõmmates seda.

Kui tegemist on aruka lepingute põhjustab sündmused välismaailmaga, sarnane probleem näib. Näiteks paljud meeldib idee tark leping, mis nõuab panga API, et kanda raha. Aga kui iga sõlm on sõltumatult koodi täitmisel ahelas, kes vastutab kutsudes seda API?

Kui vastus on ainult üks sõlm, mis juhtub, kui selle konkreetse sõlme rikkeid teadlikult või mitte? Ja kui vastus on iga sõlm, me saame usaldada iga sõlm, et API parooli? Ja me tõesti API nimega sadu kordi? Isegi hullem, kui tark lepingu peab teadma, kas API kõne oli edukas, oleme kohe tagasi probleemile sõltuvalt väliseid andmeid.

Nagu varemgi, lihtne lahendus on olemas. Selle asemel, et nutika lepingu kutsudes välise API, mida me kasutame usaldusväärne teenus, mis jälgib blockchain riigi- ja täidab teatud meetmed vastusena. Näiteks võiks pank ennetavalt vaadata blockchain ja teha rahaülekandeid, mis on samane on-ahela tehinguid. See ei kujuta endast ohtu, et blockchain üksmeel, sest ahela mängib täiesti passiivne roll.

Vaadates nende kahe ümbersõite, saame teha mõned tähelepanekud.

Esiteks, nad mõlemad vajavad usaldusväärse üksuse hallata vastastikmõjude blockchain ja välismaailmaga. Kuigi see on tehniliselt võimalik, siis kahjustab eesmärgiks detsentraliseeritud süsteemi.

Teiseks mehhanisme, mida kasutatakse nendes ümbersõite on lihtne näiteid lugemise ja kirjutamise andmebaasi. Oracle mis annab välist teavet on lihtsalt kirjalikult, et info kett. Ja teenuse, mis kajastab blockchain seisundi reaalses maailmas ei tee midagi rohkem kui lugemine, et kett. Teisisõnu, ükskõik vastastikune blockchain ja välismaailmaga on piiratud regulaarne andmebaasi operatsioone.

Me räägime rohkem sellest hiljem.

2. Jõustanud-ahela maksed

Siin on veel üks ettepanek, et me kipuvad kuulda palju: kasutades smart lepingu automatiseerida maksmise kuponge nn "smart side". Idee on nutikas lepingu koodi automaatselt algatada makseid õigel ajal, vältides kasutusjuhend ning tagades, et emitent ei täida.

Muidugi, selleks, et see toimiks, kasutatud vahendite makseid tuleb elada sees blockchain samuti, muidu tark ei ole lepingu võimalik tagada nende makse.

Tuletame meelde, et blockchain on vaid andmebaasi, antud juhul rahalise pearaamat sisaldab väljastatud võlakirjade ja mõned raha. Niisiis, kui me räägime kupongitasude mida me tegelikult räägime on andmebaasi operatsioone, mis toimuvad automaatselt kokkulepitud ajal.

Kuigi see automaatika on tehniliselt teostatav, siis kannatab rahalistes raskustes. Kui raha kasutatakse kupongi makseid kontrollib side nutika lepingu siis need maksed on tõepoolest võimalik tagada. Aga see tähendab ka neid vahendeid ei tohi kasutada võlakirja väljastaja midagi muud. Ja kui neid vahendeid ei ole kontrolli all Smart leping, siis ei ole võimalik, kus makse ei saa garanteerida.

Teisisõnu, tark side on kas mõttetu emitendi või mõttetu investorile. Ja kui sa mõtled seda, et see on täiesti selge tulemuse.

Investori seisukohast mõte side on oma ilusa tootlus hinnaga mõned maksejõuetuse riski. Ja väljastaja, side on eesmärk on koguda raha produktiivne, kuid mõnevõrra riskantne tegevus, nagu hoone uue tehase.

Ei ole nii, et võlakirjaemitenti kasutada kogutud vahenditest, tagades samas, et investor saab tagasi makstud. See ei tohiks tulla üllatusena, et seos riski ja tulu ei ole probleem, et blockchains saab lahendada.

3. Peitmine konfidentsiaalseid andmeid

Nagu ma olen kirjutanud varem, et suurim väljakutse rakendades blockchains on radikaalne läbipaistvus, mis nad pakuvad.

Näiteks kui 10 pangad luua blockchain koos ja kaks läbi kahepoolsete tehingute, see on kohe nähtav teistele kaheksa. Kuigi on erinevaid strateegiaid leevendamise see probleem, ükski võita lihtsus ja tõhusus keskandmebaasi, kus usaldusväärne haldaja on täielik kontroll selle üle, kes mida näha võib.

Mõned inimesed arvavad, et smart lepingute saab seda probleemi lahendada. Nad alustada sellest, et iga arukas leping sisaldab oma miniatuurne andmebaasi, milles ta on täielik kontroll. Kõik lugeda ja kirjutada operatsioone selles andmebaasis on vahendatud lepingu kood, mis muudab võimatuks ühe lepingu lugeda teise andmed otse. (See tihe sidestus andmed ja kood nimetatakse kapseldus ja on aluseks populaarne objektorienteeritud programmeerimise paradigma).

Niisiis, kui üks tark lepingu ei pääse teise andmed, on meil lahendanud blockchain konfidentsiaalsuse? Kas on mõtet rääkida peidus teavet tark lepingu? Kahjuks on vastus eitav.

Sest isegi siis, kui üks tark leping ei saa lugeda kellegi teise andmeid, et andmed on veel salvestatud iga sõlme ahelas. Iga blockchain osaleja, see on mälu või ketta süsteemi, mis selle osaleja täielikult kontrollib. Ja seal on midagi, et neid peatada lugedes informatsiooni oma süsteemi, siis kui nad otsustavad seda teha.

Peitmine andmeid tark leping on umbes sama turvaline kui peidus see HTML kood veebilehele. Muidugi, regulaarne web kasutajad ei näe seda, sest see ei kuvata brauseri aknas. Aga kõik see võtab on veebibrauser lisada "View Source" funktsiooni (nagu nad kõik on) ja teave muutub üldiselt nähtav.

Samamoodi andmete peidetud smart lepingud, kõik see võtab on keegi muuta oma blockchain tarkvara näidata lepingu täieliku riik, ja kõik väljanägemine salajasus on kadunud.

Pool korralik programmeerija võiks teha, et tund või nii.

Mis smart lepingud on

Nii palju asju, mis aruka lepingud ei saa, võib küsida, nad tegelikult võtta. Aga selleks, et sellele küsimusele vastata, peame minema tagasi põhitõdesid blockchains ise. Kokkuvõtvalt, et blockchain võimaldab andmebaasi otseselt ja ohutult jagatud üksused, kes ei usalda üksteist, ilma et keskne haldur.

Blockchains võimaldavad andmed pangasüsteemi, ja see võib kaasa tuua olulist kokkuhoidu keerukus ja maksumus.

Iga andmebaasi kaudu muuta "tehingud", mis sisaldavad kogum muudatusi, et andmebaas, mis tuleb toime tulla või mitte tervikuna. Näiteks rahalist Ledger, makse Alice Bobile esindab tehingu, et (a) kontrollib, kas Alice on piisavalt vahendeid, (b) arvab kogus alates Alice konto ja (c) lisab sama koguse Bobi.

Korrapäraste keskandmebaasi, need tehingud on loodud ühe usaldusväärne institutsioon. Seevastu on blockchain juhitud jagatud andmebaas, tehingute saab luua mis tahes selle blockchain kasutajatele. Ja kuna kasutajad ei ole täielikult usaldavad üksteist, andmebaasi peab sisaldama eeskirju, mis piiravad teostatud tehingute.

Näiteks peer-to-peer rahalist Ledger, tuleb iga tehingut säilitada üldkogus raha, muidu said osalejad vabalt anda ise nii palju raha kui nad meeldis.

Võib ette kujutada erinevatel viisidel väljendada neid reegleid, kuid nüüd on kaks valitsevat paradigmad, mis on inspireeritud Bitcoin ja Ethereum võrra. Bitcoin meetod, mida me võiksime nimetada "tehingu piiranguid", hindab iga tehingu osas: (a) andmebaasi kannete välja selle tehinguga ja (b) kanded loodud.

In rahalist Ledger, puhul reegel näeb ette, et üldkogus vahendite kustutatud kanded on sobitada kokku nendes loodud. (Leiame muutmine Olemasoleva kirje on samaväärne kustutamist, et sisenemise ja uue loomisega selle asemel).

Teine paradigma, mis pärineb Ethereum, on tark lepingud. See sätestab, et kõik muudatused lepingu andmed tuleb läbi selle koodi. (Seoses traditsiooniliste andmebaasid, me ei mõtle seda kui jõustada hoida korras.) Muutmiseks lepingu andmed, blockchain kasutajatel saata taotlused oma koodi, mis määrab, kas ja kuidas täita neid taotlusi.

Nagu selle näite puhul nutikas lepingu rahaline pearaamatu täidab sama kolm ülesannet nagu administraator keskandmebaasi: kontrollimine piisavalt vahendeid, lahutades ühe konto ja lisada teise.

Mõlemad paradigmad on tõhusad ja igaühel neist on oma plussid ja miinused. Kokkuvõttes Bitcoin stiilis tehingu piiranguid pakkuda hea kokkulangevus ja tulemuslikkust, samas Ethereum stiilis smart lepingud pakuvad suuremat paindlikkust.

Nii et naasta küsimusele, mida arukas lepingud on: Smart lepingud on blockchain kasutamise juhtudel, mida ei saa rakendada tehingu piiranguid.

Arvestades seda kriteeriumit kasutades smart lepingud, ma olen veel näha tugevat kasutamise puhul permissioned blockchains mis kvalifitseerub.

Kõik mõjuvad blockchain rakendused Tean saab rakendada Bitcoin stiilis tehingutes, mis saavad hakkama permissioning ja üldine andmete salvestamise, samuti vara loomise, üleandmine, deponeerimine, vahetada ja hävitamine. Sellegipoolest uue kasutusviisi juhtudel kuvatakse ikka, ja ma ei oleks üllatunud, kui mõned ei nõua Arukate lepingute. Või vähemalt, pikendada Bitcoin paradigma.

Ükskõik vastus osutub, võti on meeles pidada, et smart lepingud on lihtsalt üks meetod piiramiseks aastal teostatud tehingute andmebaasi.

See on kahtlemata kasulik asi, ja on oluline teha, et andmebaas ohutu jagamine. Aga smart lepingud ei saa midagi teha muud, ja nad kindlasti ei pääse piire andmebaasi, kus nad elavad.

EthereumSmart Lepingud

Seotud uudised


Post Ethereum

The Plot paksub kui DAO ründaja kaupleb varastatud fondide Bitcoin

Post Ethereum

Ethereum Classic Hinnad Plunge 20% kauplejana Intress Wanes

Post Ethereum

Lõpuks? Parity Releases - Ethereum Hard Fork

Post Ethereum

Muutumatusest kaugemale: Ethereum Classic kaart edasiliikumiseks

Post Ethereum

Enterprise Ethereum Alliance töötab 90-liikmelise raekoja koosolekul

Post Ethereum

Microsofti Bletchley Blockchaini projekt siseneb järgmisele etapile

Post Ethereum

Ethereumi vahetuslepingute tööriist lisati Microsofti Blockchaini liivakasti

Post Ethereum

DAO on uus Dow

Post Ethereum

Uue Ethereumi pakkumise eesmärk on ülemääraste tarnelepingute sõlmimine

Post Ethereum

Ethereumi lugu kahest ahelast

Post Ethereum

Leaderless DAO pannakse proovile Ethereumi haavatavuse tagajärjel

Post Ethereum

Bitcoini võluv innovatsioonipõhi on võitja maksete arendajatele