Transferable ownership certificate Is there a crytpographic way to assert ownership of an asset (let's say a piece of stone)?

As an example, a number (public key) could be engraved in the stone, and the owner could keep a private key (never shared).

Anyone who wants to claim for ownership would have to decrypt a message, and only the one who has the private key can do it.



But one more thing: the ownership should be transferable. Here is the problem with the previous system: if the owner A sells the object to owner B, owner A could secretely keep the private key when he gives it to owner B.

What are the general cryptographic solutions for this? (except blockchain which is a famous solution nowadays, that I already know)
For the sake of simplicity, I assume that every party can be identified by a keypair (e.g. Alice has a public $A_{p}$ and a secret $A_s$) and every asset by an identifier (a hash for example).

Let us say it is "known" that Alice owns a certain property identified by $P$, either because she created it and registered the identifier somewhere, or she claimed it, or got it from someone else (we don't care). A way that she could transfer the ownership to Bob (with keypair $B_p, B_s$) is to make a statement that is semantically equivalent to:

I, Alice, transfer the ownership of [P] to the person holding the key [B_s].
The current date is [Mon 30 Oct 17:27:18 CET 2017].


She then signs the statement with her private key $A_s$ and gives it to Bob. Then, if anybody contests whether Bob actually owns $P$, he can show the signed statement and thus prove that he owns $P$.

There is only one drawback to this system, which is that Alice could transfer the ownership more than once. This is because she can just write another statement with an invalid date, which looks (as long as we never have seen Bob's statement) to be valid all the same.

Therefore, we will always need to broadcast transfers of ownership. There are multiple ways this can be done. For example, Bob could put the hash of the statement in a widely distributed newspaper. Then he could later point back to prove that the statement indeed existed at the moment the newspaper was printed. To retract this Proof of Existence (PoE) you would need to get your hands on all the prints of the newspaper, which is probably not feasible. 

We could (as you mention) also publish the statements in a blockchain (this is what Bitmark does), such that the distributed nature of the blockchain makes it impossible to retract a statement.

A third way is to use a trusted third party. The Time Stamping Protocol defines CA's for signing PoE's for users. On Twitter, you will sometimes see cryptographers publishing proofs of existence for articles/knowledge that they are not (yet) allowed to publish. In this case, Twitter is the trusted third party (because we all trust Twitter not to allow a person to tweet in the past).