Live data from Hacker News

Final Steps

blog.ethereum.org

41–50 of 104 posts

Re: Final Steps

#41
post #24

Earlier quoted context omitted.

The best you could hope for in an alternative proof-of-work scheme is a shift from dominating electricity costs and rapid hardware obsolescence to use of commodity hardware, dominated by memory latency instead of computation. That's what my Cuckoo Cycle PoW scheme aims for... https://github.com/tromp/cuckoo On the other hand, some people argue that reducing waste is counterproductive as it also lowers the cost of a h…

How is Ethash compute intensive relative to Cuckoo Cycle? EDIT: Ethash does 1 SHA3 at the beginning, 1 SHA3 at the end, and 64 rounds of FNV1-32 x 32. Verification considers the intermediate digest, so really 1 SHA3 to verify. You do more SHA3 rounds if you don't store the dataset, but this is a memory trap-door (and would require ignoring the mixDigest); the verification cost is still negligible. In our mining pools…

"Compute bound" refers to proof generation (mining), not to verification. It looks like ethash does the following computations per random memory access:

        p = fnv(i ^ s[0], mix[i % w]) % (n // mixhashes) * mixhashes
        newdata = []
        for j in range(MIX_BYTES / HASH_BYTES):
            newdata.extend(dataset_lookup(p + j))
        mix = map(fnv, mix, newdata)
I admit this doesn't look much more involved than Cuckoo's single siphash-2-4, but perhaps we can measure it. How much faster does this run if you leave out the actual memory access. i.e. replace dataset_lookup(p + j) by (p+j)?

In Cuckoo Cycle's case, avoiding the memory lookups reduces runtime by a factor 3.

Re: Final Steps

#42
post #27

Earlier quoted context omitted.

To clarify: I meant that bitcoin didn't, and probably won't, for reasons attributable to the limitations of the implementation, supplant fiat currency and become a basis for deprecating the federal reserve, which I agree is a laudable goal. Bitcoin did, however, succeed in proving that a distributed consensus mechanism can exist as a store of value. As you point out.

>I meant that bitcoin didn't, and probably won't, for reasons attributable to the limitations of the implementation, supplant fiat currency and become a basis for deprecating the federal reserve, which I agree is a laudable goal. That expectation is not described anywhere in the system's proposal[0]. I'm not sure that was ever a real expectation except among the biggest believers. [0] https://bitcoin.org/bitcoin.pdf

The very first words of the introduction:

> Commerce on the Internet has come to rely almost exclusively on financial institutions serving as trusted third parties to process electronic payments. While the system works well enough for most transactions, it still suffers from the inherent weaknesses of the trust based model.

The bitcoin whitepaper unambiguously describes a system for deprecating "financial institutions." It doesn't mention the federal reserve only because it is not nation-specific.

Furthermore, of course, the genesis block contains the following text: 'The Times 03/Jan/2009 Chancellor on brink of second bailout for banks'

Re: Final Steps

#43
post #4

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.

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

#44
post #41

Earlier quoted context omitted.

How is Ethash compute intensive relative to Cuckoo Cycle? EDIT: Ethash does 1 SHA3 at the beginning, 1 SHA3 at the end, and 64 rounds of FNV1-32 x 32. Verification considers the intermediate digest, so really 1 SHA3 to verify. You do more SHA3 rounds if you don't store the dataset, but this is a memory trap-door (and would require ignoring the mixDigest); the verification cost is still negligible. In our mining pools…

"Compute bound" refers to proof generation (mining), not to verification. It looks like ethash does the following computations per random memory access: p = fnv(i ^ s[0], mix[i % w]) % (n // mixhashes) * mixhashes newdata = [] for j in range(MIX_BYTES / HASH_BYTES): newdata.extend(dataset_lookup(p + j)) mix = map(fnv, mix, newdata) I admit this doesn't look much more involved than Cuckoo's single siphash-2-4, but per…

I'd say the biggest advantage if you take out memory access is not latency (since most of the time latency gets hidden via pipelining), but power consumption.

When developing kernels the amount of times memory is accessed has huge impact on power-efficiency, less on actual computational throughput (especially on GPUs), unless you hit bandwidth limitations (which right now Ethash does).

EDIT: NVM - you're asking about the comparison of FNV1 vs Siphash. I haven't analyzed Siphash but I can say that FNV1 is exactly 5 clock cycles on a modern GPU (4 for a 32 bit multiply and 1 for an XOR).

Re: Final Steps

#45

Good luck guys! I'm incredibly excited. This feels like a modern day Apollo launch.

I'm sorry, but no.

I think Ethereum (or something like it) will have a greater effect on many more lives than the Apollo missions did. If successful, it will reshape society by giving every individual reduced economic transaction costs that once required the economies of scale of a megacorporation to achieve.

Take the humble grocery store. The grocery store is a byproduct of economies of scale. Producers sell to grocery stores because it's easier to sell to them in bulk than to find each individual end customer to sell to. Customers buy from grocery stores because it's easier to get everything they want in one store than trying to find each producer to buy from.

Ethereum makes it trivial to connect producers and consumers. It could make the grocery store obsolete. Using an Instacart-style interface, customers could shop from every producer on the planet and have their purchases appear on their doorstep. No intermediary is necessary for this: consumers will pay producers directly, and pay the delivery people and storage centers along the paths from their goods to their homes. Software will do this for them.

Competing in this market is as easy as putting your goods up for sale and building up your reputation—not with a brand marketing campaign, but by selling your goods and services for lower prices until enough people rate them highly enough for you to demand higher prices. More competition and fewer middlemen will lead to lower prices and better products. Trade will be so easy that more trade will happen, and since every trade makes both sides more wealthy, mankind will be more wealthy.

This is why I'm excited about Ethereum. It's easy to dismiss if you don't understand what can be built with it. I encourage you to learn more about what it is and imagine new things that can be built with it.

Re: Final Steps

#46
post #18
post #8

Earlier quoted context omitted.

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 descrip…

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 measu…

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

#47
post #43
post #4

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.

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 progr…

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

#48
post #47
post #43

Earlier quoted context omitted.

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 progr…

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 thi…

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. niran@niran.org

Re: Final Steps

#49
post #43
post #4

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.

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 progr…

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

#50
post #47
post #43

Earlier quoted context omitted.

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 progr…

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 thi…

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.

Post reply on HN