Tribler / tribler

Privacy enhanced BitTorrent client with P2P content discovery
https://www.tribler.org
GNU General Public License v3.0
4.77k stars 443 forks source link

[CSE3000] Towards a Digital Foundational Identity #6050

Closed devos50 closed 3 years ago

devos50 commented 3 years ago

This ticket will host the meeting notes/progress updates for the CSE3000 BSc project.

For the next meeting (April 20, 10:00):

prodrigovalero commented 3 years ago

Meeting notes 19/04/2021 Internal meeting to discuss research questions:

devos50 commented 3 years ago

Thanks everyone for uploading the draft research plans to Brightspace! As you might have noticed, I rescheduled the meeting next week to Monday, 14:00. Rowdy will also join this meeting.

Best of luck on finishing the research plan! Below you can find some feedback for everyone, and feedback for each group member.

Generic feedback:

Remy:

Kalin:

Harmen:

Pablo:

Merel:

prodrigovalero commented 3 years ago

For anyone looking into Blockchain enhanced SSI (I think at least @remyd95 you were looking into it), this paper describes a real proof-of-concept project in which they explain the basic concepts of blockchain and how it can help enhance SSI. It gave me a better understanding of each of the technologies and most importantly their interaction: http://essay.utwente.nl/71274/1/Baars_MA_BMS.pdf

ghost commented 3 years ago

This is my research plan. Research_Plan.pdf

remyd95 commented 3 years ago

Here is my research plan as well. Research_Plan_Remy_CSE3000.pdf

devos50 commented 3 years ago

Here's a good source for articles on SSI (thanks @llegard) 👍

Another recommended paper

devos50 commented 3 years ago

Feedback on uploaded research plans:

Remy:

Kalin:

Harmen:

Pablo:

Merel:

Suggestion for this week:

devos50 commented 3 years ago

Some specific comments/ideas on Pablo's plan (we will further discuss these ideas today):

Possible NFT workflow: 1) create a torrent of your creative material (e.g., movie, art, music) 2) store the swarm hash of your material on TrustChain, create a signed record. Attach it to your SSI wallet. 3) optionally, you can have external parties audit/attest the material (e.g., certificate of authenticity). 4) a user is able to transfer ownership of their materials to others, in return for EuroTokens.

Fundamental problem: how can we guarantee unique ownership of NFTs using TrustChain accounting?

Potential storyline: Ethereum is not scalable enough, high fees -> insight: we need accountability, not full-fletched contractual logic -> we can use TrustChain -> TrustChain has the problem of double-spending.

Our recently published article on TrustChain.

ghost commented 3 years ago

Revised Project Plan Research_Plan.pdf

merelanne commented 3 years ago

Revised Research Plan

remyd95 commented 3 years ago

Hereby the revised research plan. Research_Plan_Remy_CSE3000_V2.pdf

InvictusRMC commented 3 years ago

Alright, as promised I would follow up in some more detail.

Self-Sovereign Identity in IPv8 is comprised of two main communities:

  1. AttestationCommunity
  2. IdentityCommunty

In this post I will only explain the AttestationCommunity, as this is the only one used in the SSI app in the super-app repo.

AttestationCommunity

