Ethereum

Previous topic - Next topic

rossini00

So, I'm really an outside to coding, and I was wondering if anyone thought Ethereum could do away with the need for multiple coins?

https://www.youtube.com/watch?v=cahj4WJtp20

I couldn't find any mention of it in this forum.


psztorc

Hello.

If by "multiple coins", you are referring to the two coin types of [1] CashCoin and [2] VoteCoin, then the answer is no.

Those coin types are not some technical quirk, they are logically required. In fact, the addition of a second coin-type to motivate an appropriate self-selection of laborers is one of the most important concepts in this design (and, my guess is, my dual-coin setup will be a requirement for all surviving "Distributed Autonomous Corporations"s that require labor).

For example control+f to " It is a common misconception "  under section " [1] Reputational Capital " in the FAQ.
Nullius In Verba

rossini00

I'll check it out, thanks!  Any thoughts on Ethereum btw? 

psztorc

I'm honestly still waiting for people to tell me what they'd use it for. I ask, every time Ethereum comes up in a discussion.

More details: http://www.truthcoin.info/blog/limits-of-blockchain/

To add to that, the idea of Ethereum is very tech-idealistic (always a bad sign), and allows ample opportunity for (high status) coders to stand out to each other (even worse). Ethereum also appeals to the fears of the Bitcoin community (replacement, obsolescence), which would lead it to get a disproportionate amount of discussion.

I also wonder, why the Ethereum contracts won't just "eat each other" in perfect competition (ie, copy each other while undercutting fees). Also I worry about software rot.
Nullius In Verba

Jack

Quote from: psztorc on March 18, 2015, 01:34:39 AM
I'm honestly still waiting for people to tell me what they'd use it for.

Truthcoin  :D

psztorc

Quote from: Jack on March 20, 2015, 08:20:49 AM
Quote from: psztorc on March 18, 2015, 01:34:39 AM
I'm honestly still waiting for people to tell me what they'd use it for.

Truthcoin  :D
Of course:
[1] http://forum.truthcoin.info/index.php/topic,90.0.html
[2] http://www.truthcoin.info/blog/limits-of-blockchain/
[3] https://twitter.com/Truthcoin/status/578687698744909824

But ability comes at great cost (review cycles, interactions in software)...why lug around equipment for all kinds of sports, taking up space in your car, when you only want to play basketball? And even Vitalik has expressed his concern that Ethereum contracts will leech each other to death (whereas specialized ones would not, as the miner-requirement actually works for you -not against you- in such a case).
Nullius In Verba

zack

Benefits of building truthcoin on a turing-complete blockchain:
*If we have an idea to make the oracle or market maker better, we could update them without making users download new software.
*We aren't making a gambling blockchain any more, it is a computer. Gambling is just one app. This gives us legal breathing-space to work in.

Benefits of building it onto a custom blockchain:
*It is simpler, so it will have less security issues.
*I estimate it would be 100x faster at doing prediction markets and financial derivatives.

I much prefer the idea of building a specialized chain rather than ethereum's turing-complete mess.

I have studied with Jae Kwon for a month, and learned a lot about proof of stake. I think I can make a really nice truthcoin now.
My employer has me building atomic swap stuff for ethereum https://github.com/zack-bitcoin/ethereum-atomic-swap .
Which is useful for truthcoin too, but I would rather be building truthcoin directly.

martinBrown

Suggesting that it'd be easier to build Truthcoin by making small modifications to bitcoin's codebase reminds me of a quote from this talk by Joe Armstrong: "Management thinks modifying legacy code is cheaper than a total rewrite." Granted, bitcoin is not as bad as legacy enterprise COBOL from the 1970s. But the Augur team's experience of modifying bitcoin to create "sidecoin" was what motivated the switch to ethereum script (even unstable as it is, it's still preferable).

