Does blockstack record exchange of data on the blockchain?


#1

Just to help me understand.

I know the blockchain is a ledger of the transactions of bitcoin from one user to another. In terms of blockstack, if a user is exchanging data for example ownership of a document, does that exchange get recorded to the blockchain?

Or is Blockstack simple recording the transactions of Domain Names and that creates a solid trust of who owns the data, therefore if someone transfers ownership of a document from one domain name to another, the transaction is not recorded on the blockchain but trust in who owns the document comes from the security of the domain.

Correct me if I am wrong but I am just trying to reconfirm what I think is going on here.


#2

Let me see if I understand what you’re asking.

Suppose you want to share a document with me in a non-repudiable way. One way to do this is to sign the document as well as a statement saying “as of time X, Jude now owns this document.” As long as a third party verifier knows both your and my public keys, they can contact either one of us to verify the transfer.

Blockstack makes sure that the third party verifier gets your and my public keys by assigning them easy-to-remember names on a blockchain. It does not need to write your attestation to the blockchain for the above scheme to work (but it could do so if it wanted to, for reasons I will explain below).

What happens if I transfer the document to Ryan? I could do the same thing: sign the document and a statement saying “as of time Y, Ryan now owns the document.” A verifier could look at your signed statement and my signed statement, and conclude that the document has passed from you to me to Ryan.

Now here’s where it gets interesting. How does the verifier know that the signed statement it got is the latest such signed statement? For example, what if the verifier didn’t “see” my statement that I transferred the document to Ryan? It would still believe that I owned it. This means that all of us need to come up with a way to make sure that the verifier always knows it has the full history of transfers (i.e. the document’s provenance).

Recording transfers on the blockchain is a sufficient but not necessary way to preserve provenance. Blockstack can do this, such as by assigning the document a name on the blockchain and encoding ownership transfers with NAME_TRANSFER transactions. However, cheaper and practical off-chain solutions also exist, such as simply emailing all of the interested parties your transfer statements.

Hope this helps!