1. How does a smart contract learn about a "fact"? In a betting example, say two individuals bet on a football game. How does the algo determine which team won? The wired article on ethereum says "it will determine the winner by looking up the score on the web". This seems like a bug fest waiting to happen. What if the endpoints it wants to query are down? How to avoid people trying to "fool" the algo by hacking the sites it's looking at for the "facts"?
2. How on earth do you intend to store everyone's data in a single blockchain? This is like having every application's database (not even the one's you use yourself) on your computer.
Spend 30 seconds on the site. Didn't get it. Move on.
If this is important, it will appear again on (HN|Reddit|etc) for me to take a closer look.
Oh, and 30 seconds is a looooong time to spend on a site. I would guess people spend no more than 5 to 10 seconds on a site before they decide to investigate further or move on.
I'm not affiliated, but basically Ethereum is an alternative cryptocurrency (or alt-coin) to Bitcoin with it's own separate mining algorithm and blockchain. The really interesting part is that it comes with a Python-like Turing-complete language, such that you can embed small scripts into transactions to define smart contracts.
This theoretically allows you to implement all kinds of applications in a distributed way with no central trusted authority. For example: DNS resolution, options, betting, distributed exchanges.
The link you provide doesn't support your assertion. 5 votes for a bitcoin story that had three comments, none of which say they didn't understand the website.
Edit: and the new link you just added has 4 votes and no comments.
Yeah, and I missed that boat :) I wish I could dive into everything I read, but pragmatically I just don't have the time to chase down every rabbit hole.
This is why the Internet is so powerful. It only take a couple of people to pursue something to report back to others and say "hey, this is important".
Maybe this will help [1]. I didn't understand the site either but I kind of stumbled on to 'blockchain for contracts' (no idea whether that's right or wrong).
In any case it seems like there are a lot of people in Ethereum meetup groups around the world [2], so this isn't a new thing.
It's such a common paradox with technically gifted people: They spend so much time and energy on a product, but almost none thinking about how to present it clearly and succinctly to a complete outsider.
You are completely right, I've had the same feeling many times in the past for a vast array of technologies.
In this case thought, the authors are making clear that it's for advanced technical audience[1]. They are just trying to get developers, but mainly communities that will run their blockchain (their version of bitcoin), which comes with a language that makes easy to implement all the beautiful things we're talking about when the discussion revolves around the bitcoin protocol (as opposed to the currency).
It's true I may not be the intended audience, but I am a programmer who is more than capable of understanding what they are doing. That is, there are people who could have clearly explained what they are doing to me in the same number of words they've used.
You're right that it might not be a big priority to them, but it couldn't hurt.
Also, I thought the same thing about Bitcoin the first few times I saw headlines posted on HN in 2009 and 2010. Kind of wish I payed attention sooner...
You couldn't take a minute to actually read it over?
It's not hard to understand. If you don't want to give new ideas the time of day, don't click on it; and especially don't waste your precious time on commenting about it.
Actually, it's because I think maybe there's something there that I commented on it. I just didn't get it. The emerging norm for people with ideas is to package them in a way that draws people in.
I'm guessing the majority of people on HN have some great idea that burning in their gut. Hopefully they will realize the important of great marketing and sales copy, because there are countless other ideas vying for our attention.
I read what, why, and how and still have no idea what it is and no concrete example of an application. Everything is explained with jargon and abstractions.
Btw, I actually have a vague sense this could be something cool and interesting and would like to understand....
Ethereum can be used to codify, decentralize, secure and trade just about anything: voting, ...
So, just the other day, I was lamenting with my friend and we had a thought experiment on whether it would be possible to use a bitcoin-like network/blockchain to solve the identity problem for voting on the internet.
We had some rock solid ideas for lots of details, but got stuck on the anonymous vote part. For example, everyone should be able to tell that I actually voted, but not who I voted for.
Does anyone know how this could be accomplished?
This looks like a great project. Would be interested to see what they meant when they listed voting as their first example.
Look up "receipt-free voting" protocols. There has been some theoretical work done on this (lots of papers turn up in Google Scholar), but I don't know if this has been implemented yet.
I follow Ethereum for a while now, it's really impressive the vision of the founders. Especially Vitalik Buterin. He have the technical abilities, the media power (he is a co-founder of the Bitcoin Magazine), and the vision (he anticipate long-term effect).
The team is growing rapidly, with impressive new members. The community as well.
I'm kind of appalled by all the comments complaining that people don't understand Ethereum after spending a very short amount of time on the site. If you think it looks interesting, investigate further. If not, move on. Not being able to understand something after 30s doesn't mean that thing has no value.
I learnt more reading the first few comments on here than what I got from the site. Like someone else said, I thought it was a programming language for doing decentralised things.
Not a single person said that it has no value. But the site does an arguably poor job communicating what it is about (to those who say "watch the video", understand that many people consider videos a last resort. There has to be a significant lure to even go that far, and for many of us it didn't seem worth it).
Comments about the site are entirely appropriate on HN (this is something that concerns most of us), and you could consider your own advice and simply skip over them if they don't interest you, instead of wasting emotions on being appalled.
Exactly as others experienced, I skimmed the site and found nothing compelling me to look deeper. The site gives the feeling of significant style but little substance (technologists usually put attention only on substance, which itself is seldom compelling. There is a middle ground somewhere in between).
Same here. Even scrolling down I don't get what this does/enable very easily. The code examples are also hard to understand (naming is not obvious) for someone who doesn't know what Ethereum is.
Unfortunately the first thing I notice is the fancy animation at the top of the page stutters when loading, and causes my browser to use far more CPU than this type of page should.
Sure but context also matters. If they were building something for web or everyday consumers, maybe I would agree. There are plenty of useful platforms and tools that belong to not-so-great site designs (ie: http://curl.haxx.se/ ). Seems silly to have that weigh in on the idea at all but maybe that's just me.
Come on guys, there's a video right on the front page. It's only a couple of minutes. It explains very well what Ethereum is. I almost always prefer that the site be self-explanatory in just a few seconds as well, but if you're not very familiar with Bitcoin, it would be a wall of text to explain what this product is. In this case, I think a video was definitely the way to go.
On another note, this looks like an awesome project. I wonder what implications this could have in net neutrality.
This is literally just storing a key/value pair in a map. i.e. Registering a name. It's not complicated, and that's the point (it takes a few lines of code to recreate "Namecoin" on Ethereum)
The problem with generic abstractions for doing anything is that it's hard to tell how well they will work for doing specific things. Okay, so maybe you could build something like DNS on it. Does it actually work well for that in practice? How do you know? Similarly for any other application that they briefly mentioned.
You only need one "killer app" to prove an abstraction, but you do need one, and it should be front and center.
Ok, after watching the intro video I'm thinking Etherium is kind of like a P2P automated trading platform. Which seems like it would put a lot of responsibility on coders. If your automated trading bot is losing you billions, you can just flick the off switch. If your code is running on a million strangers' computers, not so much.
It will be interesting to find out how this pans out. Possibly in the Chinese proverb sense.
The vision is that its a new platform for implementing crypto "contracts". The most basic contract is a simple send transaction. Multi-sig (m-of-n) addresses are another type of contract. Decentralized lotteries (think satoshidice 2.0) are another, and so on. In bitcoin, such contracts are implemented in "bitcoin script" - an assembly-like programming language with opcodes such as PUSH, POP, and CHECKSIG. So currently, if you want to write a bitcoin contract, you would have to hand-write it in this assembly language.
Ethereum is a vision to provide a higher-level language for implementing contracts - ECLL (Ethereum C-Like Language) - which compiles down to the assembly-like opcode instructions of "ethereum script". It will supposedly also have more flexible ways to store data/state (in bitcoin script, a contract's state is encoded as spendable or unspendable inputs and outputs).
In bitcoin, the central abstraction is the transaction: tx inputs and outputs are your memory address references. In ethereum, the central abstraction is the higher-level contract: your inputs and outputs are variables, and the ECCL compiler does the memory management and assembly opcodes.
"Almost immediately, Freitas started building a more secure and robust alternative to Twitter, making use of code from two other massively successful online projects: bitcoin and BitTorrent."
You may also want to check out http://nxtcrypto.org which is also working on turing complete functionality. They're working on a decentralized exchange at the moment, testable at http://nxtra.org/nxt-client
They do not have the marketing skills of ethereum tho..
2. How on earth do you intend to store everyone's data in a single blockchain? This is like having every application's database (not even the one's you use yourself) on your computer.
*edit - starting to get some responses here: http://www.reddit.com/r/ethereum/comments/21orz7/noob_questi...