4 ms·
It's not really a trust-based mechanism. Ethereum runs on a blockchain, just like bitcoin, but instead of just maintaining account balances it implements a simp
by pkinsky 11y ago
It's not really a trust-based mechanism. Ethereum runs on a blockchain, just like bitcoin, but instead of just maintaining account balances it implements a simple turing machine where each instruction costs some amount of the underlying cryptocurrency. Contract code is stored on the blockchain, so the behavior of any contract is fully predictable.
Here's one example: Augur (http://www.augur.net/ http://www.augur.net/) have already released an alpha of their fully decentralized prediction market. With bitcoin someone could run a prediction market, pools payments and pay out to winners. With Ethereum you will be able to send cryptocurrency directly to a contract that manages the bet and pays out to the winners, based on some prearranged signal source.
- vessenes 11y agoAugur is a great example, and you mention my concern right here. Under no circumstances should Ethereum Alarm Clock be used as the signal source for Augur's "signal source" / adjudication on prop bets.
- pipermerriam 11y ago@vessenes, I would ask that you backup that assertion with an actual explanation of why Alarm should never be used for Augur. Just saying it shouldn't be used isn't very constructive. Edit: If I make some assumptions about why you think it's a bad idea then I would guess it is that you think the call executors can behave badly in some way. The way the call execution works is that as long as there is at least one honest caller, then calls cannot be censored. Call execution is a binary operation as the executor can't control the call data. So the only thing a call executor has control over is whether or not they execute the call. Even in the situation where some attacker represents a large part of the caller pool, there is a section during the last part of the call window where anyone may execute the function call in exchange for a large payout. So even if an attacker is operating 99/100 of the accounts executing function calls, that 1 honest person can execute the call if everyone else chooses not to.
- vessenes 11y agoI think we're just having trouble with specificity here: let me elucidate and see if we in fact agree, which I bet we will. Augur must in some way be designed to get information from outside the blockchain, unless it only allows prop bets about things directly observable inside Ethereum. Therefore, part of the risk model for someone making a prop bet with Augur is that a trusted and verified third party at some point tells the Augur contract e.g. "Carly Fiorina did not win the Republican Nomination." All those who transact with Augur have to reason about the trustworthiness and risk model for the parties that inform the Augur contract. This is how I interpret the idea of the "signal source" in the comment above. To restate what I said above, under no circumstances should Ethereum Alarm be used to trigger the "Carly Fiorina did not win" action for a prop bet. It's too risky; we have to think about and validate the risk profile for someone cheating. What I'm guessing you're imagining is that it would be fine to instrument our prop bet contract in such a way as to say "If our trusted Augur oracle has deemed this prop bet decided, be available for Ethereum Alarm to trigger the payouts". That seems fine to me, and given the limitations in how Ethereum works, makes sense as something valuable to the creators of the prop bet markets. My larger point, poorly stated at the start, and I would say that I at least am beating a dead horse now, is that it would pay good safety dividends for neophyte Ethereum devs to get some suggested rules about using the Alarm.
- pkinsky 11y ago>My larger point, poorly stated at the start, and I would say that I at least am beating a dead horse now, is that it would pay good safety dividends for neophyte Ethereum devs to get some suggested rules about using the Alarm. This is a great point. I think a list of dos/don'ts, design patterns, and examples of complete systems built with Alarm would be very useful. > To restate what I said above, under no circumstances should Ethereum Alarm be used to trigger the "Carly Fiorina did not win" action for a prop bet. It's too risky; we have to think about and validate the risk profile for someone cheating. I don't think this is possible: you could trustlessly trigger an "It is 5pm EST November 11 2015" bet via Ethereum Alarm, but not anything more complex. This might be useful for betting on the apocalypse happening or not happening, but not much more. >What I'm guessing you're imagining is that it would be fine to instrument our prop bet contract in such a way as to say "If our trusted Augur oracle has deemed this prop bet decided, be available for Ethereum Alarm to trigger the payouts". IIRC Augur includes a semi-decentralized reputation oracle where each bet has a pool of oracles, each with a reputation maintained by Augur on the ethereum blockchain, that are paid some percentage of the total bet value. Anyone can sign up as an oracle, but to get to a reasonable reputation (and payout amount) you need a consistent reputation for correctness (or at least consensus).