Beginner question on Ethereum and smart contracts

Have been looking at the Ethereum 101 course and have a beginner question regarding Ivan`s example where a father makes a smart contract where his son would get a certain amount of money if grades were good.
In the example a certain condition would be put into smart contract for the money to be released if grades were =>to what was coded. If the grade was < the money would go back to father.
In this example it is said that the contract could not be tampered with.
My question is then, how it is determined who can release the condition in the contract?
I am guessing that the son would have to update the grade in the smart contract, and then the father would need to verify that in the same contract, but I am not 100% sure I understood correctly.
Would appreciate if someone could enlighten with a more detailed example. Thank you!

1 Like

hey @toggen! I did that course a long ago but I think I can answer your question. The idea behind smart contracts and the Ethereum blockchain is that the father does not have to trust the kid or vice-versa. Trustlessness! The contract is created and can not be changed once deployed, so I think that in this case, it will get the results directly from the school, so neither the father or kid can manually do it. That’s the beauty of it! Hope I could explain myself, and good luck on the course

4 Likes

Thank you for your reply Pedromndias. Yes, what I didn`t quite get was that if either the father or son could make an input regarding the grades it would be possible to cheat by giving the wrong input. Of course if a 3rd party does the input then the contract will sort it out.
Appreciate the reply. I have a lot to learn:)

1 Like

Hey Toggen,

Look into what’s called an “oracle”. It’s basically a trusted third-party that can upload third-party information that can’t be obtained directly by the Smart Contract.

Rather than it being the son or father, a better person to upload the grades would the Principle or Teacher, for example. It could even be the mom or a grandparent that is trusted by both parties to act honestly and not lie about any grades received.

The Oracle topic is an interesting one in general, as you’d have to design it in a way where the Oracle would want to act honestly and would penalized/lose credibility if they didn’t. But in the simple example above, this wouldn’t be as much of an issue.

1 Like

Yes, that seems interesting. I will have a look at Oracles to learn more.
Thank you very much for your reply

I love the Father-Child problem that is being discussed here. I appreciate the opening of this thread and the discussion :muscle: :purple_heart: I love the realistic side of this problem: this is how real life is. Decentralized technologies solve big problems for each one of us that live individual centralized lives. The Father wants to be sure that the kid will not cheat. The kid needs to be sure that he will get the money after doing his part. The Dad-Son contract is based on mutual rights and mutual obligations. The Father has the right to receive (good grades) and the obligation to give (money). The Son has the right to receive (the money) and the obligation to give (the good grades).

The Smart Contract removes the need to trust a human third party to keep track of the rules of the contract, and to enforce its fulfillment. About the problem of Oracles, I believe this is not a weakness, but an intrinsic valuable connection to the real world of value that any computational system needs. This is, for example, what a human brain does: it computes chaotic data from untrusted sources and derives adaptive heuristics from the data. A nice discussion may arise from the question of who would be a great oracle in Ivan’s example in deed: a Teacher, all the Teachers, the Principal, the Mother, the kid’s friends…