News for hackers. Stuff that matters.
Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by aakilfernandes on Thursday October 15, 2015 @11:01AM (#10393541)
I would have loved this a few months ago. I've since switched to Ethereum and have been really happy with it. If you're trying to cram lots of data into OP_RETURNs, you should try looking at other blockchains.
Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by alphonse23 on Thursday October 15, 2015 @01:26PM (#10394523)
but you'll never have the security of the original blockchain going with an alt-coin -- and I don't just mean technical security.
Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by aakilfernandes on Thursday October 15, 2015 @01:50PM (#10394727)
Never is a long time. Are you really sure that no blockchain could ever offer a compelling enough advantage over Bitcoin to validate a larger investment in security research/mining?
Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by bduerst on Thursday October 15, 2015 @12:36PM (#10394156)
How does Ethereum store data in a blockchain and what's the size?
Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by joeyspn on Thursday October 15, 2015 @01:00PM (#10394318)
Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by aakilfernandes on Thursday October 15, 2015 @12:59PM (#10394313)
You can store an arbitrary size of data up to the block limit. However your transaction fee scales with the size of data you want to add to the block chain.
Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by NH_2 on Thursday October 15, 2015 @12:38PM (#10394170)
I'm curious about this too.

Also, what's the retrieval rate of the data? How much of it can you query at once? Is it different/faster on Ethereum?

Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by aakilfernandes on Thursday October 15, 2015 @01:01PM (#10394326)
I don't think there's a meaningful difference between the two, they're both essentially instant.

Bitcoin doesnt make the data queryable in any way. You need to know the transactions where the data is stored ahead of time.

With Ethereum, you can create a "contract" that emits "events" which automatically get added to a queryable database.

Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by williamcotton on Thursday October 15, 2015 @01:44PM (#10394678)
You're right, Bitcoin doesn't natively have a way to query a database, but here's an example of a how to read Blockcast transactions from the blockchain:

https://github.com/blockai/blockcast-state-engine/blob/maste...

The next step would be storing the results in a SQL database as we do with our production servers that maintain a queryable database of Open Publish registrations and transactions (Open Publish uses Blockcast for storing metadata on digital media assets).

https://github.com/blockai/openpublish-state

This is definitely a more piecemeal approach to creating smart contract applications than with Ethereum's one-stop-shop, but there are benefits to building on top of Bitcoin, especially for Open Publish, which uses native Bitcoin transactions for payments and royalties.

Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by grandalf on Thursday October 15, 2015 @12:41PM (#10394192)
can you comment on the relative complexity of using this kind of thing in Bitcoin vs just using ethereum...

Also the same question with respect to BIP65 and BIP112

Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by williamcotton on Thursday October 15, 2015 @01:25PM (#10394512)
Blockcast is incredibly easy to use!

All of the abstractions related to signing transactions and messages are handled by a wallet that adheres to the Common Wallet standard.

There is a Common Wallet adapter for the Bitcoin-QT/bitcoind JSON-RPC as well as a simple javascript native wallet that we mainly use for testing.

https://github.com/blockai/rpc-common-wallet https://github.com/blockai/test-common-wallet

Everything related to reading from and propagating to the blockchain are handled by any number of different Common Blockchain adapters. In theory they should all behave in exactly the same manner.

As well as supporting the JSON-RPC interface, there are a bunch of unofficial Common Blockchain adapters for services like Blockcypher and Chain.

https://github.com/blockai/rpc-common-blockchain https://github.com/andrewmalta13/blockcypher-unoffical https://github.com/andrewmalta13/chain-unofficial

You could be creating applications that are reading and writing from the blockchain without much hassle at all!

Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by aakilfernandes on Thursday October 15, 2015 @01:05PM (#10394354)
Depends on how much data you're trying to add to the blockchain. If its small enough to fit inside of a single OP_RETURN transaction, Bitcoin might be enough. Anything larger than that and Ethereum is a clear winner.

Another important thing to remember is that Bitcoin has a block time of 10 minutes. That means that once your user submits data to the blockchain, they need to wait ~5 minutes for even 1 confirmation.

Ethereum has a block time of 12 seconds.

Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by brighton36 on Thursday October 15, 2015 @01:31PM (#10394562)
Not necessarily. Miners who mine ethereum are mining for idealogical reasons, and lose money to do so. As the cost to support this mining increase (in part due to the size of the Ethereum chain) it's reasonable that they will stop mining (thus bringing security to the potato), and/or prune the blockchain and stop hosting for free.
Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by brighton36 on Thursday October 15, 2015 @01:32PM (#10394573)
As for the 12 second block time, that's a bug not a feature. If you don't know why, you should spend some time looking into it.
Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by aakilfernandes on Thursday October 15, 2015 @01:47PM (#10394699)
I did a quick google but didn't find anything. Mind giving me a link or at least a summary?
Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by brighton36 on Thursday October 15, 2015 @02:01PM (#10394810)
Here's a start: https://www.youtube.com/watch?v=n0fHpQV9wHo

tldr: longer reorgs and less energy mean less security. Which, is presumably the reason to even use a blockchain

Re:A protocol for storing up to 1277 bytes in the Bitcoin bl... by aakilfernandes on Thursday October 15, 2015 @09:25PM (#10396999)
A response from Vitalik with actual numbers https://www.reddit.com/r/ethereum/comments/38jiyv/are_ethere...

> Okay, fine, under normal conditions bitcoin blocks are 98% likely to be final but ethereum blocks are 80% likely to be final. However, six bitcoin blocks provide a one minus one in a billion finality guarantee (since 0.02 6 < 10-9) and 13 ethereum blocks provide that same guarantee (0.2 13 < 10-9), so it's still the case that what bitcoin provides in 60 minutes, ethereum provides in 156 seconds. Sure, not in six blocks, but it's a battle of linear versus exponential, so the more fine-grained you can make the single-block confirmation time the better.

There are also uncle rewards which mitigate the miner incentives.

I see benefits to both systems and longer block times are clearly more efficient, but since Ethereum is an application platform a 10 minute block time is untenable. It may be less efficient, but I don't think thats a nail in the coffin.