Bitcoin Forum
August 21, 2019, 03:18:49 PM *
News: Latest Bitcoin Core release: 0.18.0 [Torrent] (New!)
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Development & Technical Discussion / Block-Size Proposal: "Pruning Blocks" on: March 03, 2016, 10:59:08 PM
The Block-Size Problem

The main concern with raising the block-size limit is that the blockchain will grow at an unsustainable rate that nodes will eventually not be able to support.  Thus, the currently 60GB blockchain will eventually become 1TB, 100TB, and more as adoption grows, and this will be accelerated with an increased block-size.

However, in order for a currency to be useful people MUST be able to spend it.  The artificial 1MB block-size limit puts a cap on this, and so because of the growth we will soon hit this artificial barrier, at which point it will not be possible for everyone who wants to perform a transaction to be able to perform a transaction regardless of the fees paid.  This is good for miners in the short-term because fees will be driven up, but bad for both them and the Bitcoin economy because again, a currency is ONLY useful if you can spend it.

There is no way around keeping the entire transaction history of the world in the blockchain, and there is no way around that it will be massive if world-wide adoption happens.  Satoshi knew this that and believed Moore's law would let technology improve fast enough where storage space for the entire chain would not be an issue for those wanting to run full nodes, and I believe he's correct.  However, if Bitcoin is widely adopted only an elite group of full nodes dedicated to this will be able to handle this amount of data.*

Satoshi knew this, and so in his original paper he foresaw that most clients would not care about the entire transactional history of the world, and would instead only care about the values in each account.  Thus, he mentioned the concept of nodes "pruning" the blockchain.  However, his idea was that this pruning process would be off the blockchain, and so currently to prune the chain you must either download the entire chain and prune it yourself or download the pruned chain from a trusted source.  Since a main design principle of Bitcoin is that it tries to eliminate the need for trust, any node who agrees with this must download the full chain, validate it, and prune it.

"Pruning Blocks" Proposal
Add a special block at regular intervals into the blockchain called the "Pruning Block".  This block will eliminates the need to download or keep the entire chain for partial nodes, but still gives them a very similar level of trust as downloading the full chain.

Pruning Block Requirements

1.  The Pruning Block shall be a special block that occurs every X blocks
  a.  X shall be determined by votes from the community.  For example, to have the pruning block approximately once per week it could start at 6 * 24 * 7 = 1008
2.  The Pruning Block shall contain the regular transaction information so as not to disrupt normal business
3.  The Pruning Block shall contain an appended list of all addresses that contained a balance along with the associated balance as of the previous block.**
  a.  The amended balances shall NOT be included in the calculation of the hash of the block***
  b.  The hash of the amended balances SHALL be included in the block***
  c.  The hash of the amended balances SHALL be included in calculation of the hash of the block***
  d.  The balances shall not take into account the transactions for this pruning block***
4.  The Pruning Block shall only be accepted by clients if it matches all of the regular block requirements plus the aforementioned requirements. 
  a.  The block-size cap shall not consider the appended list of balances in its block-size calculation

The main problem with this is if someone maliciously inflates the number of addresses to increase the size of the pruning blocks.  For example, they could take 10 bitcoins and split them into 1 billion addresses with 1 satoshi in each as an attack, which would blow the pruning block size from 13.5MB to 27GB.  This would normally be prevented because of transaction fees and block-size caps.  However, if the block-size cap was removed completely and the attacker mined a block and sent the transactions through with zero-fees, this would be theoretically possible.  In the process of doing this they would be hurting themselves, as they would not only be throwing money away, but also devaluing the currency they are significantly invested in with their mining operation (as it takes a lot of power to mine a block nowadays).  However, because of this problem it is recommended that the block-size limit be removed entirely. 

Results on blockchain
If Pruning Blocks were implemented today, the effect on the entire blockchain size would be minimal.  For example, if we assume the current max block-size of 1MB was used for each block, the Pruning Block would be about 14.5MB**.  If the pruning block was set to occur weekly (every 1008 blocks), the growth-rate of the blockchain would be only 1.34% faster than without pruning blocks (1021.5MB/week vs 1008MB/week).  Thus, full nodes would only be affected by this change by a small amount.

However, the effect for partial nodes is very noticeable.  Instead of downloading the full 60GB blockchain and pruning, miners would only need to download blocks back to the last pruning block.  With 1MB block sizes and a pruning block weekly, this would range anywhere from .0145GB to 1.0215GB.  Furthermore, once the next valid pruning block arrives, the node can clear out all the previous blocks.  In this way the storage requirements for the pruned blockchain will be much more manageable and consistent, as they would only grow when Bitcoin adoption/use increases.

More importantly, this solution will remove many of the concerns about raising the artificial block-size limit.  This is because storage/download requirements for nodes will no longer be based on the number of transactions in the history of the world, but instead be based on the number of addresses with a balance and a small subset of recent transactions.  This will lend itself to nodes being much more willing to accept larger and larger transaction blocks, as they only need to keep them until the next pruning block.  For example, 60GB is very low upper-limit for current storage requirement for each node, as that is what full nodes are storing right now, and also what untrusting partial nodes must initially download.  To get this value for partial nodes, the maximum block-size can be set to 50MB, which would allow the current Bitcoin ecosystem to be able to process 50 times more transactions than it supports today, while at the same time putting no extra memory burden on the existing nodes of today.

*If all 7.125 billion people averaged 1 transaction per day at 500 bytes/transaction (the current average), the blockchain size would increase by 3.5625 TB daily

**A bitcoin address is 20 bytes (160 bits), and you can currently have anywhere from 1 satoshi to 21,000,000BTC, which can be represented without loss as 7 bytes, so optimally you can store the current balance of one address with 27 bytes per address, or the balance of all addresses with 27*numAddresses.  Currently there are about 500,000 addresses, which would yield a minimum pruned block size of 13.5MB.  Carrying this forward, if everyone in the world had bitcoin addresses that would be 7.125 billion * 27 bytes = 192.375 GB.  That may seem large, but to put things into perspective, if everyone averaged 1 transaction/day the blockchain would grow by over 18 times that amount daily (3.5625 TB*).

***These requirements are included for performance reasons to make it less expensive when adding new transactions to the pruning block.  Following these requirements gives you the ability to add a transaction without needing to include or recalculate the full balance information of the world to calculate your new block hash.
2  Economy / Speculation / Who is the dead cat? on: July 01, 2015, 04:01:57 PM
Is Bicoin the dead cat bouncing?

Or is fiat the dead cat bouncing?

Who is the dead cat?

3  Economy / Speculation / Newbie "Impending Doom" Post Speculation on: May 21, 2015, 03:28:57 PM

Monday 6/15 - Sunday
6/16 - Bitcoin is dropping back to sub $220

Monday 6/8 - Sunday 6/14:
Wasn't watching closely.
Monday 6/1 - Sunday 6/7:
*6/5 - Moar and Biggar Crash Incoming!
6/1 - Fucking bitcoin ponzi scheme!
6/1 - Winklevoss Twins Help US! I don't want to lose everything!

