Introduksjon av Simplicity
Blockstream, utvikleren av Bitcoins lag-2-protokoll Liquid og ledet av Bitcoin-cypherpunk Adam Back, har lansert Simplicity, et nytt smartkontraktspråk designet for Bitcoin. Ifølge en kunngjøring torsdag delt med Cointelegraph, vil Simplicity-smartkontrakter bli integrert i Liquid. Selskapet uttaler at dette trekket markerer et skritt fremover i å transformere Bitcoin fra en sikker verdilagring til en programmerbar plattform for desentralisert finans.
Funksjoner og implementering
Selskapet introduserte også SimplicityHL, en høyere nivåimplementering av språket som letter utviklingen med økt abstraksjon. En representant fra Blockstream fortalte Cointelegraph at denne versjonen av språket «er her og brukbar i dag,» med et nettbasert integrert utviklingsmiljø også tilgjengelig.
Forskjeller fra Ethereum
Simplicity skiller seg fra Ethereums Solidity-språk, hovedsakelig på grunn av de forskjellige underliggende arkitekturene til de to blokkjedene. Dette skyldes ulike tilnærminger og arkitekturer i Ethereum- og Bitcoin-nettverkene, der Solidity er utviklet for Ethereum Virtual Machine. Tilstand er nettverkets avtalte øyeblikksbilde av alle kontobalanser og lagret data på et gitt blokk. Bitcoin benytter seg av arkitekturen for ubrukte transaksjonsutganger (UTXO), mens Ethereum-nettverket benytter en nettverksomfattende tilstand.
Endringer i smartkontraktsutvikling
Denne forskjellen manifesterer seg i hvordan Simplicity-smartkontrakter fungerer, med en representant fra Blockstream som sier at «det å ikke stole på den globale tilstanden er et stort skifte.»
«Hver bit av tilstanden kontrakten din trenger må reise med transaksjonen.»
Blockstreams forskere påpeker at Solidity-utviklere må bryte vanen med å lese fra globalt tilgjengelige variabler og i stedet gi all nødvendig informasjon ved hvert steg. I et slikt system kan ikke to smartkontrakter dele tilstand eller referere til de samme variablene; alt må eksplisitt overføres innen transaksjoner.
Fordeler med Simplicity
Likevel forklarte selskapets representanter at denne tilnærmingen også har en positiv innvirkning:
«Selv om noe går galt, er det bare den spesifikke delen av transaksjonsgrafen til kontrakten din som blir påvirket. Det er en annen tankegang sammenlignet med den globale tilstanden, men det fører til tryggere og mer avgrensede kontrakter etter design.»
Utviklere vil heller ikke kunne bruke rekursjon eller ubegrensede løkker, som Blockstream hevder ikke er nødvendige for on-chain-logikk.
Andre domene-spesifikke språk
Simplicity slutter seg til en voksende liste av domene-spesifikke smartkontraktsprogrammeringsspråk. Noir, et programmeringsspråk utgitt i 2022 for å skrive og verifisere nullkunnskapsbevis (ZK-bevis), ble adoptert i 2023 av utviklerne av det kommende personvernsfokuserte Ethereum lag-2 Aztec. Noir har blitt et smartkontraktsprogrammeringsspråk spesifikt bygget for personvernbevarende applikasjoner som integrerer ZK-bevis dypt inn i sin arkitektur. Et annet eksempel er Leo, et smartkontraktsprogrammeringsspråk som også lager ZK-bevis-systemer med nært beslektet syntaks og personvern i tankene. Ethereums Vyper er et EVM-kompatibelt språk designet for å redusere angrepsflaten, og brukes nå av noen ledende Ethereum desentraliserte finans (DeFi) protokoller.