Tribler / tribler

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

blockchain for health #3477

Closed synctext closed 1 month ago

synctext commented 6 years ago

The outcome of our first brainstorm session within the medical domain: blockchain__healthcare_architecture_v1 Disclaimer: this is just a starting point for discussion and discover flaws in our simplistic thinking.

The goal is to see if we can formulate a realistic field trial as a very light-weight attempt to learn-by-doing. The above system architecture depicts the most simple use-case involving 1 person from each stakeholder. 80% of the above technology pieces have already been created in other projects by the Tribler team. But never used in this context. Integration and applying domain expertise is expected to take the majority of time.

This trial brings key innovations to the healtcare sector:

The key enabling technology is the blockchain, which makes the trust of the government portable (e.g. legally-valid electronic signatures). Many economic sectors have already transitioned beyond batch processing and week-long delays within backoffices with manual checks of paper-based information. This trial consists of digital trusted information flows between strongly authenticated parties. By using encrypted information flows on our scalable blockchain datastructure we achieve tamper-proof record keeping. For authentication we aim to integrate in due time with eIDAS high compliant mechanisms. We have an operational prototype as an alternative for the UZI-pas, using our patent-free software-based PUF; using physics as a foundation for security. Where possible we should use the message and protocol specifications approach of the MedMij organisation (see in Dutch only). Their system architecture is based technologies like Oauth and TLS (central-server based). This will cause cause problems with a self-sovereign approach. For instance De PKI-O-certificaten dienen aangeschaft te worden bij een vertrouwensdienstverlener, zoals Logius.

Our work is based on the pioneering work of HIE of one. This volunteer-driven (e.g. @shihjay2) initiative realized the state-of-the-art in the field by connecting uport, OpenID, HIE authorisation server, and a electronic health record system. Their mobile app can login to several dozen hospitals and retrieve medical records. whitepaper image Our approach is not as sexy as MIT proposals. We propose to first apply approaches with established effectiveness discovered 20-ish years ago, before trying experimental and unproven technology. Whitepapers from MIT (not peer reviewed scientific publications) propose to solve the data, privacy, and security in healthcare using multiparty crypto tricks. We have some experience there. In prior work from we fully implemented and evaluated the efficiency of additively homomorphic encryption, namely the Paillier cryptosystem. This stuff is not yet ready to leave the lab.

As an initial step to obtain participation and feedback, the 4 students of TUDelft will implement a first demo in coming weeks. This demo will measure the willingness of various parties to explore options and conduct a field trial. Background information: Prof.dr. Wouter van Solinge has done pioneering work at UMC Utrecht with personal eHealth apps (in dutch only).

We have initial participation of RvIG, the identity provider in our Kingdom.

synctext commented 6 years ago

First concrete step:

synctext commented 6 years ago

Clear roadmap for coming 2 weeks:

shihjay2 commented 6 years ago

Thanks for the mention to the HIE of One. Your discussion here is very interesting to us; I'm including Adrian Gropper who works with me on the HIE of One project. We are both happy to assist and to also learn from your discussions how we can leverage self-sovereign identity, blockchain to our goals of improving health information technology, security, and privacy.

qstokkink commented 6 years ago

https://github.com/qstokkink/ipv8-android-app/blob/master/app/src/main/java/org/ipv8/android/restapi/json/AttestationRESTInterface.java

synctext commented 6 years ago

Progress reporting:

synctext commented 6 years ago

Progress to date:

Core Network.java code :

        MessageProto.Message.Builder messageBuilder = MessageProto.Message.newBuilder()
                .setSourcePeerId(hashId)
                .setDestinationAddress(ByteString.copyFrom(peer.getAddress().getAddress().getAddress()))
                .setDestinationPort(peer.getAddress().getPort())
                .setPublicKey(ByteString.copyFrom(publicKey.toBytes()))
                .setType(INTRODUCTION_REQUEST_ID)
                .setPayload(MessageProto.Payload.newBuilder().setIntroductionRequest(request));

        sendMessage(messageBuilder.build(), peer);
synctext commented 6 years ago

Status:

jonathanraes commented 6 years ago

Document signing merged in #26

attest_claims branch contains code for creating and transferring a claim as plain text to an attestee using beam or a QR code.

synctext commented 6 years ago

Good progress. Tomorrow is demo day.. Is newest version on Google.play? Can you please add a "release version" into the info tab, for instance?

wkmeijer commented 6 years ago

The newest version will be online in a few hours, finalizing the last tests for backwards compatibility now. I'll also come by to update the bootstrap phone.

wkmeijer commented 6 years ago

We did another small release to the play store with some minor fixes:

synctext commented 6 years ago

Progress: 15,513 additions and 6,513 deletions in Pull Request. Out of which 9234 is outgenerated from app/src/main/java/nl/tudelft/cs4160/trustchain_android/message/MessageProto.java. Simple Android studio build

Final sprint:

wkmeijer commented 6 years ago

The last release is now also available in the play store. Documentation is up to date. Jonathan is finishing creating the performance graphs, so they will be visible on readthedocs tomorrow.

Things that changed since last time:

All the code is on https://github.com/klikooo/CS4160-trustchain-android for now. The documentation is on http://trustchain.readthedocs.io. This can be moved to the wkmeijer/CS4160-trustchain-android and the trustchain-android.readthedocs tomorrow.

wkmeijer commented 6 years ago

Todo's:

synctext commented 6 years ago

@klikooo implement binary transfer. summer project

qstokkink commented 1 month ago

This course work seems to have been completed several years ago. I'll close this issue now.