5/21 15:28 - 5/31 (extended to Sunday 5/31 since forum was down 5/21-5/25):
*5/31 - Big crash has begun!
*5/31 - Crash, crash, crash!
5/27 - Another 10k drops, sub 100$ guaranteed! (Technically it was their 6th post, but all posts were on 5/27 so I'm counting it)
*5/27 - Big crash tomorrow!

5/15 - start of thread:
5/21 - Bitcoin can only drop from here
5/19 - Condolences to the bitcoin die hards
5/19 - Only pre-existent bitcoin bag holders are buying on GBTC & XBT
5/18 - XBT failed to be something matter again!
*5/18 - A big crash this week!
5/16 - Nasdaq is not going to use Bitcoin
5/16 - sub 230$ tonight?
5/15 - You are a bitcoin ponzi victim !

*Close calls (not 1-post users, but 100% warning and 0% substance)
4  Economy / Speculation / Goxxed out, Back in on: April 20, 2015, 09:41:10 PM
After sitting back and watching for over a year, I'm back in.

When I told a friend who was burned heavier by Mt. Gox than I, he said "Yuck!  The idea makes me a bit sick to my stomach, but in a way I'm oddly proud of you."

So why am I back in?

For a $1,000 investment, I will forever be among the wealthiest 5 million Bitcoin owners in the world as long as I hold.

That may not sound like much, but by comparison, there are 12 million millionaires in the world.  Put another way I own more Bitcoin than 99.928% of the people of the world could ever theoretically own at one time.

Yes, Bitcoin may drop lower, but so might the buying power of a dollar

Yes, web interest has been constant for the last year, but it's holding at about 50% higher than the summer of 2013 when the price was $100-$150.  And yes, I know that 1.5x the old price would put us slightly below where we are currently at ($150-$225), but I'd rather buy now and have it drop there or even lower than wait for the price to drop to that range and never get back in.

Yes, the USD transaction volume has remained fairly constant for the last year, but the number of transactions per day has shown consistent growth.

Yes, it could drop to $0 and I just lost $1000 bucks, but at the same time I know there are others just like I have been:  Sitting, waiting, biding their time until something "clicks" and they are ready to get back in or buy in for the first time.  And as they come, so will the price.  And as the price comes, so will the interest.  And as the interest comes, hopefully the infrastructures will be battle-hardened enough to be able to handle it this time.  And if the infrastructures are able to handle it, we might just make it across The CHASM.  And I doubt that even the blackest bear would want to miss out on something as monumental as that...
5  Alternate cryptocurrencies / Altcoin Discussion / GoxCoin: Restoring the honest ledger on: March 02, 2014, 02:56:24 PM
I was “goxed” out of 3.97221907 Bitcoins.  My friend Jason was “goxed” out of about 20+ Bitcoins.  Some users were “goxed” out of 100’s or even 1000’s of Bitcoins.  GoxCoin is an attempt to restore the honest ledger.

When it comes down to it, Bitcoin is a glorified ledger.  What does the bankrupt exchange Mt. Gox have?  A ledger of who should own Bitcoins.  Thus, if we started an altcoin with a pre-initialized ledger to the values of Gox when it folded, users who had the possibility of getting nothing will now have GoxCoins.  Because users know how valuable they should be, they will not get rid of them very easily.  Thus, this will give GoxCoins immediate value.

The starting value of a GoxCoin address
At the end, the price of a Bitcoin on Mt. Gox was a fraction of the price of a Bitcoin on other exchanges, as many correctly foresaw that Gox was short on Bitcoins.  Thus, do we penalize these people for being smart and converting to cash and not reward them with coins?  No!  Thus, the starting value in goxCoins of each Mt. Gox user’s account will be set to the total value of each user’s account converted to Bitcoins based on the world price index at the time when Mt. Gox announced bankruptcy.

What do we need?
We need an anonymized ledger of the ending account values.  This requires cooperation from Mt. Gox.  We need 2 things from them: 

1) A way for users to specify the public address they would like their goxCoins deposited. 
  • This can be as simple as allowing users to login and then a single field to collect the public address you want your goxCoin funds deposited into (same address protocol as the Bitcoin protocol)
2) The account ledger anonymized based on the provided addresses.
  • This would consist of entries like:
    • Address:  <goxCoinAddress>
      • BTC:  4BTC
      • USD:  1234.56
      • EUR:   4321.09
3) A modified client to work with the GoxChain

What coin model do we use?
Bitcoin.  GoxCoins should be at least as rare as a Bitcoin, as that is what they initially were supposed to be equal to.  Thus, GoxCoins should be produced at approximately the same rate as bitcoins.  Thus, instead of starting the block reward at 50, we start it at 25 and set it to the same block number as bitcoin so that it halves approximately when Bitcoin does.  This will mean less GoxCoins in the end, but will keep the inflation rate the same as Bitcoin. 

How do we start?
1) The anonymized goxCoin ledger is published.
2) The format for the first block is finalized.  This will include at least the following information:
  • The initial bitcoin balance of every address
  • The initial fiat balance of every address
  • The accepted fiat/btc exchange rates for all currencies at the time of bankruptcy for Mt Gox
  • The starting goxCoin value of every address
    • Calculated based off of 1, 2, & 3
  • The starting difficulty
    • A pre-agreed upon initial difficulty.
  • The Bitcoin Block (GoxBlock) #
    • An agreed upon future block number to start the GoxCoin protocol with.
    • This will also be the block number of GoxCoin, which will cause them to be created at a similar rate to bitcoin.
  • The Bitcoin Block’s Hash
    • The hash of the agreed upon block number
3) When the GoxBlock is found on the Bitcoin chain, miners will incorporate that block’s hash into the first block, and thus be able to start mining on the GoxCoin chain using the same protocol as the bitcoin chain.

This all spawned from a dream I had last night so it is still very rough.  Let me know if anyone is interested.
6  Economy / Service Discussion / Mt Gox: Last Known Successful USD Withdrawal to a US bank = 07/03/2013 on: January 28, 2014, 06:02:11 PM
I'm sick of looking through hundreds of pages to find how far Gox is behind on US withdrawals.  

