0Alic / DART

DART: An implementation of the RT framework on Ethereum

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🎯 DART: DecentrAlized Role-based Trust management

DART is an Ethereum implementation of the Role-based Trust management (RT) framework. In particular, the implementation is restricted to the sub-language RT0 of the RT family.

Being Alice, Bob principals, x, y role names, Alice.x, Bob.y roles, the RT0 credentials are:

  • Simple member: Alice.x ← Bob
  • Simple inclusion: Alice.x ← Bob.y
  • Linked inclusion: Alice.x ← Bob.y.z
  • Intersection inclusion: Alice.x ← Bob.x ∩ Charlie.z

DART allows a user to create policies composed by RT0 credentials, plus adding a weight w ∈ (0, 100] that reflects the trust a user puts into a particular role. In this way, policies can either used for both hard-security purposes (yes/no answer), and soft-security purposes (answer with a degree of acceptance).

In DART, policies are stored on a public blockchain, meaning they are secured by the blockchain consensus, they are transparent, and they cannot be arbitrally altered by any third party.

Finally, DART supports the execution of the backward search discovery algorithm, which processes the credentials and answers to the following query: "Given a role A.r, find its set of members along with their trust values".

The implementation is in Ethereum for prototyping and evaluation purposes, but the approach can be translated into other blockchain networks.

Structure of the repository

This is a Truffle project. The DART smart contract is in contracts/RT.sol. The test/ folder contains the scripts to test the correctness of the smart contract. The exec/ folder contains the scripts to evaluate the cost in gas of DART.

Contributors

The project has been developed by lucaceschi, with the support of andreadesalve and 0Alic.

This work is part of a research on blockchain technology and trust management systems. The rest of the contributors can be found in the paper related to this project: DART: Towards a role-based trust management system on blockchain (https://ieeexplore.ieee.org/abstract/document/9680566).

Cite

Please cite the paper if you work with this project (bibtex generated by IEEE Xplore):

@INPROCEEDINGS {9680566,
    author = {L. Franceschi and A. Lisi and A. De Salve and P. Mori and L. Ricci},
    booktitle = {2021 IEEE 30th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE)},
    title = {DART: Towards a role-based trust management system on blockchain},
    year = {2021},
    volume = {},
    issn = {},
    pages = {75-80},
    keywords = {authorization;cloud computing;social networking (online);conferences;smart contracts;prototypes;collaboration},
    doi = {10.1109/WETICE53228.2021.00025},
    url = {https://doi.ieeecomputersociety.org/10.1109/WETICE53228.2021.00025},
    publisher = {IEEE Computer Society},
    address = {Los Alamitos, CA, USA},
    month = {oct}
}

References

RT framework papers: Design of a role-based trust-management framework Ninghui Li et al.; RT: a Role-based Trust-management framework Ninghui Li et al.

Chain discovery algorithms: Distributed credential chain discovery in trust management Ninghui Li et al.

About

DART: An implementation of the RT framework on Ethereum

License:GNU General Public License v3.0


Languages

Language:JavaScript 50.4%Language:Solidity 49.6%