Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Ethereum Canvas – Draw on the blockchain (ethereumcanvas.com)
69 points by fragosti on Dec 19, 2017 | hide | past | favorite | 46 comments

There's no way a single shared blockchain would be able to serve the whole world. The number of transactions per second is one thing. The size of the chain is another. If we all start throwing money transactions AND idle drawings into the same bucket, it will overflow.

Something needs to change. The current architecture clearly does not scale.

Maybe something more like Pascal Coin would be better able to scale up to become used worldwide for daily transactions.

EDIT: Before you downvote, I'd like to ask you a few questions. Are you invested in ETH or some other blockchain technology? And if you are, how does that color your thought process?

I do not invest in ETH. The reason why varies, but essentially I hold a belief that various portions of their stack have various levels of trust which are not well understood. For example, the Ethereum community has "allowed" people to use poorly constructed libraries to build contracts that were later invalidated by someone "goofing around". Other incidents show the stakeholders are willing to change core code to get their stored values back (or their associates stored values back). These issues are not to say the core chain of Ethereum is of low trust. It is not.

You are correct in assuming there is no way for a scalable and fast blockchain to store data that serves the worlds needs. Ethereum is built on the promise to do away with current decentralized services, by way of allowing the identity and value used to be placed on their chain and executed using some programmable logic, in a way that is trustworthy.

Of course we've been doing this for years with centralized services. Images drawn by people, for example, have no business being in a chain, but they could be "pinned" to the chain by way of some loose, lower trusted consensus than the main chain. A few of us could store it for a price using IPFS/Filecoin while others of us make a statement that we know the file in question exists by signing an entry on a main chain - instead of just putting the image there in total.

> The Ethereum community has "allowed" people to use poorly constructed libraries to build contracts that were later invalidated by someone "goofing around"

Ah back when Ethers were $7 each instead of the $800 today

The real question is whether your poor investment decisions are relevant to the discussion of this thread

These are commodities, broken things about them makes the more valuable or scarce, just like when an oil pipeline is destroyed in a conflict zone. Your opinion about oil has no bearing on you making money.

> poor investment decision

We should talk about your poor assumption generation algos. Risk assessment indicates a willingness to examine certain "opportunities" which only exist in hindsight (i.e. confirmation bias) over observations of truth of reality. For example, if we knew the DAO hack was possible, ETH may never have gotten expensive enough to justify a fork for it.

Factually, it is true that the Ethereum maintainers are willing to fork their chain if it means getting their money back from someone who found a hole in their codebase - a codebase few people understand at a fundamental level. This inability to understand it at a fundamental level, coupled with the inherit irrationality of the markets indicates it may be of higher risk than a Bitcoin investment.

This means "opportunity", at least in the context you give it, could indicate a blind willingness to follow the lead of others, when one themselves may be in doubt over how they may guarantee a given level of risk during the waiting period for outcome.

That you'd bother to attack me over this point is fairly irrational, except if you were one of those people hoping to continue to blow hot air into this particular crypto market.

Fact is, we just might NOT need Ethereum where we're going. Time will tell.

> your poor investment decisions

Y'all need to calm down a little.

It was supposed to be provocative

someone took a hard look at the project and made up irrelevant reasons not to participate in owning the underlying gas of the network, forfeiting a 11,800% profit from $7 after the DAO incident to $830 today, and maintains that opinion while continuing to masquerade them as related!

Nothing about that relates to their investment decisions. If I'm in blackjack holding a 19 and I choose not to hit and the next card comes up a 2, was that a bad investment decision?

In extremely basic hi/low card counting, if you had the information to suggest that most of the high cards had already been played, then yes that was a bad decision not to hit or weigh it more objectively to come to the same conclusion.

This is in line with whatever analogy you were going for, and OP, who had information.

your analogy to card counting is incorrect. You wouldn't hit on 19.

Have a look into blockchain sharding. There is also Lightning and Plasma, though they are far less promising.

What is your rationalization for saying Lightning is not promising? I think that, given the state of the ecosystem, spreading opinion around as fact is not healthy.

It sounds like Lightning is attempting to solve an unsolvable NP-hard math problem regarding routing. [1]

The Lightening network is mostly a gimmick attempt to save the design failures of scaling from the BTC communities refusal to increase network bandwidth in order to save disk space.

That and for the Lightening network to work without opening up a dozen "deposit channels" into everywhere you shop, users will be pushed into larger liquidity hubs, i.e. payment processor middlemen which is ironic given this is exactly what Satoshi's white paper sought to avoid.

[1] https://en.wikipedia.org/wiki/Travelling_salesman_problem

I am not a bitcoin fan but I can't imagine anything like this would be affected by the NP-hardness of the traveling salesman problem.

It's not like the system breaks if someone finds a way that a payment could have been routed faster. There are quick approximations to the TSP. Also, a payment network doesn't sound like a single object that has to traverse a graph with various costs, it sounds like a network flow problem.

i don't think 0wing got this one 100% right. he is maybe referring to a claim about lightning, that it is going to be private. but this is not true, there will be a full map of the lightning network. david gerard and emin gün sirer(one of the greatest blockchain researchers) have pointed this out:


I see what David Gerard is saying, it's just that having a map is very different from having to find the optimal solution to TSP on that map. We look at maps all the time and don't solve TSP on them.

there is a lot of missinformation going around in the crypto-currency world. i think that after this privacy claim was debunked it morphed into the idea, that lightning was mathematically impossible. somewhere along the line TSP was added to the explanation. 0wing says TCP is "unsolvable NP-hard" which doesnt make much sense. well, its hard to understand the path of rumors. lightning might yield a constant factor scaling improvement with worse security and worse convenience, but it can work.

