Live data from Hacker News

Understanding Ethereum Smart Contracts

gjermundbjaanes.com

21–30 of 162 posts

Re: Understanding Ethereum Smart Contracts

#21
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.

Ok, maybe you'll like this article: http://linkedin.com/pulse/ethereum-machinery-change-joaquim-...

Re: Understanding Ethereum Smart Contracts

#23
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.

Ok, maybe you'll like this article: http://linkedin.com/pulse/ethereum-machinery-change-joaquim-...

I have to confess I don't like that article. I admit part of that is merely aesthetic...but principally it doesn't allow me to grapple with examples that are rooted in the now.

To give you an example of what I mean: when Bluetooth was in its early days everybody kept repeating this stuff about your Fridge being able to talk to your Toaster. They wrote imaginative articles about Toasters that told Breadbins they had just toasted the last two slices of bread or whatever. This didn't help me at all to understand a perfectly good technology. It was, frankly, distracting BS. If someone had said you could have headphones without wires (and perhaps they did) I would have gone: Ah hah! Now that may show you the hard limits of my technological imagination...but to me that's the kind of the thing that sells a new technology.

I think simple examples of things we currently need to do, with practical examples of how we can do them a different way is what helps me to understand things.

Re: Understanding Ethereum Smart Contracts

#24
post #19
post #17

Earlier quoted context omitted.

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?

Yes, every block includes a timestamp so everyone is forced to agree, and nodes won't forward a block if the time is too inaccurate. Miners have some leeway to manipulate time a bit, so you wouldn't want to use the block's timestamp as a random seed for a lottery, but just using it as a coarse deadline works fine.

Re: Understanding Ethereum Smart Contracts

#25
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.

I know that one of the major power companies in Germany works on chargers for electric cars based on Ethereum; send x ether to the smart contact and the charging station will let you charge your car accordingly.

Re: Understanding Ethereum Smart Contracts

#27
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.

On ethereum.org there are several tutorials, including making your own token and doing a crowdsale.

The Solidity docs have tutorials for voting and auctions: https://solidity.readthedocs.io/en/develop/solidity-by-examp...

And I've got various simple ideas with code at my blog: http://www.blunderingcode.com/

Re: Understanding Ethereum Smart Contracts

#28

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.

Yes, I have a free intro to writing DApps with Ethereum course over here: https://www.newline.co/

Contract calls are executed by every node on the network -- if you've heard of "embarrassingly parallel", Ethereum is "embarrassingly serial". That is, every function call, on every contract, is run by every (full) node on the network.

The calls are deterministic which means that the nodes can verify that their peers calculated the outcome correctly and didn't try to cheat.

It sounds expensive (and it is) but that's the (current) cost of decentralized, trustless computation.

Re: Understanding Ethereum Smart Contracts

#29
I've been programing my own Ethereum smart contract (virtual currency) for awhile now. Here's some gotchas off the top of my head:

- You have about 500 lines of code to work with. This of course varies, but smart contracts have to be really small to fit in the max gas limit (6.7 million wei).

- You can't pass strings between contracts (coming soon).

- There are no floating point numbers. Since you're probably working with "money", this can make things tricky.

- You can break up your code into multiple contracts, but the tradeoff is an increased attack area.

- Dumb code is more secure than smart code.

- The tooling is very immature. You'll probably use truffle, which just released version 4. It makes some things easier, some harder. It's version of web3 (1.0) may differ from what you were expecting (0.2).

- The Ethereum testnet (Ropsten) has a different gas limit than the main net (4.7 million vs 6.7 million).

Re: Understanding Ethereum Smart Contracts

#30
post #25
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.

I know that one of the major power companies in Germany works on chargers for electric cars based on Ethereum; send x ether to the smart contact and the charging station will let you charge your car accordingly.

What bit of that needs a smart contract? Seems perfectly do-able without one, and you still need the same levels of trust even when there's a smart contract in there.
Post reply on HN