Ethereum Smart Contract assure us the transaction between both parties involved in a contract is authentic. But do you really trust anybody on the Internet? What if the seller doesn't send you the product after you paid the price already? What
if the buyer doesn't confirm or even pretend he/she didn't get the product?
That's why we have a person in the middle of the contract who checks the product, document, money transfer, product delivery, and do other validation stuffs. We call them, the Broker. The same thing can happen in the Smart Contract.
In this Smart Contract, we have 3 paries invloved. The seller, they buyer, and the broker. Let's think about their roles in case the seller wants to sell a house.
For more details, please check this
Please try with testnet before you spend the real Etherum money on this.
Also you might need an
Ethereum/USD price calculator.
The Seller is the owner of the house. The Seller decides the price of the house, can select the Broker, and set the fee for the Broker. The Seller can 'abort' the contract only at the 'created' stage.
The Broker is the validator, and the witness of the contract. In the earlier stage of selling a house, the broker can check all the documents the seller or buyer give in (the history of the house, insurance information, inspection report,
etc). At the end of the contract, the buyer sends the money and once all paper process is done (the Buyer is now officially the owner of the house), the broker confirms it. Only after that, the money is sent to the seller, and the given
fee is sent to the broker.
Only the broker can cancel the contract if there's any fraud found or any of the seller/buyer don't want to continue. If the contract is canceled after the buyer sent the money, the money is safely returned back to the buyer.
The buyer sends the money, give in required documents to the broker for validation.
Either the seller or broker can create a new contract. Only the creator can set the price information, and the fee for the broker.
When selling a house, usally the realtor will do the broker's role so the realtor will create the contract from hise/her PC, set the seller information (Etherum address) and the fee the broker will take from the price. Or a seller can create
a new contract, asking somebody else like lawyer do the broker's role. The seller can set the information of the person doing the broker's role, his Ethereum address fee and the fee to that person.