The transition from "DApps as desktop apps" (ie. bitcoin-qt, electrum, openBazaar, namecoin, bitmessage, lighthouse, uTorrent, and so on) to "DApps in a browser" would be analogous to how the average internet user's software stack changed as web browsers became more powerful. Next to the Netscape 1.0 icon on windows 3.1, there was also a desktop app for newsgroups, another for e-mail, another for real-time chat, another for ftp, and so on. Nowadays, most people browse forums, send e-mail, and chat using different apps that run on the same higher-level platform (the web browser as "the new OS"). Ethereum is attempting to do something similar with crypto-currency/p2p clients. The vision for BitTorrent Inc.'s Project Maelstrom (also utilizing Chromium, like Ethereum's Mist) is along similar lines, but they're starting as a torrent client rather than as a crypto-currency client.

psztorc

#8
Bitcoin isn't legacy code...it is running right now. In fact, it is the most robust, most up-to-date version of "blockchain code". It does not get any less legacy than this, which is exactly my point: Bitcoin is being used today, Bitcoin is being updated today, Bitcoin is being audited for security and stability today, March 26th, 2015.

If Joe Armstrong (who specifically uses the word "sometimes", by the way, which would seem to indicate his usual agreement with management...even before we set aside our comments about how cheap talk can be when it is in the form of an offhand presentation joke) wants to rewrite the operating system as well as the application, I won't try to stop him. But people ask for my advice, I give it to them: embrace software modularity, do not leave Bitcoin.

As you know, I believe that: Just as people realized that a web browser could replace all of those other things (no need for a separate "chat application"), they will realize that Bitcoin can replace everything Ethereum plans to do, except oracles (where the Truthcoin sidechain comes in).

Ethereum is a complex, new operating system. While it is "technically" simpler than Bitcoin, it is economically/strategically several orders of magnitude more complicated. No one can even address Vitalik's concern that oracle-contracts will leech each other to death, and I have dreamed up all kinds of nightmare scenarios. It is like trying to go game theory in a game where anyone can cheaply introduce a new game at any time ..."metagame theory". On principal, practically by definition, it is impossible to predict or understand what will happen to the system as a whole or its many interacting pieces.
Nullius In Verba

joeykrug

Completely agree with Martin and Armstrong. Was talking to Peter Todd the other day and he too says it would be a terrible idea to build on Bitcoin (the same reason his proof chains are taking so long).

Oracles can be leeched on *any* implementation of this btw, not a concern unique to eth (I asked Paul's thoughts on this a couple months back and he said he wasn't concerned). I'm somewhat concerned about this

joeykrug

People love the romantic idea of building on Bitcoin (I did) until they actually build on Bitcoin. With this project we're adding enough functionality that the idea that Bitcoin's security is worth anything is slightly humorous.

It's like taking DOS, building windows vista on top, and saying "but we built on top of a nice secure modular system so it's all good!"  Bitcoin is anything but modular, it's one of the most tightly coupled pieces of open source software (it isn't like gnu/Linux in this sense). Change one thing and 10 other things break, little is well abstracted, almost everything depends on main.cpp and its dependencies.

zack

They cannot even get atomic swaps to work on bitcoin. Transaction malleability ruins it.
I doubt bitcoin or ethereum could ever be good enough to run truthcoin.
If Jae Kwon's blockchain isn't good enough for truthcoin, then I'll make another single purpose blockchain, even better than last time.

Bitcoinfan

Quote from: zack on March 28, 2015, 08:12:15 PM
They cannot even get atomic swaps to work on bitcoin. Transaction malleability ruins it.
I doubt bitcoin or ethereum could ever be good enough to run truthcoin.
If Jae Kwon's blockchain isn't good enough for truthcoin, then I'll make another single purpose blockchain, even better than last time.

Zack,
Why isn't ethereum good enough to run truthcoin?

psztorc

Quote from: joeykrug on March 28, 2015, 05:46:01 PM
Completely agree with Martin and Armstrong. Was talking to Peter Todd the other day and he too says it would be a terrible idea to build on Bitcoin (the same reason his proof chains are taking so long).
His proof chains will probably end up actually being used by someone, though. More importantly, I do not suggest anyone build "on" Bitcoin the way Counterparty is (and that is how PT would interpret such a phrase, if you didn't clarify), I merely advise taking a recent fork of the Bitcoin codebase as a starting point and design framework. Feel free to invite PT to the forum to explain what he would use instead, I would be surprised to hear him say "start from scratch in Python, and then use the Python flavor of Ethereum", and, what's more, I'd be happy to wager with him on what's more likely to be in use a year later.

Quote from: joeykrug on March 28, 2015, 05:46:01 PM
Oracles can be leeched on *any* implementation of this btw, not a concern unique to eth (I asked Paul's thoughts on this a couple months back and he said he wasn't concerned). I'm somewhat concerned about this
One of the reasons I am not concerned about leeching is because I believe that Ethereum will fail. I'm interested in how you would leech from a Truthcoin sidechain...build another sidechain? One example: If not merged mining, how do you acquire miners? If merged mining, why would miners mine both?

Quote from: joeykrug on March 28, 2015, 05:54:21 PM
People love the romantic idea of building on Bitcoin (I did) until they actually build on Bitcoin.
Most of the people I've talked to (including you) lack the technical ability to build on Bitcoin. This is nothing against anyone's character or value, but you have (for example) admitted to me that you cannot program effectively in C++. In fact no one on your team, except Jack, seemed even willing to claim to be technically able enough to try to modify Bitcoin's source code. Everyone is the hero of their own story, so it is easy to write off "things that I am not particularly skilled as doing" as "bad ideas". Code is hard to understand...experts agree that writing your own new thing is deceptively painless by comparison, because the vision in your head ignores all of the labor required to polish and maintain the software.

Quote from: joeykrug on March 28, 2015, 05:54:21 PM
With this project we're adding enough functionality that the idea that Bitcoin's security is worth anything is slightly humorous.
It may be worth very little, but it is worth more than anything else (nothing)...your own team has recently complained of Ethereum's occasional changes (gas pricing, use of various types of memory, etc) that -both in the past and in the future- you have to just deal with. Opening yourself up to that kind of additional uncertainty is a bad idea; it's that simple.

Quote from: joeykrug on March 28, 2015, 05:54:21 PM
It's like taking DOS, building windows vista on top, and saying "but we built on top of a nice secure modular system so it's all good!"  Bitcoin is anything but modular, it's one of the most tightly coupled pieces of open source software (it isn't like gnu/Linux in this sense). Change one thing and 10 other things break, little is well abstracted, almost everything depends on main.cpp and its dependencies.
I see it more like taking Windows 95, building Vista on top of that, and saying "we tried to introduce as few new/untested things as possible, but it will probably still need a lot of work". Building Truthcoin on Ethereum is like saying, in an alternate universe, "Windows 95 hasn't even been finished yet, and -having not been tested at all (and in fact having never tested anything from Microsoft at all)- might have tons of catastrophic technical bugs, and might be ultra-susceptible to internet viruses, and -come to think of it- we don't actually know if anyone wants to buy Windows 95 at all, because Ubuntu [Bitcoin] already has nearly 90% of the market share and it has already put loads of competitors out of business, and, sure, the guys at Microsoft plan on tearing out the kernel anyway and replacing it with something that they dreamed up...that leading experts openly laugh at and compare to perpetual motion, but we've decided we really don't care about that, and so, nonetheless, we're starting work on our flagship Windows application. Look at all the hard work we saved ourselves, by pretending that someone else will do it competently!"

One may argue that Ethereum is designed to be simple, so it cannot amount to something as bulky as any operating system, let alone Windows 95. That would be true, were it not for the fact that Ethereum is designed to have contracts which interact with each other, and can even interact with the behavior of the agents who maintain and operate Ethereum. So Ethereum is much more complicated than Bitcoin, precisely because it is less restricted.

You are wrong when you imply that I believe that Bitcoin is modular, or intended to be customizable. I do not believe this (although, obviously, it has been customized -in various ways- an overwhelming number of times). In fact, I believe that one of Bitcoin's greatest strengths is how specialized and conservative it is...it is precisely this ability to resist any (unnecessary) change that I find so valuable.

The true romantic blindness is that of young idealistic programmers trying to do everything (Ethereum-style) and allowing mission creep to swell a few good ideas into an unmaintainable monstrosity. Once the maintenance-upkeep is too expensive, software rot inevitably kills the project. In your case, if Ethereum fails, then all of your work is largely wasted, and if a non-Ethereum competitor succeeds, your work will be entirely wasted.
Nullius In Verba

zack

#14
@Bitcoinfan

Augur found a way to make it cheap enough.
My mistake.