Tying users with multichain

+1 vote
Would it be correct to tie a user with an address? Something like after I create a user on the app level I give it the output of `getnewaddress`? Also would it be wise to store the user information in a stream? Or it would be better to store them in a normal DB?
asked Mar 5, 2018 by ulan08

1 Answer

0 votes

The most natural way to connect user identities with addresses is via a stream.

If you trust users to identify themselves, you can create an open stream to which they publish directly, and then retrieve identity information using liststreampublisheritems.

If you prefer some trusted party to perform the identification, use a closed stream and have that trusted party (which has per-stream write permissions) publish to the stream. The user addresses can be used as the key for stream items, allowing retrieval of identity information via liststreamkeyitems.

answered Mar 5, 2018 by MultiChain
I see, how about for sending of assets? Assets can only be sent from one address to another right? So it is correct to say that an address could be used to tie to a user?
Yes, addresses are the natural way to identify users on a blockchain.
For the open stream, will I have to do something like this? https://www.multichain.com/developers/stream-confidentiality/ Or what you're saying could be achieved in a more simple way?
You don't need to worry about stream confidentiality unless you are trying to hide information on the blockchain.
But shouldn't the user's information be hidden?
Yes, if you want the information to be hidden you need to either encrypt it or store it off-chain. This is a question for each specific application.