Mitä vakaus on ja miten sitä käytetään älykkäiden sopimusten kehittämiseen?

Mitä vakaus on ja miten sitä käytetään älykkäiden sopimusten kehittämiseen?

Solidity on edennyt pitkälle, koska sitä ehdotettiin ensimmäisen kerran vuonna 2014 ja myöhemmin Ethereumin Solidity -tiimi kehitti sen. On satoja tuhansia kehittäjiä, jotka käyttävät ohjelmointikieltä lohkoketjupohjaisten palvelujen luomiseen yhä useammille käyttötapauksille.





Tässä artikkelissa selitetään, mitä Solidity on ja miten sitä käytetään Ethereum -ekosysteemissä. Tämä artikkeli on sinulle, jos olet kiinnostunut oppimaan lisää tämän lohkoketjuun perustuvan ohjelmointikielen sisäisestä toiminnasta.





kuinka katsella vanhoja tekstiviestejä

Mikä on Solidity?

Solidity on olio-ohjelmointikieli, jota käytetään luomaan älykkäitä sopimuksia, jotka automatisoivat tapahtumia lohkoketjussa. Ehdotuksensa jälkeen vuonna 2014 kielen ovat kehittäneet Ethereum -hankkeen avustajat. Kieltä käytetään ensisijaisesti älykkäiden sopimusten luomiseen Ethereum -lohkoketjussa ja älykkäiden sopimusten luomiseen muilla lohkoketjuilla.





Solidity on samanlainen kuin yksi yleisimmistä ohjelmointikielistä, JavaScript. Sitä voidaan pitää JavaScriptin murteena. Tämä tarkoittaa, että jos ymmärrät JavaScriptin, Solidityn saaminen voi olla helppoa. Solidityllä on myös samanlaisia ​​ominaisuuksia kuin ohjelmointikielillä C ++ ja Python.

Korkean tason kielenä Solidity poistaa koodin kirjoittamisen yhdellä ja nollalla. Ihmisten on paljon helpompaa kirjoittaa ohjelmia ymmärtämillään tavoilla käyttämällä kirjaimia ja numeroita.



Solidity on staattisesti kirjoitettu, ja se tukee perintöä, kirjastoja ja monimutkaisia ​​käyttäjän määrittämiä tyyppejä. Koska Solidity on staattisesti kirjoitettu, käyttäjä määrittää paljon muuttujia. Tietotyyppien avulla kääntäjä voi tarkistaa muuttujien oikean käytön. Vakavuustietotyypit luokitellaan yleensä joko arvotyypeiksi tai viitetyypeiksi.

Suurin ero arvotyyppien ja viitetyyppien välillä löytyy siitä, miten ne liitetään muuttujaan ja tallennetaan EVM: ään (Ethereum Virtual Machine). Vaikka arvon muuttaminen arvotyypin yhdessä muuttujassa ei vaikuta toisen muuttujan arvoon, jokainen, joka viittaa viitetyyppimuuttujien muutettuihin arvoihin, voi saada päivitetyt arvot.





Miten Solidity toimii?

Ethereum -ekosysteemin kauneus on, että niin monet eri kryptovaluutat ja hajautetut sovellukset voivat käyttää sitä. Älykkäät sopimukset mahdollistavat ainutlaatuisten teknologioiden luomisen Ethereumilla kaikenlaisille yrityksille ja organisaatioille.

Maailma käyttää vuosittain miljardeja dollareita lohkoketjuratkaisuihin. Monet näistä ratkaisuista on luotu Solidityn avulla. Solidityn avulla rakennettuja älykkäitä sopimuksia voidaan ajatella keinona automatisoida liiketoiminta- ja muita prosesseja eri ihmisten välillä. Tämä varmistaa, että lohkoketjussa tapahtumia tekevien ihmisten ei tarvitse huolehtia riskeistä, kuten petoksista tai siitä, etteivät he voi käyttää samaa valuuttaa.





Yksi keskeisistä komponenteista, joka mahdollistaa Solidity -koodin suorittamisen, on EVM. EVM: ää kuvataan lohkoketjun virtuaalitietokoneena, joka muuttaa ihmisten ideat koodiksi, joka suorittaa sovelluksia lohkoketjussa.

