News for hackers. Stuff that matters.
Re:What Is Ethereum? by mikenew on Friday July 07, 2017 @09:48PM (#14723598)
There's one point in particular that took me a while to grasp: while you can write code that runs on the Ethereum network, every single node has to process that code.

So if, for example, you had a big 3d animation sequence that you wanted to have rendered, you would not just send that code off to the network to be processed. You would have to pay to have every single person on the network process that job for you, and it would be so big the network wouldn't even accept it. Rather, you would create a simple contract that says "if you render this animation for me and prove that you did it right, I'll pay you X amount of Ether". Someone would take the job and the Ethereum network would process your contract and handle the payment. You would end up paying that person to do work for you, and you'd pay the network (using something called gas) to process the contract.

You could use Ethereum to create all kinds of interesting contracts for financial purposes, voting systems, insurance, or whatever else. But it's not some giant compute cluster that will run some big program for you.

Re:What Is Ethereum? by killerstorm on Saturday July 08, 2017 @06:08AM (#14724841)
I might be somewhat biased on this, but I strongly prefer database metaphor over computing metaphor.

Every blockchain is essentially a shared database. E.g. Bitcoin is a database which keeps track of address balances (as a first approximation) and enforces particular authorization rules. It's a fixed-functionality blockchain.

On the other hand, Ethereum can serve as an arbitrary, user-defined database. Ethereum smart contracts are essentially like stored procedures in SQL databases -- they can be used to enforce arbitrary consistency rules.

And the reason why transactions are quite expensive is that you're paying to update everyone's database. You can modify things locally for free, but if you need everyone to see your information, you gotta pay for it.

And computation is there just for the sake of enforcing arbitrary constraints.

Re:What Is Ethereum? by mettamage on Saturday July 08, 2017 @08:30AM (#14725191)
I just wanted to thank you because while I viewed it this way I've never seen it so eloquently in words. My way of putting it into words was still a bit chaotic, so thank you!
Re:What Is Ethereum? by kochthesecond on Saturday July 08, 2017 @06:41AM (#14724935)
I also prefer the database metaphor. Bitcoin is a set of rules that lets everyone take part in (in fact this is required) the creation of a database of transactions that has happened. To make sure there are no mistakes, every single node runs the transactions to verify their validity.
Re:What Is Ethereum? by infogulch on Saturday July 08, 2017 @01:13PM (#14726192)
Interesting. Can I ask for a description of the Etherium database from the perspective of someone shopping databases? Paradigms, features, transactions, distributed consensus, etc.
Re:What Is Ethereum? by killerstorm on Tuesday July 11, 2017 @04:03AM (#14742356)
On a low level it consists of multiple key-value stores (one store per contract). Keys and values are 256-bit integers (or 32-byte byte strings).

You never work with it directly, instead, you deploy a contract, which is sort of a collection of stored procedures. On the low level contracts are executed as imperative bytecode with special opcodes for reading/writing data to KV store.

There are also high-level languages which compile to this bytecode. Particularly, Solidity lets you to develop contracts using object-oriented metaphor: contract is an object, its store is accessible via object's fields. Besides primitive types, it supports types like structs, arrays and associative arrays, which can be nested. Compiler takes care of mapping field access to raw key-value store operations, particularly, it relies on cryptographic hash functions for layout mapping instead of deterministic allocation.

Contracts can also call each other, there is an opcode for it. Calls are done synchronously, so it looks exactly like OOP.

Since this database exists in multi-user environment, access control is necessary. The system identifies users using cryptographic signatures and exposes this information to contracts via `msg.sender` field. Contracts can use it to implement custom authorization policies.

The database is transactional, of course: a user-submitted transaction is either executed in its entirety (incl. all nested calls) or fails with all side-effects reversed).

Transactions are executed serially, one at time. So high performance is not a feature of the system, it is more like "high security".

Reading data can be done via "stored procedures" (well, I think technically you can read raw data from key-value store, if you want to). Also there is a separate "event log" mechanisms: contracts can generate custom event logs, which can be later read externally.

Distributed consensus: Each node has a complete copy of the database, so adding more nodes doesn't increase scalability. Currently Ethereum uses proof-of-work consensus. That means that any (mining) node can propose a new block of transactions to be executed, and eventually they converge to a single chain. So it's stochastic.

There are also "private Ethereum" systems which let you to use different consensus mechanisms. Typically they have Byzantine Fault Tolerant consensus, likely inspired by PBFT. It's kinda like Paxos but with more digital signatures.

Re:What Is Ethereum? by RexetBlell on Friday July 07, 2017 @10:00PM (#14723639)
If you want to do more intense computation, https://truebit.io/ has a cool solution. It's exactly what you said, it allows you to pay someone to do the computation for you and publish the result to the contract. After the result was published, anyone can verify that it's correct by re-running the computation. If the published result is not correct, you can interactively prove this to the smart contract because the smart contract is able to simulate 1 step of the computation. If there are N steps in the computation, it is possible to prove to the contract that the original person who did the computation cheated with log(N) transactions. After the contract is convinced that the original person cheated, he would punished by destroying his deposit.

Read the whitepaper and watch the videos if you want to learn more.

Re:What Is Ethereum? by MichaelGG on Friday July 07, 2017 @10:26PM (#14723724)
I only looked at it briefly. Very cool idea: Is it practical for heavy compute jobs though? Suppose a rendering takes 10 hours. If I don't know where the bug/difference is and just binary-search it, then they have to run at least 5 hours of computation to verify (out of the 2^^48 instructions, I'll start by asking for the 2^47th step).

I guess that's solvable by requiring payment for verification runs and just splitting up your work into much smaller pieces.

Re:What Is Ethereum? by RexetBlell on Friday July 07, 2017 @10:38PM (#14723765)
Yes, I think splitting up the work is a good idea.

The authors already thought about how to incentivize verification runs. It's really cool. Check out this informative podcast with some of the team members: https://youtu.be/QY0OUTaIWIc

Re:What Is Ethereum? by tech_man7 on Friday July 07, 2017 @11:06PM (#14723843)
For heavy compute, it's the Golem Network (golem.network)
Re:What Is Ethereum? by bpicolo on Saturday July 08, 2017 @10:19AM (#14725485)
What's the benefit over throwing it at a cloud provider?

There's an active downside of random people being able to see your data, not to mention randomly sized boxes and shoddy network connections (which is a big deal for the microservices which they are touting as a use case, and also for big data. Data transfer is one of the slowest bits of data science). Running a web service on random devices where keys, sessions, whatever end up in memory on some box would be a security nightmare. The government doesn't need a back door if all they need to do is host some compute nodes.

Is it just that for some tasks that are very parallel and not sensitive it might end up cheaper?

Re:What Is Ethereum? by devrandomguy on Saturday July 08, 2017 @02:38PM (#14726615)
Technically, these problems also exist with cloud providers, but we more or less trust them because of their reputation.

Perhaps a digitally signed NDA could be verified by a smart contract? Then, to prove the NDA was breached, a quick court case (standardized NDA) leads to a published ruling that the digital contract can check.

Combine the clear guidelines of a standard NDA with a proper court adjudicating the more complex disputes, and you have the foundation for a strong reputation system for Eth-cloud services. Is reputation already a thing in the Ethereum network?

Re:What Is Ethereum? by bpicolo on Saturday July 08, 2017 @04:06PM (#14726969)
I mean, they exist in much less of a form. It's trusting 1 entity vs literally everybody, including people intent on being bad actors. You also have to have less trust because you're operating in a more or less known environment.

The network bandwidth will be a real problem regardless. Latency too. Single digit millisecond scale database roundtrips are awesome. 50-100ms would be just terrible. If that's a fundamental limitation then applications can only get worse, not really better.

Overall, what fundamental problem are these solving? If they aren't solving a real pain point with a worthwhile cost, uptake is going to be nonexistent.

Re:What Is Ethereum? by Breefield on Friday July 07, 2017 @10:01PM (#14723647)
Wow this is awesome!
Re:What Is Ethereum? by nullc on Friday July 07, 2017 @10:05PM (#14723660)
> There's one point in particular that took me a while to grasp: while you can write code that runs on the Ethereum network, every single node has to process that code.

Yep. Unfortunately the creators of Ethereum marketed it heavily as a "world computer" on promotional roadshows, claiming it would replace Facebook and whatnot.

Perhaps more interesting is that, in my view, Ethereum has it wrong: re-executing computation is a really foolish way to do what it can actually do-- which is conditionally allow changes only if a stated predicate holds.

Check out this presentation by my colleague:

Video: https://www.youtube.com/watch?v=TGE6jrVmt_I

Slides: https://cyber.stanford.edu/sites/default/files/russelloconno...

> contracts for financial purposes, voting systems, insurance, or whatever else.

Many of these applications are severely harmed by the lack of privacy in the recompute-everything model.

Re:What Is Ethereum? by omarchowdhury on Friday July 07, 2017 @10:38PM (#14723759)
I'm curious to know what roadshows the Ethereum people were marketing in?
Re:What Is Ethereum? by herval on Saturday July 08, 2017 @12:25AM (#14724076)
How would Ethereum “replace Facebook”?
Re:What Is Ethereum? by uncle_d on Saturday July 08, 2017 @02:13AM (#14724356)
Well, it can't in its present form, but there is a market (me, at least) for a distributed app framework that would be the basis for uncensored (and uncensorable) serverless p2p versions of all your favorite social media.
Re:What Is Ethereum? by acdha on Saturday July 08, 2017 @08:09AM (#14725133)
I've heard that idea mentioned a lot but it doesn't seem like anyone has a good strategy for dealing with abuse. This seems especially problematic with a blockchain which cannot be altered: what do you do when someone creates a fake profile, uploads revenge/child porn, nazi propaganda, etc.? In many parts of the world that has a legal requirement to be blocked which would seem to either require a way to rewrite history or the entire system being blocked in that jurisdiction.
Re:What Is Ethereum? by dingo_bat on Saturday July 08, 2017 @11:05AM (#14725625)
> what do you do when someone creates a fake profile, uploads revenge/child porn, nazi propaganda, etc.?

Ignore it and move on. Block the user from your personal feed if you want.

> In many parts of the world that has a legal requirement to be blocked which would seem to either require a way to rewrite history or the entire system being blocked in that jurisdiction.

How has that worked out against BitTorrent?

Re:What Is Ethereum? by acdha on Saturday July 08, 2017 @12:24PM (#14725952)
> Ignore it and move on. Block the user from your personal feed if you want.

That doesn't address the questions:

1. How can you ignore something which is causing you or someone you care about harm? Will you operate a node which keeps that content available against the wishes of the target? (For that matter, how many people will use a network which prevents you from removing mistakes?)

2. You can't just ignore things with legal implications — e.g. if someone uploads legally restricted content, everyone participating in the network has to expect legal consequences even if they personally aren't troubled by it. If you're in Germany and someone else can get Nazi content from your system, do you really think “I didn't upload it and there's no way to block it” is going to lead to a court reaction other than an order to turn it off until the underlying technology is fixed?

3. Ignoring that many places do block BitTorrent, it's different in the key aspect that torrents are independent. Someone who hosts Linux ISOs doesn't have to worry about getting sued because a different user is distributing copyrighted movies. That doesn't seem to fit with a blockchain model and it seems like a major problem growing a social network beyond the immediate founders if everyone has to find a private cluster to join.

Re:What Is Ethereum? by dingo_bat on Saturday July 08, 2017 @02:45PM (#14726650)
> How can you ignore something which is causing you or someone you care about harm?

If it is really causing you harm, you can always sue for libel. If it is just something you dont like, deal with it. The internet is not a "safe space".

> Will you operate a node which keeps that content available against the wishes of the target?

If it is anything like DHT, yes. I don't give a shit. Whoever has a problem can take it up with the originator of the offending content. If they can trace them and prove it is illegal in a court.

> For that matter, how many people will use a network which prevents you from removing mistakes?

Everyone. Do you use git? Do you correct mistakes using a new commit? Congrats, you now know how to correct a mistake on the internet.

> if someone uploads legally restricted content, everyone participating in the network has to expect legal consequences even if they personally aren't troubled by it

In such cases the law is wrong and must change.

> If you're in Germany and someone else can get Nazi content from your system, do you really think “I didn't upload it and there's no way to block it” is going to lead to a court reaction other than an order to turn it off until the underlying technology is fixed?

The way German law treats Nazi sentiments is highly anti-free-speech. Cannot continue for much longer (~50 years). The correct way is to allow free speech but prosecute criminal acts (free-speech is not a criminal act). IMO, irrational laws in countries that are against free-speech should not impact adoption of technology, just as bittorrent is still widely used even though US law is against it.

> Ignoring that many places do block BitTorrent

I am curious how that is done. Are you talking about China? I do not know any way to block the bittorent protocol itself apart from DPI.

> That doesn't seem to fit with a blockchain model and it seems like a major problem growing a social network beyond the immediate founders if everyone has to find a private cluster to join.

I agree. Maybe someone can come up with a solution. Maybe we can encrypt everything so that nodes can not possibly know what the content is. I don't know.

Re:What Is Ethereum? by acdha on Saturday July 08, 2017 @08:15PM (#14727788)
> I don't give a shit. Whoever has a problem can take it up with the originator of the offending content. If they can trace them and prove it is illegal in a court.

If you have a computer serving that to other people (i.e. a real durable P2P system), you're going to be pulled in as a collaborator. Even if you're willing to risk the police and are willing to go to jail rather than compromise an absolute free speech position, which I highly doubt, almost nobody else is and that's kind of the death-knell for a P2P network.

If you want to build things people will actually use, following the law is more important than naive techno-utopian fantasies about being able to force your desires on nation-states.

Re:What Is Ethereum? by K0SM0S on Saturday July 08, 2017 @08:05AM (#14725121)
Count me in as well. For about a decade I've argued that 'we' need a decentralized, encrypted, peer-to-peer way of communication wherein each user physically and legally owns their data (only granting temporary/revocable read rights to other users) and controls said rights on an ad-hoc basis. Including making it public as long as you damn please.

Basically a digital metaphor that you own your 'space' (eg home) and grant other people a temporary right to come in and see/use an item or hear/participate in a conversation. Strong emphasis on the legal aspect since no gov or law enforcement should be able to peek inside without proper authorization (warrant, probable cause, etc).

Diaspora indeed was an interesting idea in theory (good first step I'd say) but the execution sadly was flawed (too cumbersome to sell it to anyone, even free as in beer).

As far as I'm concerned, no social solution satisfies these tenets yet, and so that's an open 'market' as we speak. Blockchain is conceptually a good basis for history/logging (I'd considered torrent to be a good candidate before that).

Monetization of user data could be achieved on an individual basis by granting rights to commercial entities (eg Xbox, Spotify, clothing brand...) to monitor specific activities (eg my gaming metrics, my listening metrics etc). You'd have per-user contracts (eg Spotify authorized by x million people to monitor their musical habits, paying each a few cents per week possibly deducted from their bill if subscribed to the actual premium service).

No middleman, or at least not necessary by design if you can in-house the whole monitoring/marketing (but agencies would likely appear, such as Google adword or Facebook ads operate currently). In this design, even Facebook or any social media would have to be granted rights to read your data, and could not hold/copy it beyond said authorization (in storage space, also in time).

The whole point being to transfer physical and legal ownership back to users, thus able to revoke all rights to anyone, and operate solely on a peer-to-peer basis (maybe I just want to talk to a few people and that's it).

Newsfeeds of sorts can also be envisioned on a per-user basis if said user runs some dedicated software which sorts and presents data this user has viewing rights to, hopefully in a much more customizable way than current Silicon tech monopolies.

At least that's the idea. I'm pretty sure we'll eventually have something like that, we can't keep on digitalising our world with ever less control, it's a bit of a country without public space and no individual private space either, only corporations (not far from the ontology of fascism, although consensually accepted here since you're not obligated legally, only socially pressured into using said networks).

But from this idea to actual execution, there is still a pretty huge gap, notably because any worthy solution needs to be actually adopted by a majority of users. It needs to be sellable to the highest extent (even if it were free), and thus provide actual value over existing solutions. Tooling, ease of use, clarity so as not to trick users, all aspects matter.

Ten years ago I thought this would be long done by now. I evolved into thinking this is actually somewhat of a hard problem (per real-world constraints of all kinds, ie social, political, ethical, not strictly technically) that I want to actively try to tackle personally, whatever I can bring to a solution.

Re:What Is Ethereum? by jakecopp on Saturday July 08, 2017 @11:38PM (#14728227)
This is an incredible fleshing out of similar thoughts I've had for a while, thanks!

Even just simple 'sharing' things get to me: I want to get a huge bunch of files from my computer to a friend. For semi frequent transfers I just give my friend credentials to a guest account on a VPS so he can rsync them down.

I wonder if we'll ever get a fundamental method of moving files peer to peer that is as easy as email (and similarly open). Something like Resilio (Bittorrent) Sync or Syncthing but more ad hoc?

Re:What Is Ethereum? by K0SM0S on Sunday July 09, 2017 @07:20PM (#14732301)
Well thank you for the comment first of all.

About moving files it also numbs my mind that we still haven't really solved this as we close the 2010s. I think it'll get easier as we gradually move mainstream storage to clouds but it begs the question of ownership; the now-old meme of dropbox etc being "someone else's computer". I strongly believe that a decent cloud provider should encrypt everything before data leaves the user's screen and until it reaches some end user's (blind transport and storage, just like the post office doesn't peak on your letters and boxes). Provided decent API and tooling some of these providers could indeed allow peer-to-peer management. Local storage is dying for the mainstream as networks get better, and it's ok if we tackle the privacy issues the right way. I think.

Re:What Is Ethereum? by spynxic on Saturday July 08, 2017 @08:44AM (#14725234)
> ..I thought this would be long done by now. I evolved into thinking this is actually somewhat of a hard problem (per real-world constraints of all kinds, ie social, political, ethical, not strictly technically) that I want to actively try to tackle personally

A notable act would be to join the course of an ongoing project, if one which is flexible enough to build onto exists.

Re:What Is Ethereum? by K0SM0S on Sunday July 09, 2017 @07:36PM (#14732360)
You meant noble act? I agree with you, wholeheartedly. I'm just not aware of any good candidate right now. However even if I or anyone were to build an original solution, it's just 'new' conceptually, but technically all the bits of tech exist already (peer-to-peer eg torrent, encryption eg rsa, etc.), so that solution would likely be about assembling the pieces together. Again no magical billion dollar idea here, but a matter of great execution, ie integration and value proposition in our case.

For cost reasons, quality, and security, I think it should absolutely rely on open-source pieces (and be an open-source project itself, to allow for public review and efficient feature growth). Whoever (individual, group) assembles said solution should therefore become a de facto contributor to all projects used, if only for the sanity of the arch-project.

The matter of profitability bugs me though, because it should not be for profit but you need full-time devs and actually a whole company to run the project with excellency (it needs to be 'sold' to users, I mean promoted to be known and used, a bit like NGOs, and supported/maintained), so I think opt-in marketing (ads, or taking a cut on peer-to-peer contracts like Spotify I mentioned) could be one way of doing it. Ideally, the corporate structure would be not-for-profit so there's no dividends (people and businesses get value but the actual structure doesn't beyond paying employees and contributions, that should be enough incentive for all actors, B or C or states, to root for its neutral continuation, kinda like DNS or email). The point being that everyone had motives for it to exist but no one would profit directly from it, only through it. It's like the police, or the state itself, or public streets: collectively supported.

Re:What Is Ethereum? by spynxic on Monday July 10, 2017 @07:19PM (#14740455)
> The point being that everyone had motives for it to exist but no one would profit directly from it, only through it. It's like the police, or the state itself, or public streets: collectively supported.

The Open Source community needs an open committee founded on promoting projects of this nature. -- [Open committee over closed since such a foundation could easily be corrupted by personal interests]

Re:What Is Ethereum? by cubano on Saturday July 08, 2017 @12:11PM (#14725890)
You would think so, but doesn't the lack of one already existing speak rather loudly about it's market potential?
Re:What Is Ethereum? by Simon_says on Saturday July 08, 2017 @07:23AM (#14725025)
I don't know about the serverless part, but wasn't this the promise of Diaspora?
Re:What Is Ethereum? by TD-Linux on Saturday July 08, 2017 @02:16AM (#14724362)
It wouldn't, though a lot of the initial "Web 3.0" hype seemed to imply that, such as this post by a cofounder [1]. Even their website used to mention Facebook [2].

[1] https://web.archive.org/web/20140723210829/http://insightsin...

[2] https://web.archive.org/web/20140801161657/https://www.ether...

Re:What Is Ethereum? by JasoonS on Saturday July 08, 2017 @08:42AM (#14725222)
Here is one early stage project I've heard of using ethereum: https://akasha.world/
Re:What Is Ethereum? by MichaelGG on Friday July 07, 2017 @10:10PM (#14723677)
The difficulty is "prove you did it right". I'd guess that only works for cheap-to-verify (trapdoor"?) functions. However, Intel SGX does enable this. You would need an SGX-attested renderer, but the output would include a signature on the inputs in addition to the actual output image. You could verify this signature was made by the SGX-secured renderer code, then you'd know it executed as designed (i.e. the person didn't just draw an image in paint).

SGX would also enable hidden contract data. Right now, you can't publish a contract like "guess my weight and win $100", because the guess code is public (has to be, for miners to exec it). With an SGX-enabled system, this is now totally doable. (Though, you must trust Intel, and assume hackers can't reverse engineer the Intel chips with magic physics or other breaks. So it's probably safe for a few millions but not billions of dollars. (Upper bound, for a few hundred billion you could acquire Intel and compromise SGX secrets.))

SGX is pretty exciting and I'm in the early stages of getting at least one project working with it. There's also research called "Town Crier" to enable TLS-retrieved website data into Ethereum contracts.

For all the people that cry about SGX being big, bad, DRM, it really has its upsides. Too bad Intel requires special licensing to use it - it should just be enabled for all purposes. Maybe they're worried about malware backlash?

Also, an SGX-enabled Ethereum, apart from the Intel/SGX trust issues, means you can skip the computation and just verify the result. It also means you could replace the proof-of-work multi-hash with a single iteration plus a sleep.

Re:What Is Ethereum? by rdl on Saturday July 08, 2017 @02:50AM (#14724448)
The costs to subvert SGX are unfortunately far below millions. Probably hundreds or thousands after you have some one time research.

It is a viable additional client protection, especially against remote malware, software-only tampering (unless there are implementation bugs or backdoors), but not a viable server trust substitute.

Re:What Is Ethereum? by baybal2 on Saturday July 08, 2017 @03:17AM (#14724520)
Probing a live chip for 30k - https://zeptobars.com/en/
Re:What Is Ethereum? by rdl on Saturday July 08, 2017 @02:56PM (#14726688)
Probably cheaper side channel attacks, too. To some extent this depends on the software running under SGX.
Re:What Is Ethereum? by nivertech on Saturday July 08, 2017 @08:56AM (#14725264)
how this will help if the encryption/decryption happens inside the chip?
Re:What Is Ethereum? by baybal2 on Saturday July 08, 2017 @10:21AM (#14725492)
Probing a chip means attaching probes directly to chip's circuitry/cells
Re:What Is Ethereum? by m-j-fox on Friday July 07, 2017 @11:26PM (#14723906)
I don't know about SGX but worked on HDCP and maybe the license charge is for the same reason: lazy or malicious partners could leak a key and compromise the whole system. All the charges pay into the fund to pay damages to the injured if the system suddenly collapses like DVD encryption did.
Re:What Is Ethereum? by mtgx on Saturday July 08, 2017 @12:13AM (#14724044)
The moment SGX reaches 5% of the market, someone will already show how to hack it.
Re:What Is Ethereum? by ChrisClark on Friday July 07, 2017 @09:55PM (#14723620)
Definitely a very constrained system to write in. For anyone who loves to write compact optimized code though, Solidity is very fun to write. Squeezing out every last little bit of gas. With the Viper language in development being even more low level there could be a good market for developers who can create solid contracts. VISA recently posted a job opening looking for a Solidity developer. I think with how rare those developers are, you would be in a really great place to negotiate your salary.
Re:What Is Ethereum? by gfody on Friday July 07, 2017 @10:07PM (#14723667)
Ethereum isn't trying to be some sort of generic distributed computing platform. The notion of writing a dApp to do distributed 3D rendering is outrageously stupid.

The idea is to program your money. Here's a dollar that can only be spent on healthy food. Give these to your kids for doing their chores or whatever.

Re:What Is Ethereum? by chriswarbo on Saturday July 08, 2017 @11:03AM (#14725617)
> Here's a dollar that can only be spent on healthy food. Give these to your kids for doing their chores or whatever.

Are such restrictions meaningful though? One huge feature of these currencies/tokens is how easy it is to trade them; maybe your kids will trade their "healthy food dollar" for $0.75 of some unrestricted currency, hence "a dollar that can only be spent on healthy food" is actually "about $0.75, with an extra transaction step".

Re:What Is Ethereum? by DennisP on Saturday July 08, 2017 @12:13PM (#14725900)
If the tokens can only be sent to a whitelist of healthy food providers, then they can't be sent to other individuals attempting to trade them for other types of tokens.

The token would just need to check against the whitelist in its transfer function.

Re:What Is Ethereum? by rspeer on Saturday July 08, 2017 @02:27AM (#14724384)
How do you cryptographically, trustlessly verify that food is healthy?
Re:What Is Ethereum? by mbrock on Saturday July 08, 2017 @06:58AM (#14724971)
The ideology that everything has to be completely cryptoeconomic and trustless is hugely overblown. It's good that Ethereum eliminates the central trusted third party for the base layer, but then you are free to be flexible with how you define trust in your applications. Obviously you can't "cryptographically verify" a complex topic like health; you need to delegate decisions to intelligent actors.
Re:What Is Ethereum? by rspeer on Saturday July 08, 2017 @11:14AM (#14725664)
If you're delegating decisions to intelligent actors, why not delegate to intelligent actors who make a payment app that's denominated in dollars and includes none of the complexity of Ethereum?
Re:What Is Ethereum? by mbrock on Sunday July 09, 2017 @03:17AM (#14728741)
Because for some reason I enjoy using a smart contract blockchain as the platform for my interactions. That might be for example because I also want the ability to use the service with a multi-signature wallet... or because I have been locked out of PayPal for political reasons or because I am a vendor of erotic literature (https://www.engadget.com/2015/12/02/paypal-square-and-big-ba...)... or because I want the ability to pay in a number of cryptographic tokens... and so on.

Ethereum has value even if it doesn't involve somehow replacing all real world services with cryptographically proven algorithms. Interfacing smart contracts with external actors is a really interesting frontier; see for example Vinay Gupta's latest venture, Mattereum. http://internetofagreements.com

Re:What Is Ethereum? by pazimzadeh on Saturday July 08, 2017 @02:19PM (#14726532)
A program could compare the output of a gene sequencing reaction against a known database to verify that such and such fish matches what's on the label. But then you have to trust whoever is loading your fish samples into the gene sequencer.
Re:What Is Ethereum? by omarchowdhury on Saturday July 08, 2017 @07:02PM (#14727608)
And the fish samples that are loaded into the sequencer are not the same as the ones in circulating supply.
Re:What Is Ethereum? by omarchowdhury on Saturday July 08, 2017 @02:48AM (#14724444)
Basically the way people are thinking about blockchain business models right now, require everyone to migrate to the new platform for it to really work.
Re:What Is Ethereum? by acdha on Saturday July 08, 2017 @08:23AM (#14725170)
Both migrate and participate earnestly with no attempts at dishonesty. Most discussion of smart contracts or sales where abuse wasn't either ignored or differed to the same courts and trusted third parties everyone currently relies on, at which point the discussion goes from revolutionary change to minor incremental improvements.
Re:What Is Ethereum? by tech_man7 on Friday July 07, 2017 @11:07PM (#14723846)
The Golem Network is the generic decentralized computing platform. https://golem.network/
Re:What Is Ethereum? by mrb on Friday July 07, 2017 @10:18PM (#14723701)
"using something called gas"

gas is ETH. It is simply a term they chose to refer to the ETH fee paid to execute the code. I don't like their terminology. Calling it "gas" make it sound like it's a different currency. They should have just call it the "ETH fee".

Re:What Is Ethereum? by flashmob on Friday July 07, 2017 @11:21PM (#14723892)
No, gas is a synonym for fee. However, gas is its own unit, separate from ETH.

Each op code in the EVM has a gas price, depending on the complexity of the instruction. Eg. A store op costs more gas than a comparison op.

When you do a transaction, you specify how much ETH you will pay for one unit of gas. Typical transactions use 21k gas, but contracts need much more.

More info about why it's like that:https://www.cryptocompare.com/coins/guides/what-is-the-gas-i...

I often see 'gas required' 'gas limit' and 'gas price' terms confused, so careful what you read in the comments on the internet ;-)

Re:What Is Ethereum? by mrb on Saturday July 08, 2017 @01:40AM (#14724257)
A much simpler terminology Ethereum should have picked instead of "gas" is the "cycle". Each operation takes a predefined number of cycles to execute. For example SLOAD takes 20 cycles, SSTORE 100 cycles, etc. Then a transaction defines the maximum number of cycles it will need, as well as the ETH per cycle it will pay as a fee. That's it. Basically:

gasCost -> cycles

gasLimit -> max cycles per transaction

gasPrice -> ETH per cycle

The fact you need so much text to explain gasCost, gasPrice, etc, perfectly illustrates my point that their "gas" metaphor is the wrong one. Also as xur17 said, "cost" and "price" are too confusable.

Re:What Is Ethereum? by flashmob on Saturday July 08, 2017 @02:45AM (#14724438)
Hmm, not sure about cycles too. It sounds more like CPU clock cycles, may be confusing to those who see it that way?

Note that there is also one more limit, the max gas per block limit..

Personally, I quite like gas, not too hard for a casual dev like me to understand. However, perhaps in the future it could be something that is totally abstracted, since asking everyone to understand how gas works is too much.

Re:What Is Ethereum? by masklinn on Saturday July 08, 2017 @04:20AM (#14724640)
> It sounds more like CPU clock cycles, may be confusing to those who see it that way?

Having non-CPU cycles is extremely common in emulators and VMs, you can just say it's a "virtual cycle of the eth VM", something along those lines.

Re:What Is Ethereum? by mbrock on Saturday July 08, 2017 @07:00AM (#14724974)
Gas doesn't only measure the computation resource but also memory and storage, so "cycles" too is an inaccurate metaphor.
Re:What Is Ethereum? by mrb on Saturday July 08, 2017 @10:08AM (#14725451)
Well "cycles" is good enough as a metaphor to convey the idea we are talking about a resource cost.

At least "cycles" and "ETH per cycles" makes it very obvious that you should multiply them to find the fee. On the other hand it's completely unintuitive you should multiply "price" and "cost" to calculate the fee. If gasCost was called gasQuantity, at least it would have been a little more logical (multiplying price with quantity).

Re:What Is Ethereum? by mrb on Saturday July 08, 2017 @03:24AM (#14724531)
The fact the #1 comment on this HN submission refers to "something called gas" (as if it was an advanced concept) instead of "fee" is another data point showing the gas metaphor is confusing :)

Also gas is not its own unit. gasPrice is the unit. Or... actually it's not even a unit. A "unit" implies a constant. But it's not constant since each tx can set its own gasPrice.

The more I think about the cycles metaphor the more I love it. Sorry I have zero sympathy for "gas"

Re:What Is Ethereum? by tsukaisute on Saturday July 08, 2017 @04:10AM (#14724612)
Gas is its own unit, decoupled from ETH. Opcodes cost a certain amount of gas to execute [1]. When creating a transaction, a sender sets the maximum amount of gas that they are willing to pay. This is the "gas limit."

[1] https://docs.google.com/spreadsheets/d/1m89CVujrQe5LAFJ8-YAU...

Re:What Is Ethereum? by mrb on Saturday July 08, 2017 @10:12AM (#14725466)
I know what gas is. It would be more accurate to call it a unitless number describing the relative resource cost factor of each opcode.

If you define the term gas as a unit then it refers to both a value, and the unit of that value, which is where most of the confusion comes from. The language "1000 gas" could mean either "1000 wei/szabo/whatever of gas" or "1000 gasCost" which are 2 completely different things!

Re:What Is Ethereum? by tsukaisute on Saturday July 08, 2017 @03:12PM (#14726753)
"This book is five dollars" vs.

"The price of this book is five dollars" vs.

"This is five dollars" (meaning "this book's price is") vs.

"This is five dollars" (meaning "five dollars are sitting here on the table.")

I know what you're saying, there is ambiguity, but these make sense to people based on context.

Re:What Is Ethereum? by xur17 on Saturday July 08, 2017 @01:51AM (#14724297)
That is much easier to understand. I spent way too much time reading and converting units when trying to send my first transaction. GasCost and gasPrice sound too similar.
Re:What Is Ethereum? by pauhana on Saturday July 08, 2017 @03:32PM (#14726838)
Clearly, it should be called "flooz" not "gas"
Re:What Is Ethereum? by omarchowdhury on Friday July 07, 2017 @10:38PM (#14723762)
Yeah. Gas, wei. They need it to KISS.
Re:What Is Ethereum? by bsmithers on Friday July 07, 2017 @09:53PM (#14723613)
Thanks. In your example, how could one hope to prove they had rendered the animation correctly? Presumably each node must be able to verify the correctness of this in order to process the contract?
Re:What Is Ethereum? by mikenew on Friday July 07, 2017 @11:58PM (#14723995)
I think that's still an open problem. You could render a few random tiles from a few frames to build some confidence in the result. You could also build a reputation system, also running on ethereum, to establish who is trustworthy.
Re:What Is Ethereum? by chx on Saturday July 08, 2017 @06:51AM (#14724956)
> You could use Ethereum to create all kinds of interesting contracts for financial purposes, voting systems, insurance, or whatever else

Perhaps you could but currently no one does. There's still not a single real world legal application that needs cryptocurrency. Much as with the pro-life debate (to name a bad phrase) or with global warming now renamed climate change (to name a good phrase) the name of the thing frames the discussion. Calling it a "currency" makes people think it's not a Ponzi or a scam when it's decidedly one of them.

Re:What Is Ethereum? by JasoonS on Saturday July 08, 2017 @07:42AM (#14725059)
> currently no one does.

Clearly you haven't done enough research. Have you looked at the ethereum token (ERC20: https://theethereum.wiki/w/index.php/ERC20_Token_Standard) launch contracts? They raise large amounts of money (its actually scary!) and securely and transparently tokens are distributed to participants. These tokens can then represent anything (really anything) from stock (blockchain capital etc), to voting rights in the organisation (districtOx), to a utility token (golem, basic attention token) to allow use for what ever protocol is being developed.

There already are private secure voting systems being researched. Here for example: https://github.com/stonecoldpat/anonymousvoting ZK-snarks is used to ensure privacy.

You can see some of the other applications here: https://dapps.ethercasts.com/ (most of these are just fun ideas, but you don't have to look far to see the potential in them).

There is real utility to Ethereum, it is just very very young as a technology, and all the issues of scalability etc are a work in progress. But if you want to use the trust-less and secure computational power to execute your code (smart contract) you need to buy Ether first. Is that a Ponzi? I think you are unfairly grouping ethereum in the same category as a large number coins that very much are ponzis.

Re:What Is Ethereum? by joosters on Saturday July 08, 2017 @08:02AM (#14725116)
None of these tokens do anything useful today. And at least 99% will never do anything useful, since the market is full of scammers and over-promising start-ups who use the magic 'decentralize' word.
Re:What Is Ethereum? by JasoonS on Saturday July 08, 2017 @08:41AM (#14725218)
Exactly, that's why you probably shouldn't be throwing your money at any of them. That's not an indication of the future of the technology though. Only time will tell.
Re:What Is Ethereum? by dogma1138 on Saturday July 08, 2017 @07:56AM (#14725093)
Blockchain != crypto currency.

There are quite a few private blockchains that are now running in the financial and healthcare industries at a pretty large pilot programmes that are very functional and bring destinct advantages.

Re:What Is Ethereum? by joosters on Saturday July 08, 2017 @08:00AM (#14725108)
Name some. And then explain why a private blockchain, controlled by a single entity, or a group of companies that trust each other, is better than a database.
Re:What Is Ethereum? by dogma1138 on Saturday July 08, 2017 @08:05AM (#14725123)
It is effectively a database with specific features.

A blockchain isn't magic, I'm currently working on a project with the royal mint that will be used for correspondent banking applications.

Think of it this way you have a database that is guaranteed to be consistent across all nodes, offers you full tracking of any action performed on that database, offers you non-repudiation and much more.

Sure you can probably hack it over an existing standard DB but at what cost?

Re:What Is Ethereum? by hn_throwaway_99 on Saturday July 08, 2017 @11:10AM (#14725645)
Blockchain has a lot of distinct advantages when things need a very clear audit trail. Auditors love the fact that a block can't be modified without recalculating all subsequent blocks. Of course, in a blockchain controlled by a single private entity, the entity could redo all the blocks, but that's not really the main concern. The concern is to try to prevent rogue individuals from modifying the ledger without detection, and that is harder to do with blockchain than plain DB access controls.
Re:What Is Ethereum? by chx on Sunday July 09, 2017 @12:52PM (#14730607)
Blimey! Here I thought any database server worth a rusty copper can do a detailed, queryable audit log / trail if that's what you need.

At least MySQL, PostgreSQL, SQL Server, DB2, Oracle surely can.

Re:What Is Ethereum? by hn_throwaway_99 on Monday July 10, 2017 @09:43PM (#14741014)
Come on, it's not difficult to see how those DB solutions are easier to modify after the fact without detection than a blockchain-based solution, and blockchain-based solutions are generally easier to make distributed while still guaranteeing immutability.
Re:What Is Ethereum? by DennisP on Saturday July 08, 2017 @12:18PM (#14725922)
There's no reason to use a blockchain within a single entity. Use a database for that.

Private blockchains do appear to be useful among a consortium of companies who don't completely trust each other, and don't want to pay a single company to maintain a central database.

Re:What Is Ethereum? by dogma1138 on Saturday July 08, 2017 @06:41PM (#14727541)
It's not about "trust" it's that keeping the accounts and books consolidated even within a single bank is problematic and between banks even more so.

Banks lose billions each year and i mean lose as they have no idea where the money went. Account consolidation within a bank is a huge enterprise.

Even within a single entity like a bank a blockchain that governs all accounts and transactions is hugely beneficial because of the consistency and the trail any action within it leaves.

Re:What Is Ethereum? by DennisP on Monday July 10, 2017 @02:59AM (#14733907)
Interesting. I hadn't thought through the scale of a large bank.
Re:What Is Ethereum? by Tomis02 on Saturday July 08, 2017 @07:34AM (#14725043)
> global warming now renamed climate change

Actually not true, the phrase 'climate change' has been coined more than half a century ago. The idea that there was a rebranding of the phenomenon is false beyond doubt, and actually hurtful to the process of acknowledging we have a big problem.

Re:What Is Ethereum? by Tomis02 on Sunday July 09, 2017 @05:11AM (#14728966)
Here's some random link to support my claim, since some people in the HN crowd prefer to downvote instead of discussing what makes them uncomfortable.

https://thinkprogress.org/debunking-the-dumbest-denier-myth-...

Re:What Is Ethereum? by elmigranto on Saturday July 08, 2017 @05:12AM (#14724724)
So instead of hiring professional animator with good reputation and fair pricing, you write a sophisticated program to check correctness of animations (what would that do?), try to come up with fair price in somewhat cryptic market, and hope someone somewhere will take up a challenge of both, figuring required specs from your contract source code and actually have an expertise to do a job in question.

Revolutionary indeed.

Re:What Is Ethereum? by rhaps0dy on Saturday July 08, 2017 @05:32AM (#14724771)
No, you check the quality of the rendering. The rendering is already done by computers. The animators tell the computer what to render.
Re:What Is Ethereum? by elmigranto on Saturday July 08, 2017 @11:43AM (#14725774)
How are you checking? How is someone executing contract can be sure that you won't say "bad quality, won't pay", but use it anwywat. What is the point of ethereum in your concept?
Re:What Is Ethereum? by shriek on Saturday July 08, 2017 @06:16AM (#14724864)
I'm failing to understand how this is different from say buying a compute power from AWS or GCE. Isn't it almost the same except the transaction is done through ether instead of traditional money?
Re:What Is Ethereum? by djrtwo on Saturday July 08, 2017 @09:52AM (#14725402)
My article on costs in the ethereum network cover this idea. https://hackernoon.com/ether-purchase-power-df40a38c5a2f?sou...
Re:What Is Ethereum? by bstrom on Friday July 07, 2017 @10:03PM (#14723654)
Re:What Is Ethereum? by Galaxeblaffer on Saturday July 08, 2017 @10:14AM (#14725473)
Check out https://golem.network or https://sonm.io they are making a world computer on ethereum
Re:What Is Ethereum? by zyngaro on Saturday July 08, 2017 @08:19AM (#14725161)
The proof of work system imposes that and the fact that all the nodes compete to mine the blocks to earn coins. May proof of stake can make things more optimized.
Re:What Is Ethereum? by puranjay on Saturday July 08, 2017 @11:03AM (#14725620)
I'm very wary of buying ETH because I've seen it shilled VERY HARD on 4chan.

I don't trust anything that 4chan is telling me to buy.

Re:What Is Ethereum? by DennisP on Saturday July 08, 2017 @12:20PM (#14725931)
I doubt that opinions on 4chan have a strong correlation to reality in either the positive or negative direction.
Re:What Is Ethereum? by ojr on Saturday July 08, 2017 @11:33AM (#14725728)
the average 4chan user probably doesn't own a finney so I wouldn't worry about it, the development team for Ethereum is pretty solid I think that should be taken more into consideration before contributing money to a software project
Re:What Is Ethereum? by puranjay on Sunday July 09, 2017 @01:40AM (#14728522)
That's what I would buy it for really: as an investment into a software project, not because it can make me money.
Re:What Is Ethereum? by ksteigerwald on Saturday July 08, 2017 @09:53AM (#14725404)
This is what Golem aims to do... and it's built on ethereum.
Re:What Is Ethereum? by ksteigerwald on Saturday July 08, 2017 @08:01AM (#14725111)
Your right, but Golem will be. And golem is built on ETH.
Re:What Is Ethereum? by wcummings on Saturday July 08, 2017 @10:39AM (#14725544)
If you want a laugh, read the ethereum sharding document.

https://github.com/ethereum/wiki/wiki/Sharding-FAQ

Re:What Is Ethereum? by accountyaccount on Friday July 07, 2017 @10:42PM (#14723775)
How does one prove they did it "right"?
Re:What Is Ethereum? by RexetBlell on Saturday July 08, 2017 @12:10AM (#14724034)