In block chain through public data encryption

Chain-off, designed for developers and students, Insider!

This article from the chain off the block chain Q & A community , refused reproduced without permission.

Here Insert Picture Description

Privacy restrictions

In dealing or exchange of business documents, business partners may need some privacy factor.

Privacy (1) Trading data: Transaction data only parties to the transaction to read.

Identity number (2) transactions and counterparties confidential: The number of trading companies and their counterparties are competitive information shall not be disclosed.

(3) Time Visibility: employees to join a competitor, so you can still access the system, should not see the old trading.

(4) section Visibility: Not all parties can see the same information. For example, buyers and sellers can see all the fields in the transaction, but the shipping company should only have access to the shipping address, but can not access the price.

(5) Add / Remove counterparties: You may need to add or delete counterparties in the transaction process and allow them to access relevant documents.

Public trading block chain store and exchange data privacy can cause major obstacles: By default, all data entered in the ledger are clear. Since each node has a complete copy of the ledger, it can not save confidential data.

By encrypting data protection

Data encryption protects the privacy of transaction data, but can not be trusted wayward diversity and environmental networks counterparty requires a specific algorithm. The main steps of the algorithm are as follows:

All network stakeholders have sent an asymmetric key pair and exchange their public keys outside of the network.

Then, when the exchange of information:

Generate a random number

· A symmetric AES 256 key figures generated by this

· The sender uses its private key to sign the AES key (=> "signature")

· The message key encryption using the AES (=> "encrypted message")

• For each recipient, AES are encrypted using the public key of the recipient (=> "Encryption Key") Thus, the ledger records the following: signing / encryption information / encryption key

The recipient receives a message:

· AES 256 key using the recipient's private key to decrypt

· AES 256 key control by using the public key to verify the sender's signature

· Key to decrypt the contents using AES 256

This encryption algorithm is the extent to which guarantee the privacy restrictions?

The algorithm provides security and non-repudiation, by writing it only once (encrypted) contents to minimize storage requirements ledger. Therefore it respects the privacy restrictions.

In addition, the symmetric encryption key can be shared later with the controller, so privacy restrictions have been respected.

Leave the company's employees will no longer use a symmetric key, can no longer see the contents of past transactions: therefore respect the privacy restrictions.

Finally, you can use the same transaction multiple symmetric encryption keys for different fields of trade, and shared with key stakeholders, so that only publicly available information of interest to them: therefore respect the privacy restrictions.

But the drawback is the need to exchange key algorithms out of the network. The most important thing is, it does not hide all parties involved in the transaction, and therefore does not respect the privacy restrictions.

Encryption is an obstacle to business logic?

Looking back on the need for privacy, encrypt data also caused severe restrictions on the scope and use of smart contract block in the chain, because they can only record data in the ledger to operate, so everyone can see These data.

This brings a new set of challenges:? How a manner consistent with the privacy restrictions of encrypted data, while allowing "credible" business logic operation data of many researchers have been studying this topic and see how this theme is the evolution of the It will be very interesting.

Guess you like

Origin blog.csdn.net/weixin_44172023/article/details/91414073