Konepellin alle Solidity luo konetason koodin, joka suoritetaan EVM: llä. Kääntäjää käytetään korkean tason ihmisen luettavan koodin hajottamiseen, josta se muuttuu prosessorin lukemiksi ohjeiksi. Eri alustat tarjoavat ilmaisen Solidity-kääntämisen, mukaan lukien Remix-online-kääntäjä ja ladattu komennon kaltainen kääntäjä tietokoneella.

EVM -älykkäillä sopimuksilla on joitain rajoituksia, jotka on korjattava. Yksi merkittävimmistä näistä on rajoitettu pääsy hyödyllisiin kirjasto-toimintoihin JSON-rakenteiden tai liukulukuaritemian jäsentämiseksi.

Julkiset ja yksityiset toiminnot

Julkiset toiminnot ovat samanlaisia ​​kuin sovellusliittymät, joita kuka tahansa maailmassa voi käyttää. Kuka tahansa voi soittaa heille koodissaan. Julkiset toiminnot on monissa tapauksissa suunniteltu jaetuille prosesseille alustalla, jota kaikki käyttäjät käyttävät.

Voitaisiin esimerkiksi tehdä julkinen toiminto, jonka avulla kaikki alustan käyttäjät voivat tarkistaa tilinsä. Yksi yleisimmistä tavoista hyödyntää älykkäitä sopimuksia on julkisten toimintojen kautta.

Aiheeseen liittyviä: Mikä on lohkoketju ja miten se toimii?

Vaikka älykkäitä sopimuksia voi olla helppo kirjoittaa Solidityn avulla, on usein erittäin vaikeaa kirjoittaa niitä turvallisesti. Jos esimerkiksi älykkään sopimuksen kotiutustoiminto ei ole turvallinen, hyökkääjä voi manipuloida haavoittuvaa toimintoa tyhjentääkseen varojen tilin.

Hyökkääjä voi pyytää nosto -toimintoa lähettääkseen rahaa toiselle tilille käyttämällä silmukkaa, joka toistaa toistuvasti nosto -toiminnon.

Yksityiset toiminnot voidaan kutsua vain sopimusten sisältä. Ne sisältävät ohjeita, jotka voidaan suorittaa vasta ketjun muiden toimintojen kutsuttua. Tämä vaikeuttaa haitallisten toimijoiden manipuloida koodia.

Standardit ja koodilogiikka

On syntymässä erilaisia ​​standardeja, jotka määrittävät, miten Solidity -älykkäitä sopimuksia käytetään sovellusten rakentamiseen Ethereumiin. Nämä standardit tunnetaan nimellä ERC (Ethereum Request for Comments) -standardit. Standardit perustuvat asiakirjaan, joka sisältää ohjeita vaadituista toiminnoista ja rajoituksista koodin käyttäytymiselle.

ERC -standardit, jotka määrittävät Solidityn toiminnan, sisältävät:

  • ERC20
  • ERC165
  • ERC721
  • ERC223
  • ERC621
  • ERC777
  • ERC827
  • ERC884
  • ERC865
  • ERC1155

Solidityä voidaan käyttää älykkäiden sopimusten vuorovaikutuksessa toistensa kanssa eri tavoilla. Vakavuutta voidaan käyttää myös erityisten ohjeiden antamiseen siitä, miten tietoja tallennetaan älykkääseen sopimukseen. Älykkäiden sopimusten logiikka ja tiedot voidaan erottaa Solidityn avulla. Korvaussopimuksia käyttämällä sopimuksen logiikkaa voidaan muuttaa tämän mahdollistamiseksi.

Muuttumattomuus

Älykkään sopimuksen koodia on mahdotonta muuttaa sen kirjoittamisen ja kääntämisen jälkeen. Tämä tarkoittaa sitä, että jokaisen koodirivin on toimittava tarkoitetulla tavalla tai muuten koodin hyväksikäyttö voi aiheuttaa vakavia riskejä.

Aiheeseen liittyviä: Kuinka tulla Blockchain -ohjelmoijaksi ja aloittaa Big Bucksin tekeminen

Koska Ethereum -lohkoketju on muuttumaton, sille kirjoitettua dataa ja logiikkaa on mahdotonta muuttaa. Yksi tapa kiertää tämä on käyttää välityspalvelinta osoittamaan toiseen sopimukseen, joka sisältää todellista liiketoimintalogiikkaa. Tämä mahdollistaa virheiden korjaamisen, kun sopimuksen uusi versio otetaan käyttöön.

samsung pay vs android pay vs apple pay

Kaasun kustannukset

Solidityn käytöstä Ethereum -verkkopalvelussa maksetaan lisäkustannuksia. Osa lisäkustannuksista perustuu Ethereumin kaasujärjestelmään, joka vaatii maksun kaivostyöläisille lohkoketjuverkon turvaamisesta, jotta koodi voi toimia turvallisesti.

Kun kirjoitat älykkäitä sopimuksia, on tärkeää muistaa, että kaasukustannukset voivat määrittää älykkään sopimuksen toimivuuden. Koska kaasumaksut maksetaan jokaisesta käytetystä tallennuspaikasta, Solidity -koodilla suoritettavat toimet maksavat kaasua. Älykästä sopimusta, jonka toteuttaminen on kallista, ei todennäköisesti käytetä pitkällä aikavälillä.

Kaasun optimointi auttaa vähentämään kaasun hintaa, kun Solidity -koodi suoritetaan. Jotkut suosituimmista kaasun optimointimenetelmistä sisältävät kirjastojen käytön ja vähemmän toimintoja. Kirjastoja käytetään usein tavukoodin tallentamiseen.

Tarpeettoman tavukoodin lisäämisen sijaan älykkääseen sopimukseen logiikka voidaan laittaa kirjastoihin. Tämä auttaa pitämään älykkään sopimuksen koon pienenä. Käyttämällä vähemmän toimintoja tarvitaan vähemmän tavukoodia ja myös koodin valvonnan vaikeus vähenee.

Kuinka vakautta voidaan käyttää Ethereumissa?

Vakavuutta käytetään älykkäiden sopimusten luomiseen vaihdettaville ja ei-vaihdettaville tunnuksille. Eri standardeja käytetään ei-vaihdettavien ja vaihdettavien merkkien rakentamiseen Ethereum-ekosysteemiin.

Niiden avulla voidaan luoda erilaisia ​​käyttötapoja lohkoketjua käyttäville ihmisille. Solidity mahdollistaa ihmisten käyttää Ethereum-tunnuksia ja ei-vaihdettavia tunnuksia. Ethereum mahdollistaa erilaisten merkkien käyttötarkoitusten, kuten ei-vaihdettavien rahakkeiden lyönnistä niiden lisäämiseen viljelyaltaiden tuottamiseen lisäkoron vuoksi.

Solidity mahdollistaa myös hajautetut itsenäiset organisaatiot (DAO). DAO, joka on uudenlainen online -organisaatiorakenne, on kirjoitettu ensisijaisesti Solidity -kielellä. DAO: t antavat eri ihmisille mahdollisuuden kokoontua jäseniksi online -alustalle, jossa he äänestävät DAO: n tärkeimmistä päätöksistä.

Vakavuus mahdollistaa prosessien automatisoinnin DAO: n sisällä. Esimerkkejä prosessien automatisoinnista DAO: ssa ovat äänestys tärkeistä päätöksistä ja maineen jakaminen DAO -jäsenille heidän panoksestaan ​​ryhmälle.

Lohkoketjujen standardien määrittäminen

Vakaus on paljon enemmän kuin ohjelmointikieli. Se määrittelee lohkoketjuteknologian tulevaisuuden standardit.

Useiden avoimen lähdekoodin kehittäjien ansiosta, jotka pyrkivät parantamaan Solidityn turvallisuutta ja suorituskykyä, tuhannet Ethereum-ekosysteemin sovellukset ovat edelleen riippuvaisia ​​sovellustensa toiminnasta. Kun uusia standardeja luodaan älykkäille sopimuksille Ethereumissa, kieli tulee turvallisemmaksi käyttää.

Jaa Jaa Tweet Sähköposti Onko todella hajautettu Internet mahdollista? Kuinka se voisi toimia Blockchainin kanssa

Onko todella hajautettu internet mahdollista? Mitä hajauttaminen tarkoittaa, ja miten se turvaa sinut?

Lue seuraava
Liittyvät aiheet
  • Tekniikka selitetty
  • Ohjelmointi
  • Ethereum
  • Blockchain
Kirjailijasta Calvin Ebun-Amu(48 artikkelia julkaistu)

Calvin on MakeUseOfin kirjailija. Kun hän ei katso Rickia ja Mortyä tai hänen suosikkiurheilulajejaan, Calvin kirjoittaa aloittamisesta, lohkoketjusta, kyberturvallisuudesta ja muista tekniikan alueista.

Lisää Calvin Ebun-Amu

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi