So this is basically a blockchain, but with transactions instead of blocks, and diverging-then-converging graph instead of a linear sequence of blocks (like a real family graph instead of just one-parent-one-child families common in blockchains). Looks nice, what are the problems with the approach? (the paper only lists the benefits).
There is no way to have a controlled release of new coins into the system. For that you need a blockchain that establishes a consensus on time transpired and on the total economic resources being contributed (which allows the share of the newly generated coins that each participant will receive in a unit of time to be proportional to the share of the total economic resources they are responsible for contributing). Th…
Show HN: Very basic blockchain-free cryptocurrency PoC in Python
61–70 of 72 posts
Re: Show HN: Very basic blockchain-free cryptocurrency PoC in Python
#62So this is basically a blockchain, but with transactions instead of blocks, and diverging-then-converging graph instead of a linear sequence of blocks (like a real family graph instead of just one-parent-one-child families common in blockchains). Looks nice, what are the problems with the approach? (the paper only lists the benefits).
There is no way to have a controlled release of new coins into the system. For that you need a blockchain that establishes a consensus on time transpired and on the total economic resources being contributed (which allows the share of the newly generated coins that each participant will receive in a unit of time to be proportional to the share of the total economic resources they are responsible for contributing). Th…
https://bitcointalk.org/index.php?topic=1992827.0
Cheers, Paul.
Re: Show HN: Very basic blockchain-free cryptocurrency PoC in Python
#63Reminds me of a cryptocurrency for the gift economy that I'm working on. Each coin is unique and valued subjectively by each person. https://github.com/jchris/document-coin
Holy shit, I've had an idea just like that in the past.
Re: Show HN: Very basic blockchain-free cryptocurrency PoC in Python
#64Earlier quoted context omitted.
There is no way to have a controlled release of new coins into the system. For that you need a blockchain that establishes a consensus on time transpired and on the total economic resources being contributed (which allows the share of the newly generated coins that each participant will receive in a unit of time to be proportional to the share of the total economic resources they are responsible for contributing). Th…
> There is no mechanism to link cost of proof of work generated to the value being transacted. With a blockchain, scarcity of space per block leads to a fee market forming, and fees paid increasing as the value contained per transaction increases. This leads to security (proof of work) increasing in proportion to value that needs to be protected. My understanding of proof of work is that it's used to limit the number…
Not really. The odds of an attacker successfully generating a double-spending block remain the same with a lower block interval. Many alternative cryptocurrencies have far shorter blocktimes: Litecoin has 2.5min blocktimes, and ethereum is less than 30 seconds IIRC, and they don't have problems with rampant double spends.
The problem with shorter blocktimes is that latency has a greater impact on mining profitability. A miner with a 600ms ping will lose ~0.1% of their revenue with a 10 minute blocktime, but will lose 2% of their revenue with a 30s blocktime.
This gives miners an incentive to centralize geographically to reduce their latency. No bueno!
Re: Show HN: Very basic blockchain-free cryptocurrency PoC in Python
#65Earlier quoted context omitted.
Stellar has nice properties, like a decentralised exchange built into the platform and native integration with existing financial institutions/other cryptocurrencies through anchors. But I would not say it's blockchain-free. They close a "block" every 5 seconds. Depends on what you consider a block. They use boring stuff like PostgreSQL to store the data instead of reinventing everything.
The innovation of blockchains is not on the how-to-store-things side, but how to keep a state of things every nodes agree with. Stellar can store data on Postgres because it is just a small database of how much money each account has at each ledger. Past ledgers can be erased from the database (which makes it not a blockchain in any sense anymore). Bitcoin has a history of all transactions organized in blocks not bec…
A block snake? That sounds catchy.
Re: Show HN: Very basic blockchain-free cryptocurrency PoC in Python
#66Earlier quoted context omitted.
I'm pretty sure you have way more control over "presentation" when you use HTML vs PDF.
No you don't, HTML has massive variation between devices and what software is used to display it. Try setting your screen resolution to 640x480 and opening a webpage or, even worse, modifying DPI. PDFs on the other hand specify exactly where to place each glyph (admittedly there is still variation between software but it's much more consistent).
If anything, a PDF designed for A4/letter is going to be cumbersome to read on a (probably rather small) 640x480 display.
The sad state of PDF rendering on (most) e-book readers should be evidence enough.
Re: Show HN: Very basic blockchain-free cryptocurrency PoC in Python
#67Earlier quoted context omitted.
Try reading the HTML version of Fielding's paper and tell me it looks better than the pdf. It might have been invented for that purpose, but that doesn't mean it's still suitable for it. When you are writing a paper, you want to control the presentation, not just the content.
I'm pretty sure you have way more control over "presentation" when you use HTML vs PDF.
Re: Show HN: Very basic blockchain-free cryptocurrency PoC in Python
#68Earlier quoted context omitted.
Number of new Bitcoins a day: 2063 [1] Transaction fees in Bitcoin: 272 [2] So transaction fees are not insignificant. 1: https://blockchain.info/charts/total-bitcoins July 6th data 2: https://blockchain.info/charts/transaction-fees July 6th data
That's total, not per block. Per block, fees average 0.9btc iirc. Transaction reward is 12.5 btc 0.9 is not insignificant, but compared with block reward, the true (current) incentive providing block security is not in question, and that is what was being discussed.
Re: Show HN: Very basic blockchain-free cryptocurrency PoC in Python
#69Earlier quoted context omitted.
> There is no mechanism to link cost of proof of work generated to the value being transacted. With a blockchain, scarcity of space per block leads to a fee market forming, and fees paid increasing as the value contained per transaction increases. This leads to security (proof of work) increasing in proportion to value that needs to be protected. My understanding of proof of work is that it's used to limit the number…
> If block creation intervals were lower it would compromise the security of the system and enable attacks with much less than 50% of the hash power. Not really. The odds of an attacker successfully generating a double-spending block remain the same with a lower block interval. Many alternative cryptocurrencies have far shorter blocktimes: Litecoin has 2.5min blocktimes, and ethereum is less than 30 seconds IIRC, and…
I based my statement on the following paper: Serialization of Proof-of-work Events: Confirming Transactions via Recursive Elections: https://eprint.iacr.org/2016/1159.pdf
Unfortunately, recent research has shown that the Nakamoto consensus has severe scalability limitations [6], [25], [11], [18]. Increasing the system’s throughput (either via an increase in block size or block creation rate) comes at the expense of security: Under high throughput, Nakamoto’s original guarantee no longer holds, and attackers with less than 50% of the computational power are able to disrupt the system. To avoid this, Bitcoin was set to operate at extremely low rates. The protocol enforces a slow block creation rate, and small block sizes, extending the blockchain only once every 10 minutes (in expectation) with a block containing up to 1 MB (roughly 2,000 transactions). Users must thus wait a long while to receive approval for their transfers.
Regarding litecoin: litecoin does have a lower block creation time of 2.5 minutes - however if you look at the average block size of litecoin it averages around 15kB, compared to ~950 kB of bitcoin (basically exhausting its 1MB limit): https://bitinfocharts.com/comparison/size-btc-ltc.html Considering the litecoin network operates way below its maximum capacity a double spending attack is indeed unlikely. However whether that security would hold up under full load remains to be seen.
Re: Show HN: Very basic blockchain-free cryptocurrency PoC in Python
#70Earlier quoted context omitted.
> If block creation intervals were lower it would compromise the security of the system and enable attacks with much less than 50% of the hash power. Not really. The odds of an attacker successfully generating a double-spending block remain the same with a lower block interval. Many alternative cryptocurrencies have far shorter blocktimes: Litecoin has 2.5min blocktimes, and ethereum is less than 30 seconds IIRC, and…
> Not really. The odds of an attacker successfully generating a double-spending block remain the same with a lower block interval. Many alternative cryptocurrencies have far shorter blocktimes: Litecoin has 2.5min blocktimes, and ethereum is less than 30 seconds IIRC, and they don't have problems with rampant double spends. I based my statement on the following paper: Serialization of Proof-of-work Events: Confirming…
If you're interested in how big the delay is you can check this out, it's cited to the paper you linked me and I found it helpful.