“Never trust anyone over 30” is something they used to say in the revolutionary sixties. The Cryptocurrency Revolution doesn’t have anyone over 30 to mistrust, so we need a new slogan: “Never trust anyone who claims to understand cryptocurrencies.”
I certainly don’t.
I think I understand the web though, or at least I thought I did until I saw the future. The future of the web is a massive global database and computer with frictionless payments, authentication, and authorization, all of it built right in.
Unfortunately, in order to fund the thing they had to disguise it as a cryptocurrency and now my mom is asking me about investing in ICOs.
I didn’t realize that Ethereum was the future of web until I decided to build a “distributed application” (a DApp) on top of it. You’d think that learning that the main Ethreum client library is called web3.js would have tipped me off as to what Ethereum is really about, but I had to build a produce and then try to actually use it to understand.
Don't let the ICOs, the DAOs, the speculation -- don't let all that distract you from the real promise of this stuff.
A few months ago, Andrey and I started pairing on Ethereum projects. We found that our skill-sets meshed well for doing smart-contract security audits. In our hearts we’re both more builders than breakers, and we decided to find something interesting to build.
We had interacted with enough ICOs to know that we didn’t want to do anything like that. We wanted to use the technology to build something cool, but without aspirations of eating the world.
We found our inspiration in The Million Dollar Homepage, a viral hit from the 2005-era web. British teenager Alex Tew built a website to sells ad space by the pixel. Each pixel in a 1000x1000 grid cost a dollar – hence the million dollar price tag. It was the perfect inspiration, and not just because we live in a particularly nostalgic moment. The Million Dollar Homepage felt old-fashioned even in 2005. It was part of the charm.
I knew it was the perfect concept to reinvent on the blockchain, and this was before I even understood that Ethereum is the future of the web.
Imagine how you’d build a clone of the Million Dollar Homepage in 2017. You’d start with a database, it would probably have a user table and a table of ads belonging to the users. You’d host that database and a web app around it somewhere in the cloud. When a user signs up, they put in their email and password, verify their email, select the adspace they want to buy, pay for the ad with a credit card, and then are able to edit the ad.
You’d probably need to implement some kind of locking, so a user can reserve an ad spot for the 10 minutes it takes them to fish their credit card out and enter the numbers.
The Thousand Ether Homepage has a fraction of the complexity. From the user’s perspective there’s no emails, no password, and no credit cards. They open thousandetherhomepage.com in an Ethereum-enabled browser like MetaMask or Mist, and they can just select a space and click “buy.” The ads they own are tied to their wallet, ready to have their contents changed.
From the developer’s perspective there’s no database, and no cloud. The “ads table” is the smart contract and the “users table” is the Ethereum wallet. The user-facing application is just html & javascript, hosted on Github pages.
When we first started work on the Thousand Ether Homepage, I thought that the major innovation would be that we’d use a cryptocurrency for payment and a smart contract to track ownership. I didn’t realize that we were building an entirely new kind of web application.
When I thought about the kinds of applications that Ethereum allows you to build, my mind would go to The DAO – distributed applications that pay for their own hosting and use their capital to make decisions. It seems like scifi, something for the future when AIs are playing the stock market to make more paperclips.
What I didn’t realize was the near-term pedestrian implications.
Ethereum lets us build web applications that don’t need Stripe, don't need AWS, don't need a database, don't need usernames, and don't need passwords.
I knew that DApps were an important part of Ethereum, but it took actually building one to realize what it means.
If you want to learn moew, The Thousand Ether Homepage is entirely open-source!
Top comments (16)
I've browsed the issue tracker and I found this>
github.com/thousandetherhomepage/k...
Is it true? Because if it is, it looks like Ethereum its just one of those platforms where you can mess up with real money.
Yes it is, and I really want to solve this mystery! FWIW, I don't think it's a bug in the code so much as people somehow sending us extra ether in transactions.
You definitely can mess up with real money in Ethereum, and in ways that are much more consequential than that issue. i.e. twitter.com/dguido/status/92789652...
I'll say two things on this.
First of all the list of platforms that you can mess up with real money is very very long. You can mess up by using floats, a database, or even feature flags!
That said, cryptocurrencies today make it easy to shoot yourself in the foot and there's no one to talk to to return your money if you do. Well, most of the time there isn't.
Why am I still excited?
1) I'm much more excited about the web stuff I wrote about in this post than I am about the replacing fiat money stuff.
2) I think this is a glimpse of the future! I wrote more about that in another comment
Wonderful post. Use cases, even gimmicky ones, are so helpful in understanding a concept. And your gimmick is a really wonderful use-case. Bravo.
I'm also involved with an ICO. I like the idea of smart contracts. However, as others have observed, most smart contracts out there are barely used at all and the ones that do get used basically are about doing an ICO. There are a lot of prototypes and alpha/beta projects but very little with measurable traction on the blockchain.
The sad state of the current generation of blockchains is that they are not suitable for running lots of small value transactions because of cost and performance reasons. Anything that needs that, needs to wait until blockchains come into existence that support that. Several are in development right now, most of these move the problem rather than solving it. Thousands of transactions sounds nice until you realize that this is globally and you have to share those with basically the rest of the world. That's not nice at all if you consider a simple db on your laptop can do that without breaking a sweat. So, if you need more than a handful of transactions per second right now, there is essentially no production quality blockchain out there that can do that.
EOS when it ships in a few days will need time to prove itself as well. Ethereum and bitcoin have enjoyed years of people trying to hack them and by virtue of still being around sort of have proven that they work as advertised. That kind of adoption for a third blockchain has yet to happen. Whether that's EOS or some other thing remains to be seen. Also Ethereum itself is evolving.
Yeah, sure…
techcrunch.com/2017/11/07/a-major-...
Yeah, this is really bad.
I'm excited about the potential of this technology to change how the web works in the future, and building and using this DApp is like looking into a crystal ball into that future.
As I said in another comment, I certainly don't think you should throw away your credit card and your Heroku account tomorrow!
I also saw about this and found it exciting. But it's still very early…
Ethereum is just the tip of the iceberg. Many more smart contract blockchains are currently built with some really nice features. My favorite is EOS. If the developers deliver what they promise (and judging by the testnet I believe they will) It is really next gen. Several thousands of tps (3000 now on the testnet on average hardware and single threaded) interchain communication, zero transaction fees. And it supports c++ for the time soon every web assembly compatible language. You could check it out too.
Isn't ethereum so slow that in does less than 100 TX per second?
How should this work?
You're right, Ethereum is slow.
And it has a host of other issues that need to be solved before mass adoption (environmental impact of proof of work chains is number one on my list, before transaction volume).
And, this technology is being developed in the open so we can see all the problems as they come up.
I certainly don't think you should throw away your credit card and your Heroku account tomorrow! What I do think is that something that has it's roots in Ethereum is going to be ubiquitous in the future, and you can see a glimpse of it today. And there's a good chance that thing will still be called Ethereum but it's hard to say.
True.
Today I read the term Edge Computing, which seems to be the new buzzword for doing things decentralized on the edge of the cloud (Desktops/Smartphones etc).
Question is, which tech will prevail?
There is Ethereum, there is dat, there is IPFS...
Honestly, I have no idea, and that's okay.
I view this as a technologist not as an investor, and I'm excited to play with all of it!
(So far, we've tried putting the DApp on IPFS and serving images from there.)
Haha! Not happening with its recent security issue.
Thanks, I haven't seen dat yet.
Do you know examples of good dat dapps?
Great article Max! Lots of exciting micro opportunities in the future.
One of the very few use cases for ETH.