Esittelyssä ConsenSys Diligence -sarjakuvaus

blogi 1NewsDevelopersEnterpriseBlockchain ExplainedTapahtumat ja konferenssitPainaUutiskirjeet

tilaa uutiskirjeemme.

Sähköpostiosoite

Kunnioitamme yksityisyyttäsi

EtusivuBlogiUutiset

Esittelyssä ConsenSys Diligence -sarjakuvaus

mennessä ConsenSys 8. joulukuuta 2020 Lähetetty 8. joulukuuta 2020

Sepustus

Älykkäiden sopimusten turvallisuuden ja virheettömyyden varmistaminen ei ole koskaan ollut kriittisempää. Valitettavasti se on edelleen vaikea tehtävä. Vaikka on olemassa hyödyllisiä työkaluja automaattiseen testaukseen ja muodolliseen todentamiseen, älykkäiden sopimusten oikeellisuuden varmistaminen on edelleen aikaa vievä ja haastava tehtävä. Asiat pahentuvat, että jokaisella työkalulla on usein jyrkkä oppimiskäyrä, ja usein on epävarmaa, sopiiko se juuri tähän työhön.

Siksi olemme kehittäneet Scribble: vahvistuskielen ja ajonaikaisen vahvistustyökalun. Alun perin luotiin automaattista omaisuuden testausta varten auditointien aikana, mutta olemme päättäneet jakaa tämän projektin yhteisön kanssa!

Mikä on Scribble?

Kun puhumme Scribblestä, puhumme kahdesta asiasta.

Ensinnäkin, Scribble on määrityskieli ominaisuuksien kirjoittamiseen.

Toiseksi Scribble on ajonaikaisen tarkistuksen työkalu, joka käyttää Scribble-määrityskieliä.

HUOMAUTUS: Scribble ei suorita mitään vahvistusta itsestään. Se tekee antaa muiden työkalujen testata ja tarkistaa ominaisuuksia.


Scribble on kieli

Scribble määrittelee toimialakohtaisen kielen älykästä sopimusta koskevien ominaisuuksien kirjoittamiseen. Olemme rakentaneet kielen vakaussyntaksin päälle, jotta se olisi helppo oppia. Tämän määrityskielen avulla voit merkitä vankan älykkään sopimuksen ominaisuuksiin.

HUOMAUTUS: Ominaisuus on looginen lause, jonka oletat olevan totta, esim. “Kaikki autot ovat punaisia”. Vakaana sinulla on usein ominaisuuksia, kuten: “Vain omistaja voi muuttaa X: n”. Tai “Funktion sendToken (), ei pitäisi muuttaa tämän sopimuksen eetteritasapainoa”.

Voit käyttää useita merkintätyyppejä erityyppisiin ominaisuuksiin. Esimerkiksi invariants tai post-olosuhteet.

Tämä on esimerkki Scribble-merkinnästä:

Näyttökuva 2020 12 08 klo 12 06 15 PM

Kuten näette, merkinnät ovat toimintomääritelmän yläpuolelle sijoitetun kommentin muodossa. Olemme lisänneet ns. If_succeeds -lausekkeen, joka tarkistaa, täyttyykö ehto toiminnon suorittamisen jälkeen. Tässä tapauksessa tarkistamme, että funktion tulos ei ole aina nolla.

Lue Scribble-dokumentaatio

Olemme perustaneet Scribble-kielen todistettuihin käsitteisiin, kuten jälkeiset olosuhteet, muuttumattomat ja ajallinen logiikka. Mutta katsomme myös, kuinka voimme esitellä uusia ideoita, jotka sopivat paremmin älykkäiden sopimusten toimialakohtaisiin ongelmiin.

Scribble on työkalu

Scribble voi tehdä ominaisuuksilla merkityn sopimuksen ja koota sen uudeksi sopimukseksi. Tässä uudessa sopimuksessa Scribble on lisännyt Solidity-koodin, joka tuo esiin väitteen aina, kun omaisuutta loukataan. Kutsumme tätä prosessia instrumentoinniksi.

Ominaisuuksia tarkistavan suoritettavan koodin lisäämistä kutsutaan ajonaikaiseksi tarkistukseksi, ja sen avulla on helppo työskennellä olemassa olevien työkalujen kanssa ilman monia mukautuksia. Näin on, koska useimmat työkalut tulkitsevat jo vakavaraisuuskoodin ja pystyvät etsimään omaisuusrikkomuksia heti!

Koska voit käyttää olemassa olevia automaattisia testaustekniikoita (kuten fuzzer Harvey), voit aloittaa testaamisen kirjoittamalla vain yhden omaisuuden. Uskomme, että tämä on merkittävä etu; Hyödyt automaattisesta testauksesta heti sen sijaan, että joudut viettämään paljon aikaa etukäteen saadaksesi kriittisen massan merkintöjä. Jotain, mikä on yleensä välttämätöntä perinteisillä todentamismenetelmillä.

Voit aloittaa sopimuksen testaamisen ja analysoinnin nopeasti ja jopa myöhemmin päättää lisätä vaivaa älykkään sopimuksen täydelliseen vahvistamiseen!

Tavoitteet

Tarkastaa

Käytämme Scribblea auditointien aikana ominaisuuksien muotoiluun. Käyttämällä automaattisia analyysitekniikoita, kuten fuusiointia ja symbolista suoritusta, testaamme ja löydämme automaattisesti rikkomuksia näille ominaisuuksille.

Ota yhteyttä saadaksesi lisätietoja fuusioinnista ja omaisuusperusteisesta testauksesta auditointien aikana

Vakio

Scribble pyrkii työskentelemään erilaisilla työkaluilla ja tekniikoilla; emme halua ottaa käyttöön vain omaisuuspohjaista testausta, vaan myös helppoa muodollista vahvistusta. Yhden yleisen määrityskielen käytön etuna on, että yrität kirjoittaa ominaisuuksia vain kerran, mutta voit hyötyä useiden työkalujen käytöstä.

Hyväksyminen

Scribblen avulla toivomme laskevan esteen tai merkinnän automaattista testausta ja muodollista tarkistusta varten. Haluamme myös lyhentää oikeaan ja turvalliseen älykkääseen sopimukseen tarvittavaa investointiaikaa, mikä johtaa turvallisempaan ekosysteemiin.

Mistä sen voi saada?

Olemme kirjoittaneet kokonaan avoimen lähdekoodin Scribblen, ja se on saatavilla nyt osoitteessa github.com/consensys/scribble.

HUOMAUTUS: Tämä on beetaversio, kielen osa muuttuu ja saatat kohdata joitain virheitä.

Voit asentaa Scribblen helposti npm: llä:

Näyttökuva 2020 12 08 klo 12 06 35 PM Asenna Scribble

Tilaa uutiskirjeemme, jossa on uusimmat Ethereum-uutiset, yritysratkaisut, kehittäjien resurssit ja paljon muuta.Ethereum Q3 2020 DeFi -raporttiRaportti

Ethereum Q3 2020 DeFi -raportti

Ethereum Q2 2020 DeFi -raporttiRaportti

Ethereum Q2 2020 DeFi -raportti

Ethereum 2 0 PanosekosysteemiraporttiRaportti

Ethereum 2.0 Staking Ecosystem -raportti

Täydellinen opas Blockchain-yritysverkoihinOpas

Täydellinen opas Blockchain-yritysverkoihin

Kuinka rakentaa onnistunut blockchain-tuoteWebseminaari

Kuinka rakentaa onnistunut blockchain-tuote

Keskuspankit ja rahan tulevaisuusValkoinen paperi

Keskuspankit ja rahan tulevaisuus

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map