Since the introduction of centrally-held, government and corporation-authored ledgers the average citizen has slowly been giving up their privacy for the sake of convenience. However, 323 years since the Bank of England introduced paper money into the UK economy, this project serves as a proof of concept that we can share our data privately in a way which benefits the consumer and the producer equally.
Fundamentally, the user's privacy is vastly improved compared to current centralised systems, user control is (mostly) maximised, and the security of the network is upheld through being publicly verifiable and available.
- Blockchain technology
- Off-chain storage
- Decentralised, distributed client interface
- Encryption gateway*
*This is not strictly necessary but at the moment it provides an essential part of the compute layer which is not feasible on Ethereum
Above are the key components that form the system. Below are instructions on how to run them locally.
# Blockchain technology (EthereumJS's testrpc)
yarn run testrpc
# Off-chain storage (IPFS)
yarn run services
# Client interface (webpack-dev-server / react)
yarn start
# Encryption gateway
yarn run dev
Note, these must be started in separate terminals.
Have fun!
For demonstration purposes, I have created a demo script that does the following:
- Register
doctor
,patient_1
, andpatient_2
- Assign
doctor
as a member of groupGMC
(a contract administered by thegmc
account)
# Run the below once to inject data
yarn run demo