I agree completely. A shared ledger is a great idea, but not when anyone can write almost anything into it. Then it starts turning into some sort of massive torrent that has to be synced around the world.

If you've tried recently to sync up a self-hosted ETH wallet app, you've probably noticed what an incredibly long time it takes to get the whole blockchain. Meanwhile the HDD is thrashing around like crazy; if you're not using an SSD then forget it. Wallet apps like Parity are a little more forgiving (probably smarter in how they handle the blockchain), but still, it's dozens of gigabytes already.

To me, the single, shared, universal blockchain idea seems more like a proof of concept. It's also pretty hard to ask every node in the network to see every possible transaction. I am virtually certain that whatever ends up taking over the world will not operate that way. Things just don't scale like that.

For anyone not familiar with some of the proposed scaling features for Ethereum, quadratic sharding could alleviate this problem by having hundreds of Ethereum universes that can talk to each other and commit their root merkle hash to the main chain

Sounds like a good idea.

How are transactions routed from one "universe" to another? Let's say I'm on universe A, you're on universe B, and I want to send you a few bucks.

So who decides what is worthy? If I value the penis I draw important enough to spend $100 to have it embedded into the blockchain forever, who are you to say it's garbage?

I don’t know. But 1000’s of people drawing pictures, saving their documents, uploading photos, trading files - that’s the problem. A few people doing a proof of concept isn’t a big deal.

Invested. Check out Plasma

Does not work for me - even with blockers disabled:

    Control.js:111 Uncaught TypeError: Cannot read property 'map' of null
        at t.n.optionsToShow (Control.js:111)
        at t.value (Control.js:233)
        at f._renderValidatedComponentWithoutOwnerOrContext (ReactCompositeComponent.js:796)
        at f._renderValidatedComponent (ReactCompositeComponent.js:819)
        at f._updateRenderedComponent (ReactCompositeComponent.js:743)
        at f._performComponentUpdate (ReactCompositeComponent.js:721)
        at f.updateComponent (ReactCompositeComponent.js:642)
        at f.receiveComponent (ReactCompositeComponent.js:544)
        at Object.receiveComponent (ReactReconciler.js:122)
        at f._updateRenderedComponent (ReactCompositeComponent.js:751)
    getContract.js:19 Error: Invalid JSON RPC response: ""
        at Object.InvalidResponse (errors.js:35)
        at XMLHttpRequest.r.onreadystatechange (httpprovider.js:111)
    VM146:1 OPTIONS http://localhost:8545/ net::ERR_CONNECTION_REFUSED
    Main.js:43 Uncaught (in promise) TypeError: Cannot read property 'getNumberOfShapes' of undefined
        at Main.js:43
        at <anonymous>
    errors.js:35 Uncaught (in promise) Error: Invalid JSON RPC response: ""
        at Object.InvalidResponse (errors.js:35)
        at XMLHttpRequest.r.onreadystatechange (httpprovider.js:111)
Edit: From the FAQ

> How does this work?

>You'll need the Metamask Chrome extension or an Ethereum enabled browser like Mist or Parity to get started.

hello! submitter here.

Apologize if it's buggy - did not realize this would catch on! Yes you need the metamask chrome extension. Looking into the other issues now.

Thank you for all your feedback!

Update: Appreciate some of you actually trying to submit transactions. The current gas price is around 7 gwei (https://ethgasstation.info/) so there is a high chance that transaction will time out if you put a gas price less than that. If that is your intention that is fine ;)

Update 2: Apparently my total Gas calculation was too optimistic, which has caused some of the transactions to fail. I just made the estimation less optimistic (you get all unused gas back anyway). I hope that works and apologies to everyone who had a bad transaction.

I built something like this 2 years ago. And it's 3D!


Would be interested in hearing if/when you received attention to it and how ETH prices affected users willingness to spend 1+ETH to play/us. Any future plans to keep it going and add to it?

I think a few dozen tiles were purchased at 1 ETH when it was about a dollar per ETH. People seemed to like it although it was challenging to build things. I can see in the contract data that some people bought tiles, mined blocks, but didn't understand how to place the blocks on the tiles, so the blocks remain hidden.

Anyway yeah I'm thinking of resurrecting it soon. I've kept an entrepreneurial/techie ear open since I built it and I think I finally know what I want to do to bring it back to life.

As far as ownership, I'll probably just buy all the remaining tiles myself (the money goes to me anyway) and then sell at more reasonable prices on the secondary market.

https://steempixels.com is a free-to-use (or optionally pay) example of pixel drawing on the Steem blockchain.

Your page is hitting http://localhost:8545/ .

There is also a course how to build something similar


Reminds me of the million dollar homepage of 10 years ago: http://www.milliondollarhomepage.com/

Couldn't get the drawing part to work. do you need metamask or mist?

I get an "invalid JsonRPC" error, working in neither firefox nightly or chrome, on mac OSX

Does Ethereum play Crysis?

Yes but you need to pay each time you press "W".

Getting a 404 on the /faq page.

This should be fixed now :)

Doesn't actually work though.

It works - but people have been trying to submit a transaction with too little gas or too low of a gas price.


Just as an experiment. Wanted to see what it was like to write a smart contract. Example I chose is a bit contrived I agree.

No need to be so cynical.

I don’t see what’s so cynical? There are a bunch of pointless Ethereum contracts made to get Ethers quick and free. This and crypto.love are dumb as hell and shouldn’t be posted on here

Then build something better instead of shitting on others

That makes no sense. I am saying this is a scam to get Ether quick and cheap. There is no need to put a drawing or a love note on a blockchain, and me making something better won’t stop people from getting scammed by stuff like this.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact