Smart Contract Fiesta: un tesoro di contratti intelligenti Ethereum

-

175 milioni di righe di codice nel set di dati open source

Smart Contract Fiesta è un set di dati open source di alta qualità contenente oltre 175 milioni di righe di codice sorgente del contratto intelligente Ethereum. Questo ampio set di dati copre circa 150.000 fonti di contratto uniche in 30 milioni di contratti intelligenti fino a marzo 2023, rendendolo una risorsa inestimabile per ricercatori e sviluppatori nella comunità blockchain. Tuttavia, non è necessariamente completo, sicuramente lo è per i contratti verificati sulla rete principale di Ethereum a partire dal blocco 16860349 (19 marzo 2023).

I contratti intelligenti sono scritti in linguaggi idiosincratici e specifici del dominio come Solidity. Questi contratti spesso implementano anche prodotti finanziari e sono altamente mission-critical. Allo stesso tempo, c’è stata una mancanza di set di dati completi e di alta qualità disponibili per il codice sorgente del contratto intelligente. Ciò rappresenta un problema per i ricercatori e gli ingegneri della sicurezza (e dell’intelligenza artificiale) che cercano di “alzare il livello” per la sicurezza dei contratti intelligenti.

Ecco una ripartizione delle statistiche chiave:
Totale contratti: 30.586.657
Contratti con codice disponibile: 3.897.319 (>10%)
Contratti con codice e bytecode univoco: 149.386
Totale righe di codice (LoC): 177.552.050

Distribuzione di codice, commenti e righe vuote all’interno del set di dati:
Codice LoC: 90.562.628
Commenti LoC: 62.503.873
LoC vuoto: 24.485.549

Tre obiettivi principali

  • Promuovere nuove ricerche e lo sviluppo di strumenti mirati ai contratti intelligenti
  • Aiuta a rafforzare gli strumenti esistenti che analizzano il codice del contratto intelligente
  • Promuovere i principi della comunità Web3

Promuovere nuove ricerche e sviluppo di strumenti
“Fornendo una libreria completa di codice smart contract” dichiarano “miriamo a rimuovere i colli di bottiglia relativi ai dati e facilitare la creazione di strumenti innovativi. Immagina di addestrare modelli di linguaggio di grandi dimensioni (LLM) per scrivere contratti intelligenti da descrizioni in linguaggio naturale, o legalese, o per identificare ed eliminare bug. Set di dati fondamentali come questo consentono molte linee di ricerca. Ci auguriamo che ciò renda lo sviluppo di smart contract più sicuro e accessibile.

Rafforzamento degli strumenti esistenti
“Smart Contract Fiesta può essere utilizzato per migliorare gli strumenti esistenti esponendoli a un’ampia varietà di codici di smart contract. In Zellic, abbiamo già sperimentato i vantaggi. Durante la creazione di un parser Solidity interno e di un analizzatore statico (che intendiamo rendere open-source!), utilizziamo Smart Contract Fiesta come suite di test. Ciò ha rivelato numerose stranezze di Solidity inaspettate, insolite o non documentate a cui non avremmo mai pensato. Se non fosse stato per questo stress test, questi casi limite sarebbero probabilmente passati inosservati. Queste sono aree in cui le specifiche e la documentazione possono e devono essere migliorate. Ovviamente parleremo sicuramente di queste curiose stranezze, quindi rimanete sintonizzati!”

Promozione dei principi Web3
“Come campioni del decentramento e della trasparenza, crediamo nel rendere i dati accessibili e facili da usare. Consolidando questa grande quantità di dati in un unico set di dati facile da scaricare, speriamo di abbassare le barriere e consentire alla comunità di realizzare progetti ancora più incredibili. La nostra comunità Web3 è fondamentalmente fondata da costruttori, innovatori e sviluppatori. Crediamo che aiutare gli sviluppatori sia il minimo che possiamo fare per restituire”.