Settings

Theme

Ethereum: A Turing-Complete Cryptocurrency

ethereum.org

135 points by gottagetmac 12 years ago · 87 comments

Reader

gatehouse 12 years ago

Trying to figure out a couple things (from pastebin link):

1. What protection against non-halting?

contracts are "funded" upon creation, and by those who issue transactions to the contract. if there are specific fees required by the contract to perform an action, it must be enforced by the contract itself. the cost of computation will eventually exhaust the contract's funding it fails.

2. what are the long-term economics? (i.e. is coin supply unlimited or limited and at what rate of decay)

    line 90
- planned fundraising period with issuance of 10000 ether per BTC contributed

- other coins will be issued so the initial money supply is 15000 times the contributed BTC amount, with 0.25x (i.e. 16.67%) to the founders, same amount to fund the Etherium organization. Division of BTC not specified.

- the mining reward will be 1/3 of the initial supply, per year, perpetually (i.e. 1/2 the contributor's reward.) So the money supply increases linearly.

3. if a person's only goal was to use the blockchain to store data, what would be cost per byte, and is there a max rate?

    line 385 to 399
- A contract is "funded" when it is created, and the computation performed by the contract consumes the funds.

- storage of a "data item" in contract memory costs 100x where x = floor(10^21 / floor(difficulty ^ 0.5))

- don't see the limit/cost of data items bound to transactions as per transaction definition on line 133

anyway it takes courage to name a currency after a drug like ether.

  • Geee 12 years ago

    I don't think anyone associates ether with a drug first.

    From Thesaurus: "ether - the fifth and highest element after air and earth and fire and water; was believed to be the substance composing all heavenly bodies"

    • waterlesscloud 12 years ago

      And ethernet. Kids today.

    • eigenrick 12 years ago

      "There is nothing in the world more helpless and irresponsible and depraved than a man in the depths of an ethereum binge."

            Appologies to Hunter S. Thompson
    • anonymouz 12 years ago

      Though another spelling of that is "aether" (I think this is more common than "ether").

      Ethers are also a group of rather common organical compounds in chemistry. This is the page Wikipedia gives you when searching "Ether", as gateway allures to. Apparently, a specific compound of those (diethyl ether) can be used as a drug. Seems rather unlikely to me that people would connect the name to the drug first.

    • kordless 12 years ago

      "composing all heavenly bodies"

      Perfect name.

    • gatehouse 12 years ago

      maybe it's just me and wikipedia.

      • rch 12 years ago

        And the late Hunter S. Thompson. It's the first thing I thought of too.

  • timmclean 12 years ago

    >> What protection against non-halting?

    The transaction fee is determined based on the number of computational steps in the contract. My understanding is that, if the contract has not halted by the time the transaction fee has been "spent", then the transaction is rejected.

    • gatehouse 12 years ago

      yeah I came to the same conclusion, except lines 327/328 confuse me a little bit, as to whether the fee goes to the miner in this case, since on 328 (regular termination) it says so explicitly, but on 327 (exhaustion) it doesn't specify.

      • timmclean 12 years ago

        I'm guessing that, if the transaction is rejected, then no fees are awarded -- I could be wrong though.

        • gatehouse 12 years ago

          yeah, I'm thinking that if that is the case, it would allow you to create a "spike" contract, a highly funded contract designed to use a lot of miner resources until it inevitably fails. then you could send out transactions to this contract which would cause it to execute and fuck with all the other miners, where you just ignore it because you know it will fail. Maybe the cost for computation makes this unreasonable though, I don't really have a sense of the cost of computation .

  • arisAlexis 12 years ago

    you must be really burned out to think of a drug when you hear the word ether :D

waterlesscloud 12 years ago

The page doesn't say who is behind it, but the wiki is edited by user "vbuterin".

So maybe it's Vitalik Buterin, one of the more interesting cryptocurrency thinkers out there. Hmm.

http://about.me/vitalik_buterin

amluto 12 years ago

I don't know if the Etherium people are looking for comments, but here are a few.

I think that Dagger has serious issues. First, the spec is buggy: the text says that eight bottom-level nodes are hashed together, but the pseudocode only uses four. Second, it does not require 512MB per thread; it requires 512MB of write-once, read-many-times memory, shared by all threads; this property seems to be asking for a rather large ASIC (or a smaller ASIC backed by some multi-port SRAM) to have a huge advantage.

Also, what's up with the choice of secp256k1? It's at least less likely to be backdoored by evil choice of parameters than, say, P-256, but there are many better choices out there (e.g. curve25519 or some of its larger variants). Those better variants have the big advantage (especially in this application) of having faster verification operations.

(The fastest-to-verify option would probably be plain ol' RSA, but signatures are rather large.)

benhamner 12 years ago

Text content: http://pastebin.com/NCGRv74u

(Saw comments that the site went down and still had it loaded on my machine)

  • fragsworth 12 years ago

    I'm still trying to understand how the whole system works. It appears to be groundbreaking but I'm not really sure. The last sentence in the document should catch your interest:

    "As a result, we have a cryptocurrency protocol whose codebase is very small, and yet which can do anything that any cryptocurrency will ever be able to do."

    • kordless 12 years ago

      Denomination is a wei. Weis are tied to compute jobs, basically. It's a distributed computing network/server with built-in trust. Holy shit.

    • redler 12 years ago

      Unless one considers the lack of Turing-completeness to be a feature (as Bitcoin apparently does, pointed out in a few other comments here).

      • phreeza 12 years ago

        it mentions the ability to create subcurrencies, so probably you could create a subcurrency that isn't Turing complete?

alptrv 12 years ago

The site is down for many hours. The cached version: http://webcache.googleusercontent.com/search?q=cache:http://...

wyager 12 years ago

This is a very cool idea. I think it may have some critical flaws, but even the fact that people are thinking of stuff like this is so cool. Very singularitarian.

jaekwon 12 years ago

Is there a dedicated forum or mailing list for further discussion?

pipeep 12 years ago

I think the clever idea here (IMO) are the fees. An argument against implementing a Turing complete language inside Bitcoin or an Altcoin might be that it's hard to determine when execution should end. The fees allow arbitrarily complex constructs without any hard cap, while preventing abuse.

  • nullc 12 years ago

    Except it pays the wrong people. In Bitcoin, at least, miners are kept honest by other people running nodes that limit what miners can do. In this protocol the validation would become very expensive but only the miners are paid. This sounds like trouble.

    • fragsworth 12 years ago

      Don't all the miners have to run the entire program, so they are validating each other?

      • maaku 12 years ago

        No, the mine pool operator has to, but no more than once to cover every miner in his pool. To draw a comparison to bitcoin, there might only be a dozen or so pool entities which receive nearly all of the subsidy and transaction fees, but thousands of non-mining full nodes.

  • maaku 12 years ago

    Maybe, but not the way its implemented here. The fee needs to go to all the nodes which perform the validation, not to the miners.

tsmyrnios 12 years ago

They must run their webservers on top of their Turing-Complete cryptocurrency... their site seems to be down.

cornellwright 12 years ago

My first thought was why would one want their currency to be Turing-complete? It's actually a cool concept though. Being able to have your money make decisions opens all kinds of possibilities.

  • kordless 12 years ago

    This allows for the implementation of a completely distributed trading platform.

    • nullc 12 years ago

      No it doesn't. Or rather— it's not necessary or sufficient: you can already trade distributed cryptocoins, and no amount of cryptocoin magic can completely distribute USD or other non-cryptocoin assets because their differential counterparty risk makes every promise different.

      • kordless 12 years ago

        You need a central agency ATM for trading coin. Those guys have to run wallets and do the transactions in non-trusted space. This skips that.

nazgulnarsil 12 years ago

My understanding was that a balance based model opened up some pretty serious security problems, which is why bitcoin didn't use it. I'm dubious of a new coin as complex as this.

aabalkan 12 years ago

Site is down. How do they manage to go down with probably static content, I have no idea.

jaekwon 12 years ago

I don't understand who does all the turing complete contract computation. Presumably the miners, but they're paid to do some useless proof-of-work work, not the turning complete computation of the contract.

  • maaku 12 years ago

    The fee goes to the miner who happens to find the containing block, yes. But not to the thousands of validating nodes integral to the network. And over time fees are given proportional to hashpower... which doesn't make any kind of sense. The incentives are all messed up.

    • kordless 12 years ago

      There aren't thousands of validating nodes. All nodes are computing on jobs in the system. The incentive is you get paid for processing code for someone. It's a trusted cloud framework with payment built in. The Dagger page is down. That'll have the detail on the rewards details for compute.

      • maaku 12 years ago

        It's a distributed block chain right? And each fully validating node needs to validate each of the scripts, right? So every full node on the network is replicating every single computation. But only the miners are getting paid.

      • jaekwon 12 years ago

        Do you have the text for the dagger page?

        • tromp 12 years ago

          Dagger appears to be inferior to the Cuckoo Cycle proof of work system I recently developed; see https://github.com/tromp/cuckoo

          Cuckoo Cycle is a new proof of work system with the following features

          1) proofs take the form of a length 42 cycle in the Cuckoo graph, so that verification only requires computing 42 hashes.

          2) the graph size (number of nodes) can scale from 1x2^10 to 7x2^29 with 4 bytes needed per node, so memory use scales from 4KB to 14GB

          3) running time is roughly linear in memory, at under 1s/4MB

          4) there is no time-memory trade-off, and memory access patterns are the worst possible, making the algorithm constrained by memory latency

          5) it has a natural notion of difficulty, namely the number of edges in the graph; above about 60% of size, a 42-cycle is almost guaranteed, but below 50% the probability starts to fall sharply

          • nazgulnarsil 12 years ago

            What creates that upper limit of 7x2^29?

            • tromp 12 years ago

              the naming convention that allows it to be named cuckoo729.

              the program could be rewritten not to use bit 31 as a flag, and then you could use as many as 2^32-1 nodes, but that's not neatly expressible as MULT*2^SHIFT with few digits.

        • jnbiche 12 years ago

          The dagger page is cached by google here. Note that this is from 29 Dec and has probably been significantly updated since. But here it is for what it's worth:

          http://webcache.googleusercontent.com/search?q=cache:0RAOB-M...

          I don't see anything regarding compute rewards here. It's all about the mining PoW. If all nodes are validating the Turing-complete scripts, and only the miners are getting paid, how does that work? What am I missing?

    • jaekwon 12 years ago

      Hey, I like your assessment ability. Contact me at jkwon.work@gmail.com, I have an idea I want to share with you.

hnolable 12 years ago

Ripple is also working on the same thing and is supposedly releasing them "soon": https://ripple.com/wiki/Contracts

  • fragsworth 12 years ago

    Unfortunately, Ripple is a worst-case example of pre-mining. I would really hate to see it take off.

    • kylebrown 12 years ago

      I would rather see an actual, functional product take off (even without miners). The resistance to Ripple just enables an endless series of me-too fundraisers.

      The ethereum proposal is the most technical yet. Hopefully it sets a new minimum bar in the market for crowd-funded vaporware (I'm highly skeptical of them all).

    • hnolable 12 years ago

      Fair enough, although their technology can be appreciated separately from the pre-mine. Anyone can fork it and do a purely mined version.

rch 12 years ago

I'm most curious about cryptocurrency algorithms that can be optimally run on FPGAs, but not ASICs or GPUs. Is there anything along those lines floating around already?

  • phreeza 12 years ago

    For what reason are you interested in that? Any such algorithm would have to make use of the re-programmability of FPGAs, since a static FPGA layout can always be turned into an ASIC...

  • croddin 12 years ago

    I think any chip image that you put on an FPGA will run faster if you turn it into an ASIC. Are you thinking self modifying code?

    • rch 12 years ago

      Precisely. I would expect that the algorithm itself would change over time, with modifications based partially on the state of the network.

      Edit: maybe the modification strategy could provide some 'proof-of-steak' protections, without burdening the system with excessive early adopter advantages.

  • greyman 12 years ago

    What's so wrong with ASICs? Litecoin don't have them, and now they are plagued by a botnet who mines on infected PCs.

    • rch 12 years ago

      Nothing wrong with ASICs at all, but I would prefer to invest in general purpose infrastructure. It seems like a system favoring FPGAs wouldn't be as attractive to botnet owners either.

Geee 12 years ago

Does this mean that arbitrary software can be run in "trusted" way? So that everyone knows for sure what software is being run?

Sergio_D_Lerner 12 years ago

For the record: Qixcoin.com was the first coin to propose a Touring complete system. It shares 95% of Etherum design.

pmcpinto 12 years ago

The site is down for me.

chm 12 years ago

How do I mine them?

cube_yellow 12 years ago

Note that Bitcoin is purposefully not turing complete. http://bitcoin.stackexchange.com/questions/17258/turing-comp...

  • tlrobinson 12 years ago

    I don't really see any reason why it couldn't be Turing complete, as long as it was completely deterministic (no "rand()" etc) and the specification included a maximum number of operations (which Bitcoin's Script already does)

    What am I missing? Is the idea that without loops the transaction size can be used to estimate the computation required without actually performing it, and thus the appropriately sized transaction fee required?

    • grondilu 12 years ago

      Nakamoto designed script to be non-Turing complete from the very beginning (it was mentioned in his white paper). I suspect it was for security reasons. You don't want arbitrary complex code running on miners machine. At the very least, it could obstruct the system.

      • mike_hearn 12 years ago

        Script is not mentioned at all in the Bitcoin white paper. Perhaps you are thinking of a comment he made elsewhere.

        Bear in mind that in the Bitcoin design it's not just miners who have to run scripts, it's all nodes, yet fees accrue only to the miners. Bitcoin does use fees to try and make computationally expensive transactions financially expensive as well, but that's just a basic antiflood mechanism, the fees don't actually get collected by those doing the work.

        • grondilu 12 years ago

          Wow indeed it is not mentioned. I was sure I had read about it there. I was wrong. My bad.

  • est 12 years ago
ChristianMarks 12 years ago

The currency has been hacked.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection