How can I prove my ownership to my house by simply providing 2 numbers?
Dear Students in Udacity’s Blockchain Nanodegree,
You have every right to wonder how can the capestone project help sell real houses on the Ethereum blockchain. Because I was going crazy wondering that too, until I got this idea.
Dear Everyone Else,
If you are not yet familiar with Udacity, I advise you to get yourself familiar with them. They are good. They saved me during a mandatory life-change. But that’s not our point now. We are here to talk about their capestone project in the blockchain nanodegree (that I am about to finish inshallah). I want to talk (and hear from you in the comments) about how, with the impossible hypothesis it makes, can it potentially be used in real-life?
If you are not familiar with the capstone I am talking about, it basically aims to create a marketplace for real-estate owners to buy and sell their properties safely on the Ethereum blockchain. Here’s how:
1. The property owner provides their property’s ID (say a ZIP code or any code unique to their property.)
2. They also provide an undeniable proof that they are the true owner for this property. For generating this proof, they will use zk-SNARKS that we talked about in this article.
3. The user clicks “Mint Token”, et voila, they have their real-life property represented as a unique token owned by them on the Ethereum network.
4. The owners can now sell their token in OpenSea: a virtual marketplace dedicated for buying and selling Ethereum tokens that represent and hold true value in real-life.
P.S. Yes, it can be this simple to buy and sell houses if we adopt the blockchain technology correctly.
Cool! Except for a tiny problem that has been ruining the party; which is: the silly verification criteria used to prove ownership of the property.
The project requires the owner to provide two secret numbers to prove their ownership to the property, such that the second number is the squared value of the first. Wait — are we seriously pretending that a number and its squared value are considered a good evidence for proving ownership of real-world property? Really? This is absurd to the point that it becomes confusing.
In the project’s defense, I would say it was simplified for practice purposes, and of course it shouldn’t be done this way in a real DAPP. But how exactly should this be done if we are to apply it in a real DAPP?
I agree that there should be some clarification from Udacity’s gurus on how this mysterious step can possibly be done in the real world, instead of leaving us miss the point and fail to see the real importance of zk-SNARKS in our project. For now, let us try to figure this out ourselves. This is how I think about it:
The usual government entity authorized to issue paper-based title-deeds for property owners will now have to do more than just stamp the deeds. They are going to have to issue with each title deed a unique secret number, or set of numbers, called witnesses. These witnesses are to be given in private only to the property owner; who will use them to generate the proof that the they can submit whenever they need to prove their ownership to the property, for example mint a token for the property. It goes without saying that this same government entity — say the ministry of housing for instance- will have to provide the verifier contract that can easily tell the true proofs from the false ones.
I believe this is one way things can work. Please share with me in the comments other ways you believe this puzzle can be solved. Thanks and good luck in your project 😊