Presumably smart contracts would very often depend on input external to the system - for example, imagine a will that says if Person A dies, Person B inherits the millions of dollars worth of Ether at a particular address that Person A owns. Somebody (or some other system) has to be in charge of the input to the Ethereum system to tell it that Person A has died. This seems like a huge single point of failure that doe…
What is Ethereum?
51–60 of 105 posts
Re: What is Ethereum?
#52Bitcoin transactions are scripts that execute sequentially and are very restrictive. Ethereum instead took bitcoin and replaced that scripting language with a turing-complete language. Now, consider the conditional operator in the given example. "If a transaction occurs.." is the condition. ONLY the conditional of transaction types can be verified by the program because it is inherent in the network. For every other…
One reason which springs to mind immediately: the entity running the script always has complete control, whilst we may choose to grant limited control to third parties. For example, we might define a set of separate, potentially independent, verification conditions, and perform some action when 2/3 of those conditions are met. Manipulating such a contract would require collusion by many of those third-parties; and it would also make contracts more robust against technical problems.
Re: What is Ethereum?
#53Re: What is Ethereum?
#54Isn't fuzziness a feature of most legal codes? Treating the law like an absolute immutable contract sounds anathema to a healthy judicial system. I'm not sure why some technologists have such a fascination with legalism. I'm not against the idea of digital government and having laws be distributed under a free documentation license with the ability for citizens to discuss and amend laws. A standard version control an…
This is of course possible in standard law too, hiding clauses in impenetrable legalese. However, in standard law (as far as I know), such tricks don't tend to stand up in court as the behaviour is considered "unreasonable".
Ethereum, being self-enforcing, gives no recourse to victims of tricksters. It's all set in stone.
Re: What is Ethereum?
#55"You might even imagine a nation defined not by geography but by the rules and benefits of citizenship. Imagine that people of the future could opt-in to the virtual nation that suits them best." . I wonder if we will ever get there . But its eye opening just to think about it.
Some extreme examples, you may also combine them:
--
Nation A: Copyright is forever. (Because 1000 years is not enough for Mickey Mouse.)
Nation B: No copyright at all.
Nation C: Only Copyleft software.
--
Nation M: No taxes
Nation N: Basic Income for everyone
--
Nation X: Death squads (but only for "bad" people)
Nation Y: No incarcerations, only voluntary "rehab" camps
Nation Z: No incarcerations, only "voluntary" rehab camps
--
The current solution is that each nation has a territory and tanks. With some simplifications, inside each nation there are clear rules and when there is a conflict between nations the one that has more tanks is right. Perhaps this is not the best method, but a virtual nation world will need a realistic method to solve conflicts.
Re: What is Ethereum?
#56Bitcoin transactions are scripts that execute sequentially and are very restrictive. Ethereum instead took bitcoin and replaced that scripting language with a turing-complete language. Now, consider the conditional operator in the given example. "If a transaction occurs.." is the condition. ONLY the conditional of transaction types can be verified by the program because it is inherent in the network. For every other…
> Now since we are trusting a third-party, why can't we simply use bitcoin and even let the decision script be hosted on the third party? One reason which springs to mind immediately: the entity running the script always has complete control, whilst we may choose to grant limited control to third parties. For example, we might define a set of separate, potentially independent, verification conditions, and perform som…
Re: What is Ethereum?
#57"You might even imagine a nation defined not by geography but by the rules and benefits of citizenship. Imagine that people of the future could opt-in to the virtual nation that suits them best." . I wonder if we will ever get there . But its eye opening just to think about it.
I am sure I have brought it up here before, but I will again. Here it goes. My father is an intellectual property attorney. Among colorful clients was a very active entrepeneur/inventor. One year he insisted the future was a digital nation. You see how people drool or get excited even with 1/4-of-the-way-there e-Estonia system? He was talking about this years ago, when I was finishing high school and starting college…
Re: What is Ethereum?
#58This explanation subtly forgets to explain which agent is responsible for executing the contract-programs. Obviously you don't want the contract to be processed (and the money spent) two or more times at its deadline. Who is doing the processing and ensuring the execution only occurs once?
Many programming courses use bank accounts as examples of race conditions in concurrent systems, eg.
User withdraws £10 from ATM User receives £1000 salary Balance
--------------------------- -------------------------- -------
ATM looks up balance (£100) Bank looks up balance (£100) £100
ATM subtracts £10 from value (£90) Bank adds £1000 to value (£1100) £100
ATM dispenses £10 note Bank sets balance to value (£1100) £1100
ATM sets balance to value (£90) £90
This race condition has blown away the user's salary! However, this is a terrible example, since it is nothing like the actual operation of a bank account!An account is exactly that: an account (log) of what has happened:
Debits Credits
------ -------
ATM withdraws £10 Salary adds £1000
The balance is exactly that: the balance of (difference between) the credits and debits. The balance is derived from the account as needed, taking new entries into account as they get added.Blockchains are a way to keep such accounts, in a consistent way without giving any one entity control over updates.
For example, the article's Web site ownership system might keep an account with entries like this:
User A transfers example.com to User B
User B sets example.com IP to 123.123.123.123
When contracts are executed, they can inspect the latest values on the blockchain and append alterations. For example, if user B sets up a contract to transfer ownership of example.com to user C, one of the pre-conditions is that user B owns the domain. Hence after execution we get: User A transfers example.com to User B
User B sets example.com IP to 123.123.123.123
User B transfers example.com to User C
Anyone can execute the same contract on their local copy of the blockchain to get the same result, hence everyone can reach a consensus about what the new blockchain should contain. The contract also can't be run twice in a row, because the resulting blockchain says that User C owns the domain, and hence user B doesn't have permission to transfer it. The same thing happens to any currency which B and C might transfer in exchange for the domain.To actually use such a value, we can imagine a DNS-like system which resolves names by looking up the latest IP address from the blockchain; in the same way that an ATM displays our current balance by looking at the credits/debits in the account. All of this can also be cached, of course; provided we either trust the cache to provide the right value, or that we don't care enough about the value to verify it ourselves (eg. transactions between third parties which do not affect us).
Re: What is Ethereum?
#59This is a terrible description of Ethereum and trivializes what it is. The interesting parts of a contract are not the deadline and the transfer of funds. Even an escrow service can provide those functions. The interesting parts of the contract are the conditions of the transfer of funds, and how those are evaluated prior to effectuating the transfer, and how the obligations are enforced after the transfer. What make…
A smart contract CAN incorporate a digital sign-off from third party verifiers. But it's not always necessary nor is it a defining feature. God's mercy notwithstanding.
Re: What is Ethereum?
#60If that's implemented it can be a great way to codify all sorts of legal docs and laws since a lot of legal stuff requires human interpretation at the time of execution.