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.
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?
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.
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.
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.