If you receive a successful withdrawal or see a screenshot of one that was requested on a more recent date, please post:
  • The screenshot of the Gox account with the successful transaction (text only withdrawal dates will be ignored).
  • Anything you thought helped your transaction get processed (e.g. 5% acceleration fee, emails, phone calls w/ numbers, I am Mark's best friend, etc.).

If a subsequent post (not including this one) helps you get your cash, please consider tipping the poster and posting an update here with your success story so we can keep this up to date.

This is the latest one I could find:


Yes, I even blacked out the "Help" flag.

Now, can we all settle down?

7  Economy / Economics / [POLL] mBit or mBTC for "MilliBit"? on: January 22, 2014, 06:16:03 PM
MilliBit was the community-accepted term for .001BTC back in 2011.  

However, most new people seeing the current abbreviation "mBTC" will pronounce it "milli-Bitcoin" or "Em-Bee-Tee-Cee", both of which are clunky.  

I think using the abbreviation "mBit" instead of "mBTC" will help "milliBit" catch on as the next base unit for Bitcoin.

  • If you don't know how to pronounce it, you'll likely say "Em-bit" or "MilliBit", both of which are succinct and one of which is correct.
  • Even if you haven't seen it before, it's easy to figure out (e.g. I'll give you 25mBits for 2 large stuffed-crust pepperoni & green olive pizzas).
  • µBit and nBit work too
  • Most people still talk of BTC prices in BTC, so there is still time to change.
  • This term will help newcomers understand that bitcoins are divisible.
  • BTC is currently abbreviated BTC
  • "We've never done it this way before."

Change is slow.  However, if we've learned anything from HODL and the history of bitcoin, this doesn't have to apply to Bitcoiners.  

Your part:
The next time you mention a Bitcoin price, please consider quoting the amount in mBits.

Poll Updates:
I'm not going to reset the votes when an option is added.  Instead, I'll list the current votes when I add an option.
  • mBT was added when the vote was:  mBTC=12, mBit=6, other=?
8  Economy / Economics / Should I invest in the dollar? on: November 11, 2013, 09:35:56 PM
So I've been hearing a lot lately about a currency called the "US Dollar" but I'm really hesitant to invest in it at the moment.  For those of you that don't know, "dollars" are pieces of paper printed by a centralized authority called the "Fed", which distributes these "dollars" by purchasing Government bonds that keep the government and its people permanently indebted to the Fed.  Also, dollars used to be backed by gold, but now nothing really backs them except tradition as far as I understand.

Economically speaking, the dollar started the year at 1/15BTC, which was pretty good at the time, but it then hit an all time low of 1/395BTC on Mt. Gox last Friday.  I was thinking that maybe it could be a low and a great time to get in, but I find it a bit scary.  Especially when considering that the dollar has lost over 96% of its value over the past year, and the government associated with it is arguably the most fiscally irresponsible organization in the history of the world.  

However, it did great at the end of last April and part of this last weekend.  Oh, and it was kinda decent in June too.  I just don't know...  

Whatever shall I do?
9  Bitcoin / Mining speculation / Selfish Pool Watch on: November 08, 2013, 06:03:44 PM
I think we can all agree that a centralized one-world mining pool is something to avoid.  Thus, let's use this thread as a place to mark potential selfish-pools before they gain too much momentum to be stopped.  

Warning Signs:  (Here are some warning signs that a pool has started using the Selfish Mining Protocol)
1) Drop in the blocks produced by the selfish pool as they build up their private chain and submit more orphan blocks in the beginning.  
2) Increase in orphan blocks by honest pools as the selfish pool releases their private block(s) immediately after the honest block was mined.
3) Drop in the global hash rate as consequences of #1 and #2.
4) Increase in the proportion of sequential blocks submitted by the selfish pool as they submit multiple blocks at a time to stay ahead of honest blocks.
5) Potential candidates should have had >= 25% of the network before going selfish.

1) What other indicators can we look for?  
2) Do you see signs that a pool is currently selfish-mining?  
3) What can we do if it becomes clear that a pool is selfish mining to prevent them from coming into power?  I.E. What are the best arguments to convince a miner to move from a selfish-mining pool to a (temporarily) less-profitable honest pool?

Let us be watchful!
Pages: [1]
Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!