Il software EOS.IO introduce una nuova generazione di architettura blockchain progettata per funzionare sull'algoritmo di consenso "Delegated Proof of Stake" (DPOS). Fornisce gli elementi costitutivi di base per lo sviluppo di applicazioni decentralizzate (DApp) aziendali, come account, autenticazione, database e comunicazione asincrona. Uno smart contract in EOS.IO è un programma C++ che può essere eseguito sulla blockchain come un calcolo affidabile e questa esecuzione fa parte della storia immutabile della blockchain. Il software EOS.IO fornisce un semplice sistema di gestione delle autorizzazioni basato sui ruoli che offre agli utenti un controllo di alto livello su chi può eseguire azioni su un altro smart contract.
L'obiettivo di questa tesi è migliorare il sistema di gestione dei permessi basato sui ruoli fornito da EOS.IO. In particolare, questo lavoro prevede la definizione e lo sviluppo di uno strumento di uso generale per la gestione dei permessi delle DApp. Lo strumento deve supportare almeno una forma di base comune di controllo degli accessi (come gruppi gerarchici e autorizzazioni multiple).
The EOS.IO software introduces a new generation of blockchain architecture designed to work on "Delegated Proof of Stake" (DPOS) consensus algorithm. It provides the basic building blocks for developing enterprise Decentralized Applications (DApps), such as accounts, authentication, databases, and asynchronous communication. A smart contract in EOS.IO is a C++ program that can be executed on the blockchain as a trusted computation and this execution takes part of the immutable history of the blockchain. The EOS.IO software provides a simple role-based permission management system that gives to users high-level control on who can execute actions over another smart contract.
The goal of this thesis is to enhance the role-based permission management system provided by EOS.IO. In particular, this work involves the definition and development of a general-purpose tool for managing permissions of DApps. The tool must support at least a basic common form of access control (such as, hierarchical groups and multiple permissions).