Two Master Level Internships (starting in 2023)
These internships will take place at Hive offices in Cannes and it will be in collaboration with teams COAST (Inria Nancy – Grand Est) and MYRIADS and WIDE (Inria Center of the University of Rennes). The monthly net salary will be around 1300 euros. The internship will take 4-6 months with the possibility to continue with a PhD thesis on a related topic.
Hive (https://www.hivenet.com/) intends to play the role of a next generation cloud provider in the context of Web 3.0. Hive aims to exploit the unused capacity of computers to offer the general public a greener and more sovereign alternative to the existing clouds where the true power lies in the hands of the users. It relies both on distributed peer-to-peer networks, on the encryption of end-to-end data and on blockchain technology.
A CRDT-based approach for mutable data in IPFS
Context
The InterPlanetary File System (IPFS) [1] is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. IPFS nodes store IPFS objects which are Merkle DAGs (Directed Acyclic Graph) of content-addressed immutable objects with links. The content of an object cannot be changed without altering its content identifier. Mutable data support can be offered by means of the mutable file system API of IPFS (https://docs.ipfs.tech/concepts/file-systems/#mutable-file-system-mfs). However, there is no support for merging concurrent changes, i.e. users are not able to update concurrently the replicas of the same data without loosing their modifications.
Objective
The objective of this internship is to design a replication mechanism for mutable data stored on IPFS that offers support for merging concurrent changes. CRDTs (Conflict-free Replicated Data Types) [2,3,4] are replicated data structures where merging of changes is performed locally without any coordination. This internship will propose a CRDT-based replication mechanism for mutable data stored on IPFS.
Programme
Here are the steps to be followed:
- study of the underlying IPFS structure.
- study of the mutable data support in IPFS.
- study of literature on CRDTs (operation-based and state-based).
- proposal of a CRDT-based replication mechanism for merging concurrent changes over a simple data structure such as set or sequence.
- prototype of the proposed solution into the Hive platform.
Bibliography
[1] J. Benet. “IPFS – Content Addressed, Versioned, P2P File System”. In: CoRR abs/1407.3561 (2014). doi: 10.48550/arXiv.1407.3561. arXiv: 1407.3561.
[2] L. André, S. Martin, G. Oster, and C.-L. Ignat. “Supporting adaptable granularity of changes for massive-scale collaborative editing”. In: Proceedings of the International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom 2013).
Austin, Texas, USA, Oct. 2013. doi: 10.4108/icst.collaboratecom.2013.254123.
[3] G. Oster, P. Urso, P. Molli, and A. Imine. “Data Consistency for P2P Collaborative Editing”. In: Proceedings of the ACM Conference on Computer-Supported Cooperative Work – CSCW 2006. Banff, AB, Canada, 2006, pp. 259–267. isbn: 1-59593-249-6. doi: 10.1145/1180875.1180916.
[4] M. Shapiro, N. M. Preguiça, C. Baquero, and M. Zawirski. “Conflict-Free Replicated Data Types”. In: 13th International Symposium on Stabilization, Safety, and Security of Distributed Systems, SSS 2011. Oct. 2011, pp. 386–400. doi: 10.1007/978-3-642-24550-3_29.
Distributed access control for P2P cloud storage
Context
In the context of the collaboration between Inria and Hive, we propose to offer a peer-to-peer storage of data that can be shared and modified by groups of users. It is necessary to define a security mechanism and its underlying properties for sharing and unsharing data across users and groups in a peer-to-peer environment without any central authority. It is important to define an access control mechanism that deals with users access rights to the shared documents and a group key management suitable for large dynamic groups where users join and leave often the groups.
Objective
Hive solution relies on IPFS (InterPlanetary File System) (https://ipfs.io/) [1]. The goal of this internship is to define an access control mechanism over mutable data in IPFS. In order to avoid the use of a central server that stores access rights. We propose that access rights as well as data are replicated. We propose to use CRDTs (Conflict-free replicated data types) [2,3,4] as the underlying replication mechanism for access rights. CRDTs for data would need to be composed with CRDTs for access control and causality would need to be preserved between these two types of data. Indeed it is important to determine whether a user has the right to execute a modification on shared data (e.g. a document), i.e. whether an access right was granted or revoked before the modification.
Group key management operations [5] such as group key generation and revocation can be done in concurrency with
modifications on the shared document and on the access rights. The challenge is to compose CRDTs for access rights and data synchronisation with group key management operations.
Programme
- study of the underlying IPFS structure and of its support for the implementation of an access control mechanism
- study of the literature on CRDTs
- study of the solution proposed in [6] for the composition of a CRDT for access rights with a CRDT for data
- proposal of a composition of CRDTs for access rights and data synchronisation with group key management
- prototype of the proposed solution over IPFS and into the Hive platform
Bibliography
[1] J. Benet. “IPFS – Content Addressed, Versioned, P2P File System”. In: CoRR abs/1407.3561 (2014). doi: 10.48550/arXiv.1407.3561. arXiv: 1407.3561.
[2] L. André, S. Martin, G. Oster, and C.-L. Ignat. “Supporting adaptable granularity of changes for massive-scale collaborative editing”. In: Proceedings of the International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom 2013).
Austin, Texas, USA, Oct. 2013. doi: 10.4108/icst.collaboratecom.2013.254123.
[3] G. Oster, P. Urso, P. Molli, and A. Imine. “Data Consistency for P2P Collaborative Editing”. In: Proceedings of the ACM Conference on Computer-Supported Cooperative Work – CSCW 2006. Banff, AB, Canada, 2006, pp. 259–267. isbn: 1-59593-249-6. doi: 10.1145/1180875.1180916.
[4] M. Shapiro, N. M. Preguiça, C. Baquero, and M. Zawirski. “Conflict-Free Replicated Data Types”. In: 13th International Symposium on Stabilization, Safety, and Security of Distributed Systems, SSS 2011. Oct. 2011, pp. 386–400. doi: 10.1007/978-3-642-24550-3_29.
[5] M. Burmester and Y. Desmedt. “A secure and efficient conference key distribution system”. In: Advances in Cryptology — EUROCRYPT’94. Ed. by A. De Santis. Berlin, Heidelberg: Springer Berlin Heidelberg, 1995, pp. 275–286. isbn: 978-3-540-44717-7. doi: 10.1007/BFb0053443.
[3] P.-A. Rault, C.-L. Ignat, and O. Perrin. “Distributed Access Control for Collaborative Applications using CRDTs”. In: Proceedings of 9th Workshop on Principles and Practice of Consistency for Distributed Data. Rennes, France, Apr. 2022. doi: 10.1145/3517209.3524826.