Live data from Hacker News

Understanding Ethereum Smart Contracts

gjermundbjaanes.com

11–20 of 162 posts

Re: Understanding Ethereum Smart Contracts

#11
post #7
post #6

Earlier quoted context omitted.

I wonder how they can ever expect a system like this to scale given that every node has to execute every instruction in every called smart contract...

Scaling is definitely a serious concern and is a large focus of Ethereum developers at the moment. I don't understand much about the proposed solutions, but they generally think the Ethereum network can be sharded in a way that allows only a small subset of the network to run any given contract and still guarantee reliability similar to as if the whole network had run it.

You'll need some very hard guarantees that that 'small subset' can never be under the control of a single entity.

Re: Understanding Ethereum Smart Contracts

#13
post #10

What I'd greatly appreciate is a walk through of a plausible real world use case. I find it hard to concentrate on the technology itself until I understand the application.

Crowdfunding (ICOs) is a use case. DNS (ENS) is a use case. Organisational Transparency (Aragon) is a use case. Prediction Markets(Augur) are a use case. Electricity Markets (Grid+) are a use case. International payment card with zero fees (TenX) is a use case.

I can go on for a while longer, there are hundreds of use cases but the question is: what would be a use case for you?

Re: Understanding Ethereum Smart Contracts

#14
post #12

I am particularly amused that in the first example, a simple counter, no mention is made of the initialization routine being callable at any point... at which time the counter is reset to zero.

The constructor function is only called on deployment so the counter will increase with each new call.

Re: Understanding Ethereum Smart Contracts

#15
post #10

What I'd greatly appreciate is a walk through of a plausible real world use case. I find it hard to concentrate on the technology itself until I understand the application.

Crowdfunding (ICOs) is a use case. DNS (ENS) is a use case. Organisational Transparency (Aragon) is a use case. Prediction Markets(Augur) are a use case. Electricity Markets (Grid+) are a use case. International payment card with zero fees (TenX) is a use case. I can go on for a while longer, there are hundreds of use cases but the question is: what would be a use case for you?

They all sound great. So what I'd love to see is a well written blog post describing how Ethereum would be put to work to achieve one of those goals and to give me an understanding of its superiority within the domain.

I'm not demanding it and I'm not being snarky at all. It's just that's the level I'm at - without that kind of entry point I struggle to assess it.

Re: Understanding Ethereum Smart Contracts

#16
post #7
post #6

Earlier quoted context omitted.

I wonder how they can ever expect a system like this to scale given that every node has to execute every instruction in every called smart contract...

Scaling is definitely a serious concern and is a large focus of Ethereum developers at the moment. I don't understand much about the proposed solutions, but they generally think the Ethereum network can be sharded in a way that allows only a small subset of the network to run any given contract and still guarantee reliability similar to as if the whole network had run it.

Also various more specialized schemes to run things offchain, and submit to the chain only the results and some kind of assurance that you ran them correctly. (E.g. Raiden, Plasma, TrueBit)

Re: Understanding Ethereum Smart Contracts

#17
post #15

Earlier quoted context omitted.

Crowdfunding (ICOs) is a use case. DNS (ENS) is a use case. Organisational Transparency (Aragon) is a use case. Prediction Markets(Augur) are a use case. Electricity Markets (Grid+) are a use case. International payment card with zero fees (TenX) is a use case. I can go on for a while longer, there are hundreds of use cases but the question is: what would be a use case for you?

They all sound great. So what I'd love to see is a well written blog post describing how Ethereum would be put to work to achieve one of those goals and to give me an understanding of its superiority within the domain. I'm not demanding it and I'm not being snarky at all. It's just that's the level I'm at - without that kind of entry point I struggle to assess it.

Some of the use cases can be fairly simple (thus easier to see the value).

1. Me and You start a company together. We would like to split things 50/50. We setup an address such that when values are paid to it, half goes to you, half goes to me. Effectively we've created an "LLC with an Operating Agreement", but we aren't relying on political legal system / country to enforce. Enforcement is automatic and done by the network.

2. You want to setup a Trust for your kids. You create a contract that holds 10 Bitcoin / Etherum / etc. On the date Jan 1, 2035 the value of that address will be forwarded to your child's address. Again, we created a "Non-Revokable Trust" that is network enforced. No need for probate, courts, trustees, etc.

Re: Understanding Ethereum Smart Contracts

#18
post #12

I am particularly amused that in the first example, a simple counter, no mention is made of the initialization routine being callable at any point... at which time the counter is reset to zero.

If I'm not mistaken in Solidity constructors can only be called once on a contract

Re: Understanding Ethereum Smart Contracts

#19
post #17
post #15

Earlier quoted context omitted.

They all sound great. So what I'd love to see is a well written blog post describing how Ethereum would be put to work to achieve one of those goals and to give me an understanding of its superiority within the domain. I'm not demanding it and I'm not being snarky at all. It's just that's the level I'm at - without that kind of entry point I struggle to assess it.

Some of the use cases can be fairly simple (thus easier to see the value). 1. Me and You start a company together. We would like to split things 50/50. We setup an address such that when values are paid to it, half goes to you, half goes to me. Effectively we've created an "LLC with an Operating Agreement", but we aren't relying on political legal system / country to enforce. Enforcement is automatic and done by the…

Those are both really interesting thanks.

I assume in case 2 Solidity language has some built-in mechanisms for ensuring that the current datetime is agreed across the whole network?

Re: Understanding Ethereum Smart Contracts

#20

Any other "gentle introductions" out there? Something with a complete walk-through both from contract creator's perspective and from some random node on the network. This one failed to explain how contract calls are executed - is it by a single node, by multiple nodes, do nodes compete with each other for the execution, what's their incentive, etc.

I like to think of Ethereum as a giant virtual machine that shares it's CPU (contracts are the instructions) and Storage (the ethereum blockchain) across all nodes that participate. Every node re-runs everything locally to validate and move the state of the machine forward. And of course you get paid to do that through mining.

When you view it like that it's obviously very costly to execute code & store outputs, so alternative solutions are needed for lower value code. Breakthroughs in these areas could make Ethereum a viable platform for computing, and it honestly feels like we could be entering a new computing paradigm with it.

Post reply on HN