Skip to content
/ DART Public
forked from lucaceschi/DART

DART: An implementation of the RT framework on Ethereum

License

Notifications You must be signed in to change notification settings

0Alic/DART

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎯 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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 50.4%
  • Solidity 49.6%