BioPassport Overview: an Ethereum subchain with ADHC consensus algorithm
1.Overview: an Ethereum subchain with ADHC consensus algorithm
Partial validation is done by wallet to ensure the security of transaction with minimal effort. The wallet can get the triple and transaction from BioPassport subchain and check if the hash of the transaction is valid according to the algorithm above. If it is valid, then the wallet can get one or more previous triple from the BioPassport subchain and check the hash using same process. Because the encrypted hash code identifies the ownership of the private key, there are very little chance for wrong transaction to be accepted.
2. Encrypted data storage
User’s personal data are stored in encrypted storage(can be a distributed database or decentralized file system). We will use modified Elliptic Curve Diffie Hellman Key Exchange(we call it mECDH) to derive the key to encrypt the personal data. The mECDH uses the user’s private key and another secret(such as PIN, encrypted biometric data etc) to derive keys. Because we use the mECDH, as long as the user store the private key and another secret in different place, the stored data is cryptographically secure. The mECDH algorithm can be used between two or more parties. Usually, the mECDH algorithm is used to derive key to encrypt or decrypt personal record (or part of personal record) using user’s private key and one more secret to protect data more securely. But multi-party mECDH can be used to create a multi-signature enabled data, which cannot be read unless all stakeholders agree.