News for hackers. Stuff that matters.
Re:Final Steps by tombh on Monday July 27, 2015 @04:48PM (#9957899)
Just to chime in with the obligatory: sounds-interesting-but-for-the-love-of-turing-it's-infuriatingly-hard-to-find-a-basic-description-of-what-it-actually-is.
Re:Final Steps by codezero on Monday July 27, 2015 @04:56PM (#9957948)
Ditto, after reading several of the about pages, I'm still not sure what Ether is, or how it's used, or who the target audience is.

Something in there about a decentralized platform for running apps, but I don't want to guess too deeply about what this means.

Is it a cloud hosting platform that runs on Ether? Is the platform going to be used primarily for mining Ether? I'm not even sure, if anyone has a short description that will explain what this is, I'd love to read it!

Re:Final Steps by chipsy on Monday July 27, 2015 @05:07PM (#9958008)
Ether is a "computational currency." You earn it by running computations on your computer. You spend it by purchasing processing power on other people's computers. The computation is software defined, so that customized "distributed apps" are possible.

This is my outsiders understanding. I think there are potentially a lot of things that could be gotten wrong here - from the specific implementation and security measures to the economic plan. But it's one of several such experiments with using the blockchain, so I'm looking forward to see what they can do - that said I have no expectations for financial gain.

Re:Final Steps by drcode on Monday July 27, 2015 @05:39PM (#9958200)
Some important properties of ethereum:

1. A program written in ethereum can execute code at a predetermined point in the future, and there is as close to 100% certainty as possible that the code will execute as written (i.e. as long as a single ethereum user remains in the world at that date everybody's code is guaranteed to run exactly as written, even if it involves moving money between accounts.)

2. All computer programs are "open source" not just before a program is launched but also WHILE THE PROGRAM IS RUNNING- Nobody can run any code without having full transparency.

3. Users accounts are provably always in a state of complete anonymity (unless of course they do something to purposely reveal their identity) and can use all programs on the platform in this fully anonymous state.

4. Program authors are forced to explicitly document ahead of time all situations in which their program code might be modified in the future, making it much harder to have the "screw your user after they've committed to your platform" business model that's so popular among startups these days.

Those are just some of the properties of ethereum that come to mind.

Re:Final Steps by convulsive on Monday July 27, 2015 @10:05PM (#9959136)
>4. Program authors are forced to explicitly document ahead of time all situations in which their program code might be modified in the future

Can you point me to a resource that explains this in more detail? I think I've gotten the gist of how Ethereum works, and have gone through a tutorial of Solidity, but I'm unclear how versioning will work in Ethereum (even though I do have some guesses for how it could be implemented).

How would I deploy a new version of my contract? Would I have to implement a mechanism for basically hot loading new code?

Re:Final Steps by drdeca on Wednesday July 29, 2015 @01:53AM (#9966534)
If you want your contract to be updateable, you can have the contract store an address of a contract which is the part you might want to change. Then, to update the contract, you upload the new version of the contract ( or contract component) , and make the address that the first contract stores point to the new one.

Uh...

Users interact directly with contract A.

Contract A stores a address which currently points to contract B, and uses whatever contract it currently points to to accomplish whatever it needs to do for users.

To update the part of Contract A, upload an updated contract C, and send A a message to tell it to change the address it stores to point to contract C instead.

Contract A only changes where the address points if whatever conditions it was designed to use for that are met.

And, of course, you don't have to use this "point to another contract" thing.

That's just if you need part of the contract to be updateable under some conditions, which you might not need.

Re:Final Steps by drcode on Monday July 27, 2015 @10:44PM (#9959246)
Yeah, that's pretty much it: By default, contracts can't be updated, but you can create a network of multiple contracts to allow some of your code to update. Myself, I think this is "cheating" and destroys the value proposition of ethereum... a better approach (and what I hope to do) is to keep my main contract(s) alive for all eternity and just add new features with "accessory contracts" but it's easy to fail with this if the original contract has problems.
Re:Final Steps by dragonwriter on Monday July 27, 2015 @07:59PM (#9958777)
> But it's one of several such experiments with using the blockchain

Well, using a blockchain. Its not using "the blockchain" in the usual sense; Ethereum is specifically using an alternative to the Bitcoin protocol and blockchain, not built on top of it.

Re:Final Steps by ForHackernews on Wednesday July 29, 2015 @10:54AM (#9969013)
Bitcoin isn't "the blockchain" any more than Internet Explorer is "the browser". When people talk about "X in the browser" it's understood that they mean any generic implementation of a web browser.
Re:Final Steps by marssaxman on Monday July 27, 2015 @07:40PM (#9958716)
Oh! That sounds a lot more like the kind of distributed system I assumed everyone meant when they first started talking about "cloud computing", rather the kind of dumb rent-a-datacenter schemes we have now. It'll be interesting to see if this takes off.
Re:Final Steps by vezzy-fnord on Monday July 27, 2015 @05:05PM (#9958002)
After much moronic searching, these two tutorials seem to somewhat demystify the idea:

https://forum.ethereum.org/discussion/1634/tutorial-1-your-f...

https://forum.ethereum.org/discussion/1635/tutorial-2-rainbo...

Re:Final Steps by joeykrug on Tuesday July 28, 2015 @09:45PM (#9965777)
One example of an app you'd want to run on ethereum is something like a prediction market (PM). A PM is a pretty general financial market and can be used to speculate on things from "Who will become the US President in 2016?" to "Will Russia invade Estonia by 2020?" to "Will American Pharoah win the Triple Crown?"

Ethereum is useful for this because it allows for distributed custody of funds. No one controls the funds stored in these contracts, so there's no one to run away with and steal all the money, and, since it's run on Ethereum, there's no middleman taking 5-10% fees. In fact, for the first time, we can have a truly global prediction market, and _anyone_ can create markets on it to boot! This is just one app possible on ethereum, and it's one I'm building - www.augur.net if you're interested.

Ethereum's basically a platform that allows you to create "smart contracts" (aka programs) that are practically guaranteed to execute the way you write them. And multiple people can interact with the programs and it'll still be executed the same way. This is a bit abstract, but the main huge advantage this allows is: you can finally send money to some program, and the program will do exactly what it says it will, and no one else can modify the results or even touch your money. Bitcoin allows you to send money around, Ethereum allows you to enter into complex contracts with money, and those contracts are always enforceable.

To take this into the real world, imagine you want to make a bitcoin prediction market. Since you can't run the complicated buy/sell machinery of a prediction market directly on bitcoin, you're forced to take deposits from users, match their orders, and then do payouts accordingly after the event occurs. You can run away with the funds at any time, and there's nothing stopping you. Sure, you could elect to use multisignature wallets or cold storage, but that didn't stop MtGox from happening. Heck, even InTrade, the largest prior prediction market had millions of dollars of funds embezzled by their later CEO.

Now with Ethereum, we can send funds to a contract, they're stored there. You can buy and sell and all orders go through the contract. At the end payouts are done by the code in the contract, and no one can take the funds held in the contract.

Re:Final Steps by TheGrimDerp1 on Monday July 27, 2015 @06:31PM (#9958433)
I've been following the subreddit for over a year and I still haven't figured it out...
Re:Final Steps by natrius on Monday July 27, 2015 @07:25PM (#9958649)
Ethereum is a global transaction computer that provides a platform for decentralized applications, like Augur (http://augur.net).

Today's systems have a centralized source of truth: corporate databases. There was no other way to build applications that involve multiple users interacting with each other, so companies built those systems and profited from providing a solution.

With Ethereum, we can write simple programs that run on thousands of computers and come to a consensus on the result. Nasdaq doesn't need to tell us the result of a trade or who owns what. We can build equivalent systems that no one controls. The result is a transfer of profits from middlemen to the rest of humanity.

Finance is easy to think about in a decentralized manner since it's all information that computers control. But these systems can apply to real world interactions as well by building reputation systems on top of this global computer. If you don't abide by the rules of the decentralized system you're participating in, your reputation score will go down and people will stop interacting with you.

In this manner, Ethereum can be used to replace every marketplace startup. Uber and Airbnb are so successful because they benefit from strong network effects. Decentralized applications also benefit from strong network effects: every new decentralized Uber application will use the data from the ones that already exist to bootstrap themselves. The user base will never splinter like it does when new centralized competitors attempt to enter the market.

Ethereum gives mankind the ability to coordinate interactions between ourselves more powerfully than ever before. Social systems that once seemed too unwieldy or too anarchic to work out might now be feasible, and they could make us wealthier and more free.

Re:Final Steps by tajen on Monday July 27, 2015 @07:41PM (#9958720)
No offense, but there has to be a simpler way to explain this. It sounds like you are passionate, and after seeing the video it looks like a good idea, but it also sounds like a parody of startup culture. References to "humanity" and "mankind" don't help, even if you've used them appropriately. Your comment is useful and exact after understanding the topic, but the message isn't easy to explain. And the source of this complexity is probably that the two startups you mention haven't yet crafted a message which would be simple enough to repeat.

On a side note, I've resigned from my previous startup a month after they've changed the values to "blah blah blah advance humanity blah blah".

Re:Final Steps by kordless on Monday July 27, 2015 @07:57PM (#9958773)
There's a lot of humanity problems solving talk in cryptocurrency land. I think it's because the people that run in that scene can finally glimpse what this technology can do, when wielded correctly. That said, there's still a lot to do before we replace the government with a crypto contract!

Ethereum uses a cryptocurrency under-the-hood called 'ether', which pays for 'gas': compute resources like networking, storage and compute. These resources are used in a decentralized way by programs which are capable of carrying their own cryptocurrency wallets. As long as the programs can pay for their own existence, they get to keep running on the network. Like Bitcoin, the network is comprised of a bunch of 'miners' that provide the resources for running the code. You could run a miner if you wanted to. Unlike Bitcoin, the code keeps running as long as it can pay for the resources it uses. I could write some code that does this, if I wanted to.

In theory, you could create some code, have it generate a wallet, pay the wallet, and then let the little guy go wander off onto the network doing things. BTW, this little guy I'm describing is called a DAC, for decentralized autonomous corporation (or smart contracts). The 'things' it can do are limited, but it can, in theory, pay for stuff or pay other DACs, access storage, do computations, and access the network. Keep in mind this is isn't a NodeJS application framework you are dealing with here. Ethereum is primarily designed for implementing logically governed contracts between entities that need to exchange value. It's like Bitcoin scrypt on steroids, without the possibility of a halting-state. In theory.

Fun fact: Bitcoin scrypt doesn't support loops, so it's limited in scope in what it can do with a given transaction. Not so with Ethereum.

Re:Final Steps by nslqqq on Tuesday July 28, 2015 @04:09AM (#9960154)
> Fun fact: Bitcoin scrypt doesn't support loops, so it's limited in scope in what it can do with a given transaction. Not so with Ethereum.

AFAIK, it was done on purpose: http://bitcoin.stackexchange.com/questions/25427/the-bitcoin...

Re:Final Steps by haakon on Tuesday July 28, 2015 @04:02AM (#9960132)
You mean script, not scrypt.
Re:Final Steps by kordless on Wednesday July 29, 2015 @01:39AM (#9966486)
Yes! Habit.
Re:Final Steps by natrius on Monday July 27, 2015 @07:48PM (#9958744)
Some people will be turned off by claims that a technology can have a significant impact on humanity at large. Others will be curious to find out whether these claims can be substantiated. My audience is the latter.

Learning how to build applications on top of Ethereum is one of the most important things an engineer can do if they want to maximize their impact on humanity. I am not ashamed of these claims, and encourage anyone who wants to debate them to email me. [email protected]

Re:Final Steps by patrickaljord on Monday July 27, 2015 @08:11PM (#9958825)
Could you find me an inventor in history of a technology that actually changed humanity who made such a claim before it did so? Did Google claim or even knew their search engine would change the world? Did Apple? Did Facebook? Nope. You should focus your message on why your tech is useful, not that it might save humanity, most startups don't change humanity, heck, most startups fail. So it's a bit premature to claim yours will. Don't you think?
Re:Final Steps by natrius on Monday July 27, 2015 @08:15PM (#9958837)
Ethereum isn't my project. I build apps on top of it, like Augur. I'm claiming that work other people did will be pretty huge for humanity, which I consider pretty acceptable.

What questions do you have about how Ethereum is useful? I attempted to answer that question, but appreciate pointers that would make it more effective.

Re:Final Steps by saganus on Monday July 27, 2015 @10:03PM (#9959128)
I think that after explaining a somewhat complex subject like how Ethereum works, you perhaps could followup with a clear example on how Ethereum solves a problem that other technologies would have a hard time doing.

Maybe you can talk how Ethereum can be useful for, if I understood the platform correctly, buying/selling a car by means of a colored coin.

Or maybe you can explain how it competes for buying/Selling money Bitcoin-style, but with the specific advanteges pointed out (e.g. you don't have to download the blockchain as far as I know, etc).

Edit: After going through a few explanations, this one came up as the one I would think of using to someone that already knows Bitcoin:

Blockchain technology, introduced by Satoshi Nakamoto with the proof-of-concept implementation of a simple value transfer system known as bitcoin, represents the best digital system we have (after the internet itself) for administering multi-user interactions without any need for centralized coordination or oversight. Effectively, a decentralized system is its own authority for enforcing the rules (e.g. 'you can only spend your money once' in bitcoin, or 'whatever rule you programmed in to your smart contract' in Ethereum)

So Bitcoin enforces a very specific rule, Ethereum generalizes by letting you specify complex rules and even composite rules on top of that.

Re:Final Steps by vbuterin on Wednesday July 29, 2015 @01:14AM (#9966374)
Have _I_ ever claimed that Ethereum will "change humanity"?

(for those who don't know, I'm the founder :) )

Re:Final Steps by skybrian on Monday July 27, 2015 @07:55PM (#9958766)
It sounds like it would require a lot of throughput to run so many transactions. How do they plan to scale that?
Re:Final Steps by natrius on Monday July 27, 2015 @08:00PM (#9958785)
Excellent question. Here are some blog posts on the subject:

https://blog.ethereum.org/2014/09/17/scalability-part-1-buil...

https://blog.ethereum.org/2014/10/21/scalability-part-2-hype...

After skimming these, I'm comfortable assuming that someone will figure it out. Blockchain architecture doesn't excite me. Decentralized applications do.

Re:Final Steps by vbuterin on Wednesday July 29, 2015 @01:15AM (#9966383)
https://github.com/vbuterin/scalability_paper/raw/master/sca... is the newest one. And here's a google doc modeling transaction throughput with that algo: https://docs.google.com/spreadsheets/d/1wyul_iIKZiAeUprqA2HP...
Re:Final Steps by Hexayurt on Monday July 27, 2015 @07:58PM (#9958774)
Hi. I'm Vinay Gupta, the release coordinator for Ethereum.

I'll tell you exactly what Ethereum is: a blockchain for storing code. Bitcoin stores transactions, Ethereum stores programs. Those programs have persistent state on the blockchain and are capable of moving value around the system, hence you can build games, financial instruments and so on. These things are called "smart contracts" for historical reasons - nobody would call them that if they were invented now!

How's that? Clearer?

Re:Final Steps by carterehsmith on Monday July 27, 2015 @08:58PM (#9958948)
>> How's that? Clearer?

Not at all. We have been storing programs, building games etc for some 40 or 50 or 70 years now, without Ethereum. So, how does Ethereum does it better/cheaper than the existing solutions, is what people above are asking.

Re:Final Steps by drcode on Monday July 27, 2015 @09:08PM (#9958976)
Right, the problem with Vinay's explanation is that it requires people to have deep understanding of blockchains already. I'd recommend to anyone who wants to understand ethereum to first perform some Bitcoin transactions, to get an intuitive feel for the appeal of blockchains.

But the big difference is that programs in ethereum run on the "protocol level" not the hardware level. This means that correct execution of all programs is a necessary step before two ethereum nodes can talk to each other, this gives very high guarantees of correct and transparent execution beyond what other systems allow.

Re:Final Steps by fleitz on Tuesday July 28, 2015 @12:29AM (#9959523)
There's not really that much to understand about block chains...

It's a globally shared immutable linked list...

Umm... I'm pretty sure programs still execute on hardware...

Re:Final Steps by drcode on Tuesday July 28, 2015 @10:51AM (#9961888)
In ethereum, there is no reason a single contract (i.e. "program") ever needs to exist on a single computer for the lifetime of its execution, parts of it could run on different computers, and will actually run on many computers at once.

That's what I mean by running "as a protocol" and not on hardware... it's a higher level of abstraction.

Re:Final Steps by fleitz on Tuesday July 28, 2015 @12:34AM (#9959538)
Here's what you need to know about ethereum, take any presentation from a few years ago that uses the word 'webscale' now take that presentation and replace 'webscale' with blockchain. Now you understand both how ethereum works, and why it's so awesome and will revolutionize computing.
Re:Final Steps by ThomPete on Tuesday July 28, 2015 @02:07AM (#9959777)
Etherum allows you to treat digital entities as if they are physical. I.e. it creates scarcity in an otherwise abundant digital universe. It generalizes the principles behind bitcoin and allow you to use this scarcity for a lot of different purposes.

As for examples:

Digital Pokemón Cards. Basically the ability to create digital collectors items.

E-books that could gain value. You could sell ebooks at a premium and allow people to re-sell them. Because the history of their ownership is recorded you could even see them gaining value if they had been owned by a celebrity.

Private but public healthcare records. For research and usage. Store the health-records publicly as personas but allow individuals people to link it with their identity. This would help with research in completely new ways.

Voting made public but anonymous Make it hard to manipulate voting results by making the anonymized results available for everyone.

Artificial Intelligence Using the protocol to create automated consensus models.

Companies without owners Build a company with a political purpose without any owner.

Re:Final Steps by gioele on Tuesday July 28, 2015 @02:31AM (#9959834)
> Etherum allows you to treat digital entities as if they are physical. I.e. it creates scarcity in an otherwise abundant digital universe.

I always hoped I could see a post-scarcity physical world in my lifetime. Now you are telling me that there are people trying to present me with a pre-scarcity digital world? No, thank you. :)

Re:Final Steps by ThomPete on Tuesday July 28, 2015 @02:52AM (#9959897)
Heh you are actually touching onto something quite interesting and fundamental.

Things that have value are often valuable exactly because they are not abundant but scarce. The scarcer the more valuable.

Post-scarcity is about creating enough fundamentals (ex. food) to everyone, but it's not about removing the value of scarcity for some food that might be extra hard to produce.

Many things only works if they are scarce that does not mean we shouldn't try to achieve post scarcity.

Re:Final Steps by Bognar on Monday July 27, 2015 @05:03PM (#9957985)
I've still yet to find a "basic" description, but their whitepaper is actually quite useful in describing what it is and possible uses:

https://github.com/ethereum/wiki/wiki/White-Paper

Re:Final Steps by dredmorbius on Tuesday July 28, 2015 @02:59AM (#9959928)
Re:Final Steps by baby on Monday July 27, 2015 @06:26PM (#9958416)
check the audit LeastAuthority did on them: https://github.com/LeastAuthority/ethereum-analyses
Re:Final Steps by joeyspn on Monday July 27, 2015 @05:35PM (#9958170)
A gentle introduction to Ethereum...

http://guide.ethereum.org/ethereum.html

Re:Final Steps by arnorhs on Monday July 27, 2015 @05:50PM (#9958249)
yeah, and the "about" section doesn't really answer the question very well:

What is ether?

Ether is a necessary element -- a fuel -- for operating the distributed application software platform we are building: Ethereum. Without the requirement of payment of ether for every computational step and storage operation within the system, infinite loops or excessive storage demands could bog down Ethereum and effectively destroy it.

Re:Final Steps by jameshart on Monday July 27, 2015 @06:29PM (#9958427)
This seems like a good overview: https://github.com/ethereum/wiki/wiki/White-Paper
Re:Final Steps by Animats on Tuesday July 28, 2015 @01:42AM (#9959706)
It's like Bitcoin, but a lot more complicated with lots of new features.

Last year, there was Paycoin, which was like Bitcoin, but a lot more complicated. It tanked. It seems to have been a scam.

Re:Final Steps by woah on Monday July 27, 2015 @09:40PM (#9959064)
This post was not written for you. It is for people who already know what ethereum is and possibly backed it or are running the testnet. You can't expect every article on any technical topic to contain a full explanation of the underlying tech. Your comment is like saying "this react.js tutorial sounds intriguing, but please for the love of god can they tell what this JavaScript thing is?".
Re:Final Steps by detaro on Monday July 27, 2015 @09:51PM (#9959092)
What makes you think that he didn't look further than this post?

Really pointless comment, especially after others a) have echoed the sentiment and b) have provided answers.

Re:Final Steps by itistoday2 on Monday July 27, 2015 @05:01PM (#9957977)
Decentralized computing secured by a blockchain! :D->-<