Edit: Regarding “To me it seems that EOS is the most viable competitor”, this is something I changed my mind about (maybe within a few months of writing this comment—I don’t quite remember).
Some competitors, e.g. Tezos, Cardano have reasonable-sounding ideas but are way behind in terms of actual implementation and developer manpower being applied.
To me it seems that EOS is the most viable competitor. The actual blockchain of theirs will go live this summer, but they already have test nets up and running that developers can use to develop applications (though I dunno how easy or hard it is to get started with the current level of documentation, etc). Some of the questions that determine how well EOS does or doesn’t do are:
How developer-friendly will EOS be compared to Ethereum? This article argues that EOS will be a better choice for dapp developers (https://steemit.com/eos/@nadejde/eos-development-platform-first), with a bit of discussion for and against some of the articles points in the comments. I don’t have experience with either myself, and I don’t know much about what kind of third party code that is / will be / can be made available for Ethereum to make it more developer friendly.
How much flexibility will EOS give for developers language-wise? My impression has been that lots of the popular languages we have today will be possible to use since they’ll be using WebAssembly. After googling WebAssembly a bit more I’m not as optimistic about this as I was, but still think this seems to be an argument in favour of EOS vs Ethereum: https://github.com/appcypher/awesome-wasm-langs, https://stackoverflow.com/questions/43540878/what-languages-can-be-compiled-to-web-assembly-or-wasm. I don’t know if languages that are well-supported by WebAssembly practically speaking will be easy to use to develop on EOS, or if C++ in the beginning or indefinitely will be the de facto choice for EOS developers, but I’m assuming that they chose WebAssembly because they intend for it to be possible to use several different languages, so that more developers can choose a language they already are comfortable with.
Practically speaking, when can developers start working on dapps on EOS vs on Cardano? EOS has a test-net ready for dapp developers to work on, and will release the main net this summer, though I don’t know how easy or cumbersome it is to get started. Unless I’m mistaken Cardanos work on smart contracts is pretty early stage, and there hasn’t been set a date yet for when smart contract functionality will be available: https://www.reddit.com/r/cardano/comments/7q9yq0/when_will_cardano_have_smart_contracts/?
Will EOS transactions really be free for most users? This seems to be what they claim, and so far I haven’t come across people arguing that this isn’t the case.
Is it the case that regular users of Ethereum applications always will have to pay fees, even if these get really low? As I understand it, one possible solution would be to have dapps give the users money for gas. If this becomes affordable, will it for most dapps be practically doable to “hide” them from users so that it doesn’t make the dapp less user-friendly? I don’t see why it wouldn’t be if gas-fees become low enough, at least for dapps where users have to register accounts, but my understanding is vague. Also, this seems to me like yet another thing that developers will have to think about, unless some easy standardized solution becomes available.
For the different levels of speed, scalability and low costs of transactions, will both EOS and Ethereum get there? And if both get there, who will get there first and how large will the time difference between them be? Take for example steemit.com, a website that runs on a blockchain with an architecture that is similar to the one EOS will be using. Will it become possible to have something like that run on Ethereum without having users wait a lot, pay high fees, and having the network get clogged? My impression is that if this becomes possible on Ethereum it will probably not be a few months after EOS, but years after. Is that impression wrong? I don’t have a full overview of the different upgrades Ethereum are planning and their expected timelines. In this video from September 2017 Vitalik seems to think that Ethereum probably will have the capacity to replace Visa in a couple of years, but with prototypes with lower security having that kind of capacity in about a year: https://youtu.be/WSN5BaCzsbo?t=10m42s. He also seems to think that running something like Starcraft on Ethereum will be possible at some point thanks to second-layer systems. Here are some comments regarding the capacity of EOS (the video moves on to other topics at 2:02): https://youtu.be/UC6RYwYPnpU?t=49s.
My own guess is that Ethereum will continue to be the number one smart contract platform, but that EOS will do better in terms of percentagewise growth in price from here. That’s just the guess that feels most likely to me though, not something I expect neccecarily will happen. I have read a significant amount and watched a significant amount of interviews and so on, but my understanding of this stuff is vague and incomplete.
I have the majority of my money in EOS at this moment, though I’m not sure if that’s smart of me or not, and am very much unsure about when I should pull out (now? in a month? this summer?). What makes me most unsure is the possibility of a crash of the whole crypto-market, which may be pretty likely.
In the next two years we should see whether Ethereum’s scaling plans work out or not. If they do, I can’t understand any plausible future for Bitcoin.
Smart contracts thanks to rootstock? Scaling and lower transaction fees thanks to lightning network? More investments and usage due to first-mover advantage / brand awareness / network effects? These possibilities, which I don’t rule out with my current admittedly shallow/vague understanding, makes it seem plausible to me that Bitcoin could continue to be #1 even if Ethereum scales successfully.
From the linked blog post it seems to be that EOS doesn’t provide trust in code because it allows a developer to make changes in the code after it was first deployed.
It feels to me unlikely that developers want to write dapps in any random programming language. For dapps it’s important to optimize performance and computing is expensive and the underlying infrastructure is just different than a normal computer and you should’t expect that simply porting normal existing programming languages result in a good result.
From a security perspective it’s also very bad. If you look at the problem that brought down The DAO, it suggest that you need to think differently about how your code is exectued to not repeat that mistake. Formal verification seems to be very important for dapps and that just isn’t a feature in the existing languages programmers already know.
Thanks for this interesting infodump, I haven’t looked hard at EOS yet (I am biased towards only bothering to learn about things which are actually “live in production” in a meaningful way, as a kind of bozo filter) but I will promote it in my attention.
I agree that Bitcoin could sort of tack on scalability with payment channels and tack on smart contracts with RSK. It just seems really unlikely that it’s a better idea to do these things on top of a PoW blockchain layer that has tire fire governance. It’s definitely true that some kind of worse-is-better network effect* could keep Bitcoin at the top in a way that’s hard for me to understand—I don’t even have any explanation for why Bitcoin is at the top as of right now! At the end of the day, though, my original decision to buy Bitcoin and later Ethereum was based on my assessment of the technical usefulness of the work being done, and since that turned out so well, I’m going to keep riding that heuristic until I see it not work.
*Although it’s interesting to speculate what the network would be. Ethereum has mostly caught up in terms of ease-of-obtaining-and-transferring; exchanges, wallets, node software, etc. Bitcoin never really hit the mainstream in terms of people transacting in it for everyday things, and due to congestion it probably won’t now until payment channels are running and the kinks get worked out. One interesting thing that might be a “network effect” is the number of people with non-portable investments into Bitcoin’s future, e.g. miners with Bitcoin ASICs. That’s a lot of capital which is incentivized to make Bitcoin in particular succeed, and competitors don’t have that.
Edit: Regarding “To me it seems that EOS is the most viable competitor”, this is something I changed my mind about (maybe within a few months of writing this comment—I don’t quite remember).
To me it seems that EOS is the most viable competitor. The actual blockchain of theirs will go live this summer, but they already have test nets up and running that developers can use to develop applications (though I dunno how easy or hard it is to get started with the current level of documentation, etc). Some of the questions that determine how well EOS does or doesn’t do are:
How developer-friendly will EOS be compared to Ethereum? This article argues that EOS will be a better choice for dapp developers (https://steemit.com/eos/@nadejde/eos-development-platform-first), with a bit of discussion for and against some of the articles points in the comments. I don’t have experience with either myself, and I don’t know much about what kind of third party code that is / will be / can be made available for Ethereum to make it more developer friendly.
How much flexibility will EOS give for developers language-wise? My impression has been that lots of the popular languages we have today will be possible to use since they’ll be using WebAssembly. After googling WebAssembly a bit more I’m not as optimistic about this as I was, but still think this seems to be an argument in favour of EOS vs Ethereum: https://github.com/appcypher/awesome-wasm-langs, https://stackoverflow.com/questions/43540878/what-languages-can-be-compiled-to-web-assembly-or-wasm. I don’t know if languages that are well-supported by WebAssembly practically speaking will be easy to use to develop on EOS, or if C++ in the beginning or indefinitely will be the de facto choice for EOS developers, but I’m assuming that they chose WebAssembly because they intend for it to be possible to use several different languages, so that more developers can choose a language they already are comfortable with.
Practically speaking, when can developers start working on dapps on EOS vs on Cardano? EOS has a test-net ready for dapp developers to work on, and will release the main net this summer, though I don’t know how easy or cumbersome it is to get started. Unless I’m mistaken Cardanos work on smart contracts is pretty early stage, and there hasn’t been set a date yet for when smart contract functionality will be available: https://www.reddit.com/r/cardano/comments/7q9yq0/when_will_cardano_have_smart_contracts/?
Will EOS transactions really be free for most users? This seems to be what they claim, and so far I haven’t come across people arguing that this isn’t the case.
Is it the case that regular users of Ethereum applications always will have to pay fees, even if these get really low? As I understand it, one possible solution would be to have dapps give the users money for gas. If this becomes affordable, will it for most dapps be practically doable to “hide” them from users so that it doesn’t make the dapp less user-friendly? I don’t see why it wouldn’t be if gas-fees become low enough, at least for dapps where users have to register accounts, but my understanding is vague. Also, this seems to me like yet another thing that developers will have to think about, unless some easy standardized solution becomes available.
For the different levels of speed, scalability and low costs of transactions, will both EOS and Ethereum get there? And if both get there, who will get there first and how large will the time difference between them be? Take for example steemit.com, a website that runs on a blockchain with an architecture that is similar to the one EOS will be using. Will it become possible to have something like that run on Ethereum without having users wait a lot, pay high fees, and having the network get clogged? My impression is that if this becomes possible on Ethereum it will probably not be a few months after EOS, but years after. Is that impression wrong? I don’t have a full overview of the different upgrades Ethereum are planning and their expected timelines. In this video from September 2017 Vitalik seems to think that Ethereum probably will have the capacity to replace Visa in a couple of years, but with prototypes with lower security having that kind of capacity in about a year: https://youtu.be/WSN5BaCzsbo?t=10m42s. He also seems to think that running something like Starcraft on Ethereum will be possible at some point thanks to second-layer systems. Here are some comments regarding the capacity of EOS (the video moves on to other topics at 2:02): https://youtu.be/UC6RYwYPnpU?t=49s.
How will they compare in terms of funding for projects? I don’t know, though I know that EOS has a pretty big “war chest” of money that will be used to fund projects on their blockchain (https://cryptovest.com/news/breaking-blockone-ceo-brendan-blumer-announces-1-billion-in-capital-for-eos-projects/).
My own guess is that Ethereum will continue to be the number one smart contract platform, but that EOS will do better in terms of percentagewise growth in price from here. That’s just the guess that feels most likely to me though, not something I expect neccecarily will happen. I have read a significant amount and watched a significant amount of interviews and so on, but my understanding of this stuff is vague and incomplete.
I have the majority of my money in EOS at this moment, though I’m not sure if that’s smart of me or not, and am very much unsure about when I should pull out (now? in a month? this summer?). What makes me most unsure is the possibility of a crash of the whole crypto-market, which may be pretty likely.
Smart contracts thanks to rootstock? Scaling and lower transaction fees thanks to lightning network? More investments and usage due to first-mover advantage / brand awareness / network effects? These possibilities, which I don’t rule out with my current admittedly shallow/vague understanding, makes it seem plausible to me that Bitcoin could continue to be #1 even if Ethereum scales successfully.
From the linked blog post it seems to be that EOS doesn’t provide trust in code because it allows a developer to make changes in the code after it was first deployed.
It feels to me unlikely that developers want to write dapps in any random programming language. For dapps it’s important to optimize performance and computing is expensive and the underlying infrastructure is just different than a normal computer and you should’t expect that simply porting normal existing programming languages result in a good result.
From a security perspective it’s also very bad. If you look at the problem that brought down The DAO, it suggest that you need to think differently about how your code is exectued to not repeat that mistake. Formal verification seems to be very important for dapps and that just isn’t a feature in the existing languages programmers already know.
Thanks for this interesting infodump, I haven’t looked hard at EOS yet (I am biased towards only bothering to learn about things which are actually “live in production” in a meaningful way, as a kind of bozo filter) but I will promote it in my attention.
I agree that Bitcoin could sort of tack on scalability with payment channels and tack on smart contracts with RSK. It just seems really unlikely that it’s a better idea to do these things on top of a PoW blockchain layer that has tire fire governance. It’s definitely true that some kind of worse-is-better network effect* could keep Bitcoin at the top in a way that’s hard for me to understand—I don’t even have any explanation for why Bitcoin is at the top as of right now! At the end of the day, though, my original decision to buy Bitcoin and later Ethereum was based on my assessment of the technical usefulness of the work being done, and since that turned out so well, I’m going to keep riding that heuristic until I see it not work.
*Although it’s interesting to speculate what the network would be. Ethereum has mostly caught up in terms of ease-of-obtaining-and-transferring; exchanges, wallets, node software, etc. Bitcoin never really hit the mainstream in terms of people transacting in it for everyday things, and due to congestion it probably won’t now until payment channels are running and the kinks get worked out. One interesting thing that might be a “network effect” is the number of people with non-portable investments into Bitcoin’s future, e.g. miners with Bitcoin ASICs. That’s a lot of capital which is incentivized to make Bitcoin in particular succeed, and competitors don’t have that.