En oversigt over de mest pålidelige kryptokurrency smarte kontraktplatforme
En smart kontrakt er en digital kontrakt, der er skrevet ved hjælp af If-Then-betingede computerkode til at definere en aftale mellem to eller flere parter med visse regler og sanktioner, der er registreret på blockchain. Kontraherende parter er anonyme, men selve kontrakten udsendes til den offentlige hovedbog. En udløsende begivenhed, såsom at ramme en strykpris eller nå en udløbsdato, antænder udførelsen af kontrakten i henhold til aftalevilkårene kodet inden for den smarte kontrakt.
Smarte kontrakter er midler til udveksling af penge, aktier, ejendomme eller enhver form for aktiv på en gennemsigtig, sikker og konfliktfri måde, mens behovet for formidling af en mellemmand udelades.
I hele denne artikel gennemgår vi de mest anvendte smarte kontraktplatforme, der har vist sig at være effektive og pålidelige på tværs af forskellige forretningsapplikationer. Hvis du gerne vil lære om smarte kontrakter og hvordan de fungerer, vi har en Cointelligence Academy-klasse, der dækker dem detaljeret.
De mest populære smarte kontraktplatforme
Ethereum (ETH)
Ethereum er en decentraliseret blockchain-baseret platform, der kører smarte kontrakter, som også har åbnet døren til decentrale applikationer (DApps). Ethereum Virtual Machine (EVM) er en virtuel maskine, der udfører alle smarte kontrakter. EVM er en Turing Complete 256 bit virtuel maskine. Ethereum-baserede smarte kontrakter er kodet ved hjælp af Solidity, som er et Turing Complete-programmeringssprog, der tillader kodning af looping- og forgreningskodesætninger. Tørhed "Turing fuldstændighed" gør Ethereum ideel til kodning af smarte kontrakter med sofistikeret logik.
"Gas" er brændstoffet i Ethereums smarte kontrakter. Det kvantificerer den nødvendige mængde beregningskraft til at udføre smarte kontrakter via EVM. Når du indsender en smart kontrakt, skal du bestemme dens gasværdi. Hvert trin langs koden til den smarte kontrakt kræver, at der udføres en forudbestemt mængde gas.
Ethereums smarte kontrakter kan:
– Handle som "multisignatur" ethereum-konti, så mønter kun bruges, hvis et forudbestemt antal brugere er enige
– Tilby nytte til andre smarte kontrakter på Ethereums blockchain
– Registrer oplysninger om ejerskab af aktiver, domæneregistrering, medlemsrettigheder, applikationsrettigheder og mere
– Administrer aftaler mellem flere parter, såsom huslejer, forretningssamarbejde og forsikring
– Bliv kodet til at udstede tokens som ICO-tokens, der bruges til crowdfinansiering. Der er flere tokenstandarder, der bruges til at udstede tokens på Ethereums platform, herunder ERC-20, ERC223 og ERC77-standarder. ERC-20 er den mest anvendte standard til at udstede tokens til ICO-formål på trods af dens alvorlige bugs, der allerede har ført til millioner af dollars værd i tab i kryptoindustrien.
ERC-20 udfører en token-transaktion på en af to måder:
1- overførsel (): denne funktion antænder afsendelse af tokens til en bestemt brugers adresse.
2- godkende () + transferFrom (): denne funktion antænder deponering af tokens til en foruddefineret smart kontrakt.
Men hvis overførselsfunktionen () ved et uheld bruges til at sende tokens til en smart kontrakt, vil transaktionen blive udført med succes, men alligevel genkendes denne transaktion aldrig af modtagerens smarte kontraktadresse. Denne fejl inspirerede udviklere til at oprette ERC223 og ERC77 standarder.
– ERC223: Denne standard mindsker den kritiske ERC-20-fejl ved at ændre overførselsfunktionen (), så den kaster en fejl som reaktion på ugyldige overførsler og annullerer transaktionen, så der ikke går noget tab.
– ERC777: Denne standard løser ERC20’s problem med manglende transaktionshåndtering.
Ethereum er et populært valg til at skabe smarte kontrakter, men platformens skalerbarhedsproblemer gør det uegnet til mange virkelige applikationer. Soliditet mangler kodningsfleksibilitet, der leveres af nyere programmeringssprog. Soliditet mangler understøttelse af flerdimensionelle arrays i inputparametre såvel som outputparametre. Desuden understøtter Solidity kun 16 parametre inden for en smart kontraktfunktion.
På trods af dette bruges smarte kontrakter baseret på Ethereum i forskellige applikationer. For eksempel, PCHAIN var det første blockchain-projekt, der oprettede et oprindeligt system med flere kæder, der fuldt ud understøtter Ethereum Virtual Machine (EVM) – runtime-miljøet for Ethereum-smarte kontrakter.
EOS
EOS bliver i stigende grad en af de mest populære smarte kontraktplatforme. Platformen har fanget kryptosamfundets opmærksomhed på grund af et utal af årsager, nemlig at transaktioner på platformen kræver næsten ingen gebyrer og platformens evne til at håndtere millioner af transaktioner pr. Sekund.
Smarte kontrakter programmeres ved hjælp af C ++, hvilket øger programmeringsfleksibiliteten. EOS-smarte kontrakter implementeres på blockchain i form af præ-kompileret Web Assembly (WASM), som fremmer hurtigere udførelse af kontrakter sammenlignet med Ethereum-baserede smarte kontrakter. WASM er kompileret med C / C ++ via clang og LLVM. Udviklere skal have kendskab til C / C ++ for at kunne kode smarte kontrakter på EOS’s blockchain. Selvom C kan bruges til at oprette kontrakter, anbefales det stærkt at bruge EOS.IO C ++ API, som styrker kontraktens sikkerhed og gør dens kode let læselig. EOS bruger den delegerede proof of stake (dPoS) konsensusmekanisme, der fungerer med delvis evaluering og parallel udførelse for at tilbyde en smart kontraktplatform med høje skalerbarhedsniveauer og næsten nul transaktionsgebyrer.
Selvom EOS er meget mindre populær end Ethereum, har den etableret "airdropping" model som en konkurrent til Ethereums ICO crowdfinansieringsmodel.
Aion (AION):
Aion er en smart kontraktplatform, der muliggør dirigering af transaktioner og meddelelser mellem forskellige blockchains via dens innovative "brodannelse" protokoller. Aion er et netværk med flere niveauer, der består af følgende komponenter:
– Broer
– Tilslutning af netværk
– Interchain-transaktioner
– Deltagende netværk
Aions broer vil gøre det muligt at handle på tværs af flere blockchains (interchain-transaktioner) via AION-blockchain-økosystemet. Interchain-transaktioner udføres via broer og forbindende netværk. Forbindelsesnetværk repræsenterer protokollerne, via hvilke alle offentlige og private blockchains kan kommunikere med AION’s blockchain-økosystem. Deltagende netværk er netværk, der har opfyldt et specielt sæt krav for at blive en del af AION’s blockchain-økosystem. Deltagende netværk skal understøtte udsendelse af atomtransaktioner og implementere låsetid, der gør det muligt for dem at fryse transaktioner, der kommer ind i en tilstand af "Åh hold".
Aion Virtual Machine (AVM) muliggør udførelse af smarte kontrakter. AVM er en JVM-implementering, der er designet til at udføre kædelogik. Aion-sproget er det scriptingsprog, der bruges til at programmere smarte kontrakter i AVM. I øjeblikket kører Aions kerne på Java, så udviklere skal bruge sprog som Python eller Groovy til at kode smarte kontrakter på Aions blockchain. Imidlertid vil platformen i sidste ende stole på Aion-sproget til at scripte smarte kontrakter.
Aion-1 er Aions uafhængige platform, der tillader udførelse af smarte kontrakter oprettet på andre blockchains. Lige nu er Aion afhængig af Ethereums EVM, men til sidst vil Aion-1 blive aktiveret og gøre det muligt for udviklere at køre deres Ethereum-baserede smarte kontrakter og DApps meget billigere og hurtigere end på EVM.
NEM
NEM er en smart kontraktplatform, der er mere skalerbar end Ethereum. Hvor Ethereum kan håndtere 15 transaktioner pr. Sekund, kan NEM håndtere hundreder af transaktioner pr. Sekund. NEM er hurtigere, mere sikker og giver en simpel smart kontraktteknologi. NEM bruger off-blockchain-kode til programmering af smarte kontrakter, hvilket gør NEMs blockchain mindre decentraliseret end Ethereums, men alligevel fremmer højere sikkerhedsniveauer, hurtigere bekræftelse af transaktioner og lettere programmeringskode. NEMs on-chain sikkerhedsfunktioner såsom multisignaturer og smarte aktiver løser dette problem.
Smart aktiver er unikke datahåndteringsapps, der kan bruges til at oprette dataposter, tokens, afstemningssystemer og nye mønter ved hjælp af simpel programmeringskode. Den ekstreme funktionalitet i NEMs blockchain leveres via dens kraftfulde API, som tillader brug af ethvert programmeringssprog (såsom JS, Python og andre) til at kode smarte kontrakter. NEMs API bruges til at udvikle sig "kontrakter uden for kæden", som kan opdateres når som helst uden at kommunikere med NEMs blockchain.
Fantastisk
Stellar er en smart kontraktplatform, hvor transaktioner er mere sikre, hurtigere og billigere end transaktioner på Ethereums blockchain. Stjære smarte kontrakter (SSC) er ikke Turing komplette og implementeres i form af programmerede aftaler mellem flere parter, der håndhæves af transaktioner. Mens det tager cirka 3,5 minutter for en transaktion at blive bekræftet på Ethereums blockchain, kræver en transaktion på Stellars blockchain kun ca. 5 sekunder for at blive bekræftet. Transaktionsgebyrer er ubetydelige og ligger i gennemsnit (0,0001 XLM ~ = $ 0,0000002). SSC kan kodes ved hjælp af ethvert programmeringssprog som Python, JS, PHP, Golang og andre via Stellars API. En SSC er sammensat af transaktioner, der er sammenkoblet og udført ved hjælp af flere begrænsninger, herunder multisignaturer, batch / atomicitet, sekvens og tidsgrænser. Batching tillader inddragelse af flere operationer inden for en enkelt transaktion. Atomicitet sikrer, at efter indsendelse af en række operationer til Stellars netværk, vil alle operationer i en transaktion mislykkes, hvis en enkelt operation ikke bliver udført. Sekvens er et unikt koncept, der fremgår af Stellars blockchain via "sekvensnummer". Med sekvensnumre vil specifikke transaktioner mislykkes, hvis en alternativ transaktion udføres med succes. Tidsfrister repræsenterer begrænsninger for en transaktions gyldighedsperiode. Udnyttelse af tidsgrænser tillader repræsentation af tidsperioder i en SSC.
Hyperledger stof (HLF)
Hyperledger Fabric (HLF) er en godkendt blockchain designet med avanceret fleksibilitet. HLFs smarte kontrakter er kendt som "kædekode". HLF er skrevet på Go-sproget, Googles open source programmeringssprog, så kædekode understøtter dette sprog også ret godt.
Corda
Corda er en smart kontraktplatform, der er ideel til oprettelse af økonomiske aftaler. Cordas smarte kontrakter er gyldige transaktioner, der skal accepteres af den smarte kontrakt i hver af dens input- og outputtilstande. Smarte kontrakter kodes ved hjælp af et JVM-programmeringssprog såsom Java eller Kotlin. Udførelse af en smart kontrakt er deterministisk, og dens accept af en transaktion afhænger udelukkende af transaktionens indhold. Lejlighedsvis er gyldigheden af en transaktion afhængig af et eksternt stykke information, såsom en token-pris. I et sådant tilfælde er der brug for et orakel. En kendsgerning kan kodes for at være en del af en transaktions kommando. Et orakel repræsenterer en tjeneste, der kun vil bekræfte en transaktion, hvis kommandoens kendsgerning er sand.
Cordas DApps eller CorDapps er installeret på niveau med netværksnoder snarere end på selve blockchain-netværket. CorDapps er kodet ved hjælp af Java eller Kotlin. CorDapps er kodet til at køre på Cordas platform. Dette opnås via definerende strømme, som Corda-nodeoperatører kan påberåbe sig via RPC-opkald.
NEO
NEO er en smart kontraktplatform, der indeholder effektive kontrakter med lave gebyrer. Smarte kontrakter kan kodes ved hjælp af et utal af programmeringssprog, herunder C #, F #, Java, Python, VB.Net og Kotlin. NEO tilbyder plug-ins og compilers til alle disse sprog. I fremtiden vil support til JS, Go-sprog, C og C ++ blive implementeret.
NEOs smarte kontrakter udføres via den lette NEO Virtual Machine (NeoVM). Smart kontraktudførelse via NeoVM bruger minimale ressourcer. Statisk kompilering af smarte kontrakter og caching af hotspot smarte kontrakter kan forbedres betydeligt via realtids kompilatoren JIT. I øjeblikket har NEOs blockchain Smart Contract 2.0, som kan prale af understøttelse af komplekse datastrukturer og arrays. Smart Contract 2.0 giver også en skalerbar tilgang via dynamisk partitionering og høj samtidighed i kombination med et lavt koblingsdesign. Den lave koblingsprocedure for smarte kontrakter udføres i NeoVM og interagerer med off-chain-systemer via et interaktivt servicelag. Som sådan kan de fleste af de smarte kontraktfunktionsopgraderinger opnås via det specielle API i det interaktive servicelag.
Bølger
Waves smarte kontrakter er kodet via RIDEON-programmeringssproget. Lanceringen af Waves smarte kontrakter er opdelt i to faser. Den første fase er allerede rullet ud i april sidste år, hvilket muliggør udvikling af ikke-Turing komplette smarte kontrakter på testnet. Første fase af ikke-Turing-komplette smarte kontrakter muliggør et utal af kontokontrolfunktioner, der dækker flere brugssager, der spænder fra udveksling af tokens på forskellige blokkæder til aktivering af kontrol med delt budgetkontrol. Et af de mest almindelige anvendelsestilfælde af Waves ‘ikke-Turing komplette smarte kontrakter er multisignaturkonti. De kan også bruges til at implementere tokenfrysning, hvilket indebærer at sende et token til en adresse og sikre, at det forbliver uudnyttet, dvs. ikke-overførbart, i en foruddefineret periode. Dette vil være ret nyttigt ved implementering af token-vesting for skaberne af en ICO, efter at Crowdsale slutter.
Efter at første fase af ikke-Turing-komplette smarte kontrakter er blevet testet og aktiveret i vid udstrækning på Waves ‘mainnet, vil anden fase af Turing-komplette smarte kontrakter blive lanceret.
Stratis
Stratis bruger den populære .NET-ramme. Smarte kontrakter kodes via programmeringssprog C #. Smarte kontrakter skal udføres deterministisk, så de ikke kan udnytte alle funktionerne i C # eller alle .NET’s kernebiblioteker. Stratis er også afhængig af "gas" koncept, som er identisk med Ethereums gaskoncept.
Cardano
Cardano er en smart kontraktplatform, der er fokuseret på at give garantier for, at en smart kontrakt fungerer nøjagtigt som den er kodet uden skjulte sårbarheder. Smarte kontrakter kan kodes ved hjælp af Solidity eller Plutus. Cardano har Cardano Computation Layer (CCL), som består af to lag – en sprogramme og en formelt specificeret virtuel maskine. Sprogrammen har et sæt formelt specificerede programmeringssprog, der letter automatiseret godkendelse af menneskelig læsbar smart kontraktkode.
Tezos
Tezos er en smart kontraktplatform, der understøtter formel verifikation af on-chain smart contract-kode. Smarte kontrakter kodes ved hjælp af et nyt programmeringssprog, kendt som Michelson, hvilket øger sikkerheden. I modsætning til soliditet er Michelsons kode ikke sammensat til noget; i stedet repræsenterer det et lavt niveau, lagerbaseret, Turing komplet programmeringssprog, der fortolkes direkte af Tezos virtuelle maskine. Michelson programmerede smarte kontrakter muliggør kodning af konstruktioner på højt niveau inklusive sæt, kort, kryptografiske primitiver, lambdas og kontraktspecifikke operationer, der gør koden mere menneskelig læsbar.
Næste (NXT)
Dernæst er en kryptovaluta og en smart kontraktplatform. Selvom Next’s smarte kontrakter ikke er Turing-komplette, bruger platformen et unikt Turing-komplet scriptinglag, der gør det muligt for brugere nemt at oprette smarte kontrakter. Brugere kan vælge den mest passende skabelon til deres behov og ændre dens parametre for at oprette deres helt egne smarte kontrakter. Udviklerne af Nexts platform mener, at disse smarte kontraktskabeloner dækker næsten alle forretningsapplikationer ud over at være enkle at kode og implementere.
Afsluttende tanker
Der er andre kryptokurver, der tillader udvikling af smarte kontraktplatforme, herunder Quorum, Wanchain, Aeternity, Zen, Counterparty, Rootstock, RChain, Qtum, Ark, Neblio, DFINITY, BOSCoin, Agoras Tauchain, Burst, iOlite, ByteBall, XTRABYTES, PolkaDot, Radix, Exonum, Universa, Urbit, Soil, Expanse, Monax og sandsynligvis andre. Imidlertid er de platforme, der er omtalt i denne artikel, de mest anvendte og dem, der har vist sig at være pålidelige på tværs af forskellige applikationer.