The attestation community contains the low level logic for signing and verifying attestations. Two types of attestations exist, which are further subdivided in numerous key sizes and value ranges. Firstly, there is the Boneh et al.[1] algorithm. This is a public key encryption scheme, allowing for exact value verification with zero knowledge. The second algorithm by (Peng & Bao)[https://ieeexplore-ieee-org.tudelft.idm.oclc.org/stamp/stamp.jsp?tp=&arnumber=5591457][2], is another ZKP algorithm, however, this one is special as it allows for range proofs (i.e., you can verify that a certain value lies in a range). The basic flow of attestation signing is as follows:

  1. Peer A sends a RequestAttestationPayload, incorporating the type of proof used, the attribute name, a public key, and any further custom metadata (JSON format).
  2. Peer B receives said request and creates an attestation using the provided public key. Peer B also assigns the value.
  3. Peer B sends AttestationChunkPayloads, which is the serialized attestation. It is fragmented into several UDP packages.
  4. Peer A receives the AttestationChunkPayloads, reconstructs the attestation and saves it to his wallet.

Important things to note here is that Peer A (favourably) generates a new key for each attestation requests. This is best for privacy reasons.

The attestation verification flow works as follows:

  1. Peer B send a VerifyAttestationRequestPayload to peer A, containing the hash of the attestation he wants to verify.
  2. Peer A sends back the attestation using AttestationChunkPayloads
  3. Peer B sends ChallengePayloads to peer A.
  4. Peer A sends ChallengeRespondPayloads to peer B.
  5. Peer B can now verify that Peer A holds the private key of the attestation and using the responses he can verify that attestion holds the correct value. (The mathematical details can be found in the references of the two algorithms.)

It is important to note that the plaintext value is, thus, never sent through the network. Feel free to ask me any questions. (You can also e.g. e-mail me).

[1] Boneh, D., Goh, E.-J., and Nissim, K. (2005). Evaluating2-dnf formulas on ciphertexts. In Theory of Cryptography Conference, pages 325–341. Springer. [2] Kun Peng and Feng Bao. An efficient range proof scheme. In Social Computing (SocialCom), 2010 IEEE Second International Conference on, pages 826–833. IEEE, 2010.

devos50 commented 3 years ago

Feedback on the research presentations:

Remy:

Pablo:

Kalin:

Merel:

Harmen:

merelanne commented 3 years ago

@devos50 I have a few questions regarding the specifics of my research. Do you have time tomorrow after our group meeting to discuss those?

devos50 commented 3 years ago

@merelanne Unfortunately I have another meeting right after our group meeting tomorrow. Would 14:00 tomorrow work for you (same Jitsi URL as our group meeting)?

InvictusRMC commented 3 years ago

Hey guys and gal my apologies for missing the presentations last Friday. For some reason the event was not synced with my calendar and, as such, I believed them to be coming Friday.

@devos50 if you'd like my help with any other presentations or likewise, do let me know!

merelanne commented 3 years ago

My current version of the paper (first 400 words). The introduction is almost done, but I want to ask some questions before I write the detailed problem description. Note that this version has not received feedback from the Academic Communication Skills department yet. This will happen on Friday.

ghost commented 3 years ago

Towards_a_Disaster_Resilient_Self_Sovereign_Identity.pdf There are not that many changes from my project plan.

devos50 commented 3 years ago

Meeting notes 04-05-2021:

prodrigovalero commented 3 years ago

My first 300 words of the research paper. It is the first draft, so it is subject to change before submission Thursday. Research_Project_NFTs.pdf

devos50 commented 3 years ago

Some quick feedback on the uploaded first 300 words:

General feedback:

Remy:

Harmen:

Pablo:

Merel:

Kalin:

merelanne commented 3 years ago

@prodrigovalero and I cannot run the latest version of the SuperApp. We get the following error when trying to run gradlew app:installDebug. We have tried multiple solutions found on StackOverflow already, but haven't found anything that works. Have any of you seen this error before?

> Could not resolve com.mattskala:itemadapter:0.4.
         > Could not get resource 'https://dl.bintray.com/terl/lazysodium-maven/com/mattskala/itemadapter/0.4/itemadapter-0.4.pom'.
            > Could not GET 'https://dl.bintray.com/terl/lazysodium-maven/com/mattskala/itemadapter/0.4/itemadapter-0.4.pom'. Received status code 403 from server: Forbidden
xoriole commented 3 years ago

Seems bintray.com software repository is not available anymore so the dependencies are not resolving. We'll have to move bintray dependencies to a different repository or setup a new one of our own.

For this particular dependency resolution, here is a cached file you can import locally itemadapter.zip

HarmenKroon commented 3 years ago

Research_Paper_SSI_Harmen.pdf First 400 words on an SSI based credit score claim that promises to reduce collatoral in DeFi similar to a traditional credit score.

devos50 commented 3 years ago

Poster template: match_poster.pptx

devos50 commented 3 years ago

Meeting notes 11-05-2021:

prodrigovalero commented 3 years ago

First screenshot of the application, he focus is not in style but in providing the basic functionality to test the NFT creation (bittorrent) and storage.

Screenshot 2021-05-11 at 11 18 40
ghost commented 3 years ago

Introduction and Problem Description Towards_a_Disaster_Resilient_Self_Sovereign_Identity.pdf

prodrigovalero commented 3 years ago

Added abstract, refined introduction and problem description: Research_Project_NFTs (3).pdf

devos50 commented 3 years ago

Feedback for Kalin:

ghost commented 3 years ago

@devos50 The meeting for next Wednesday is only for students. Each of us has to be present in a different breakout room and present his/her poster to peers from other groups.

merelanne commented 3 years ago

Current version of my paper

ghost commented 3 years ago

This version has the introduction, problem description and covers the first solution. Work has been started on the second and third solutions, but they can be expected later today or tomorrow. Towards_a_Disaster_Resilient_Self_Sovereign_Identity.pdf

prodrigovalero commented 3 years ago

Current version of my paper Research_Project_NFTs (4).pdf

remyd95 commented 3 years ago

Research_Project_CSE3000_Intro+Problem.pdf

Intro + Problem description. I'm currently finishing up the text for the literature study part. I plan to upload this tonight or tomorrow.

remyd95 commented 3 years ago

Midterm_Poster_Remy_CSE3000.pdf

Current version of the poster presentation (New images)

xoriole commented 3 years ago

The bintray dependencies should be resolved with https://github.com/Tribler/trustchain-superapp/pull/73 merged. Could any of you try and let me know if you still encounter issues?

merelanne commented 3 years ago

midterm_poster.pdf This is my poster for the midterm. It will probably be changed slightly as I expect some feedback tomorrow. I have some questions for Martijn for our Thursday personal meeting, so after that meeting it might change (expand) as well.

prodrigovalero commented 3 years ago

Midterm poster (not 100% finished) + needs feedback from today's session: Visual Content (3).pdf

prodrigovalero commented 3 years ago

@xoriole I can confirm that I have no issues with regards to bintray dependencies. Thank you for your help.

remyd95 commented 3 years ago

Research_Project_Remy_CSE3000_Layout+1PageContent.pdf

Progress update: added overall layout and 1 page of content. Currently working on transforming more draft text to formal text for the paper

ghost commented 3 years ago

Towards Data Resilience for Fully Distributed Self-Sovereign Identity Managers​.pdf Towards_a_Data_Resilient_Self_Sovereign_Identity.pdf

These are my paper and my poster. The section with the three solutions will probably be edited later when I have an implementation. The poster is lacking some visuals, but those will come with the design of the solution.

HarmenKroon commented 3 years ago

Research_Paper_SSI.pdf

My current draft that requires a lot of refinement. Structure of sections has evolved to discuss lending platforms and their use of collateral and identity management.

merelanne commented 3 years ago

Current paper

prodrigovalero commented 3 years ago

Current paper : Research_Project_NFTs (5).pdf

prodrigovalero commented 3 years ago

Improved version of the current state of the application (still needs a lot of styling):

Screenshot 2021-05-25 at 11 01 13
devos50 commented 3 years ago

Meeting notes 25-05-2021:

Individual feedback (Kalin):

devos50 commented 3 years ago

Individual feedback (Harmen):

For next week:

merelanne commented 3 years ago

Current paper

devos50 commented 3 years ago

Individual feedback (Merel):

For the next meeting: