Bitcoin Forum
November 23, 2017, 10:09:56 PM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 3 4 »  All
  Print  
Author Topic: The size of the blockchain...  (Read 3806 times)
Peter R
Legendary
*
Offline Offline

Activity: 1064



View Profile
May 01, 2014, 10:43:10 PM
 #1

…is pretty small.  It fits on the tip of a finger with enough space (46 GB free, 18 GB used) to grow for another 1-3 years.  





This got me thinking: does anyone have bitcoind running on an ARM processor?  It seems it should be possible to create a "bitcoin node" based on an ARM processor, a microSD card, and a simple ethernet interface IC.   The entire node would be only slightly larger than the RJ-45 connector on the mating ethernet cable.


(Yes, I know about raspberry-pis, but this would be vastly smaller, cheaper.)  


Run Bitcoin Unlimited (www.bitcoinunlimited.info)
1511474996
Hero Member
*
Offline Offline

Posts: 1511474996

View Profile Personal Message (Offline)

Ignore
1511474996
Reply with quote  #2

1511474996
Report to moderator
1511474996
Hero Member
*
Offline Offline

Posts: 1511474996

View Profile Personal Message (Offline)

Ignore
1511474996
Reply with quote  #2

1511474996
Report to moderator
1511474996
Hero Member
*
Offline Offline

Posts: 1511474996

View Profile Personal Message (Offline)

Ignore
1511474996
Reply with quote  #2

1511474996
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1511474996
Hero Member
*
Offline Offline

Posts: 1511474996

View Profile Personal Message (Offline)

Ignore
1511474996
Reply with quote  #2

1511474996
Report to moderator
1511474996
Hero Member
*
Offline Offline

Posts: 1511474996

View Profile Personal Message (Offline)

Ignore
1511474996
Reply with quote  #2

1511474996
Report to moderator
telepatheic
Jr. Member
*
Offline Offline

Activity: 56

Get off the web. Go do something in meatspace!


View Profile
May 01, 2014, 10:54:13 PM
 #2

Quote
does anyone have bitcoind running on an ARM processor?

People have got it running on raspberry pis. The amount of memory (RAM) you require is the main problem.
skooter
Member
**
Offline Offline

Activity: 70


View Profile
May 01, 2014, 10:57:54 PM
 #3

Quote
does anyone have bitcoind running on an ARM processor?

People have got it running on raspberry pis. The amount of memory (RAM) you require is the main problem.

Yeah, storing the data is no prob. You can't use it without a lot of RAM though.
durrrr
Sr. Member
****
Offline Offline

Activity: 336


Flixxo - Watch, Share, Earn!


View Profile
May 01, 2014, 10:58:58 PM
 #4

I don't understand what u mean here won't the memory stick always be the same size and shouldn't change?

X       ▄▄█████████▄▄
    ▄██▀▀         ▀▀██▄
  ▄██▀              ▀██▄
 ▄██     ██▄▄          ██▄
▄██      █████▄▄        ██▄
██       ████████▄▄      ██
██       ███████████▄    ██
██       ██████████▀     ██
▀██      ███████▀       ██▀
 ▀██     ████▀         ██▀
  ▀██▄   █▀          ▄██▀
    ▀██▄▄         ▄▄██▀
       ▀▀█████████▀▀
.flixxo    X▄████████████████████▄
██████████████████████
██████████████████████
████████████▀▀███████
█████▀████░░░░░░▄████
█████░░░░░░░░░░▄█████
█████▄░░░░░░░░░░██████
██████░░░░░░░░░███████
███████░░░░░░▄████████
████▄▄░░░░▄▄██████████
██████████████████████
██████████████████████
▀████████████████████▀
▄████████████████████▄
██████████████████████
█████████▀█▀██████████
██████▀▀▀▀▀████████
██████▄▄░░▄▄▄░░███████
████████░░███░░███████
████████░░░░░░▀███████
████████░░███▄░░██████
██████▀▀░░▀▀▀░░░██████
██████▄▄▄▄▄▄███████
█████████▄█▄██████████
██████████████████████
▀████████████████████▀
X[[]]X
Peter R
Legendary
*
Offline Offline

Activity: 1064



View Profile
May 01, 2014, 11:12:27 PM
 #5

Quote
does anyone have bitcoind running on an ARM processor?

People have got it running on raspberry pis.

Thanks.  I do know about the raspberry pis, but I'm thinking even smaller: a tiny little custom board with only the bare minimum hardware required to run bitcoind.  Perhaps the ARM processor could still run linux, or perhaps in the future we could write a version of bitcoind that implemented its own simple OS (as is commonly done for DSP projects).  


Quote
The amount of memory (RAM) you require is the main problem.

I suppose you need enough RAM to pool the unconfirmed transactions, right?  A 64 MB chip could hold around 100,000 TXs.   Here's a 64 MB SDRAM chip that is only 6mm x 8mm in size and costs about $1.50: http://www.digikey.com/product-detail/en/AS4C4M16S-6BIN/1450-1077-ND/4531924

Run Bitcoin Unlimited (www.bitcoinunlimited.info)
skooter
Member
**
Offline Offline

Activity: 70


View Profile
May 01, 2014, 11:17:38 PM
 #6

Quote
does anyone have bitcoind running on an ARM processor?

People have got it running on raspberry pis.

Thanks.  I do know about the raspberry pis, but I'm thinking even smaller: a tiny little custom board with only the bare minimum hardware required to run bitcoind.  Perhaps the ARM processor could still run linux, or perhaps in the future we could write a version of bitcoind that implemented its own simple OS (as is commonly done for DSP projects).  


Quote
The amount of memory (RAM) you require is the main problem.

I suppose you need enough RAM to pool the unconfirmed transactions, right?  A 64 MB chip could hold around 100,000 TXs.   Here's a 64 MB SDRAM chip that is only 6mm x 8mm in size and costs about $1.50: http://www.digikey.com/product-detail/en/AS4C4M16S-6BIN/1450-1077-ND/4531924

bitcoin QT can sometimes use upwards of 1 GB of RAM.
Mobius7
Hero Member
*****
Offline Offline

Activity: 539



View Profile
May 01, 2014, 11:21:11 PM
 #7

I don't understand what u mean here won't the memory stick always be the same size and shouldn't change?

What memory stick? OP was talking about ARM processor and microSD card.

Peter R
Legendary
*
Offline Offline

Activity: 1064



View Profile
May 01, 2014, 11:21:48 PM
 #8

bitcoin QT can sometimes use upwards of 1 GB of RAM.

Well there's your problem skooter up there in bold.  We are talking about a custom implementation of bitcoind to create a tiny and low-cost bitcoin node.  We don't even need a wallet implementation, and we definitely don't need the QT GUI (there's no display lol).

Run Bitcoin Unlimited (www.bitcoinunlimited.info)
telepatheic
Jr. Member
*
Offline Offline

Activity: 56

Get off the web. Go do something in meatspace!


View Profile
May 01, 2014, 11:34:02 PM
 #9

Quote
bitcoin QT can sometimes use upwards of 1 GB of RAM.

With some custom settings to limit what gets held in memory, you could get this down to less than 10MB, but it would require a fair bit of work.
cypherdoc
Legendary
*
Offline Offline

Activity: 1764



View Profile
May 01, 2014, 11:43:36 PM
 #10

bitcoin QT can sometimes use upwards of 1 GB of RAM.

Well there's your problem skooter up there in bold.  We are talking about a custom implementation of bitcoind to create a tiny and low-cost bitcoin node.  We don't even need a wallet implementation, and we definitely don't need the QT GUI (there's no display lol).

bitcoind requires at least 1GB of RAM and usually more.
Soros Shorts
Donator
Legendary
*
Online Online

Activity: 1603



View Profile
May 01, 2014, 11:47:47 PM
 #11

Quote
bitcoin QT can sometimes use upwards of 1 GB of RAM.

With some custom settings to limit what gets held in memory, you could get this down to less than 10MB, but it would require a fair bit of work.
Whatever work is done must not slow down the speed at which the node works. You would be doing the network a disservice if your node took a long time to validate and relay messages and blocks because of your low memory footprint and under-powered CPU configuration.
Peter R
Legendary
*
Offline Offline

Activity: 1064



View Profile
May 01, 2014, 11:58:27 PM
 #12

bitcoind requires at least 1GB of RAM and usually more.

Thanks Cypherdoc.  I am trying to make sense of this: is this because bitcoind is loading the unspent outputs into RAM for faster checking?  My intuition is still telling me that for a custom implementation I just need enough RAM to comfortably pool the unconfirmed transactions.

Run Bitcoin Unlimited (www.bitcoinunlimited.info)
Peter R
Legendary
*
Offline Offline

Activity: 1064



View Profile
May 02, 2014, 12:53:10 AM
 #13

Quote
bitcoin QT can sometimes use upwards of 1 GB of RAM.

With some custom settings to limit what gets held in memory, you could get this down to less than 10MB, but it would require a fair bit of work.
Whatever work is done must not slow down the speed at which the node works. You would be doing the network a disservice if your node took a long time to validate and relay messages and blocks because of your low memory footprint and under-powered CPU configuration.

I think people underestimate how powerful low-cost DSPs have become.  For example, C. Gouvea was able to verify secp256k1 ECDSA signatures in 700 ms using an ultra-lower power 16-bit microcontroller running at a only 8 MHz (and available in a tiny 3 x 3 mm package size).  Even very cheap ARM-core processors ($2 - $4) will typically run at ~150 MHz (and with 32-bit registers).  So let's say signature verification for each received TX takes no more than 20 ms, at which point you can relay the transaction to your other peers.  This seems perfectly acceptable to me.  

The only other issue I can think of is RAM, but I don't see why you can't store the unspent outputs in the SD card itself (new SD cards permit reads in excess of 30 MB/s so I think the time it takes to cross check the outputs in a TX with the blockchain unspent outputs stored in flash will be short compared to the signature verification times [20 ms]).  It seems you just need sufficient RAM to pool the unconfirmed transactions (and some overhead to accept new blocks, etc), so upon first glance the 6x8mm 64 MB IC for $1.50 seems sufficient for this purpose.  

I think such a bitcoin node would be useful if it could be made only a few cm in dimensions, cost less than $10-$15 excluding the SD card, and be trivial to set-up.  

  


Run Bitcoin Unlimited (www.bitcoinunlimited.info)
Meuh6879
Legendary
*
Offline Offline

Activity: 1442



View Profile
May 02, 2014, 01:00:56 AM
 #14

Quote
bitcoin QT can sometimes use upwards of 1 GB of RAM.

With some custom settings to limit what gets held in memory, you could get this down to less than 10MB, but it would require a fair bit of work.

yes ... and it's very simple : decrease "cache" setting from 100MB to 10MB for example.
i must do this on my dedicated P2P server (because many others tasks work with bitcoin-QT in mode setting).
cypherdoc
Legendary
*
Offline Offline

Activity: 1764



View Profile
May 02, 2014, 01:05:13 AM
 #15

bitcoind requires at least 1GB of RAM and usually more.

Thanks Cypherdoc.  I am trying to make sense of this: is this because bitcoind is loading the unspent outputs into RAM for faster checking?  My intuition is still telling me that in a custom implementation I just need enough RAM to comfortably pool the unconfirmed transactions.

i'm not sure what's filling up the RAM altho UTXO sounds like a reasonable guess.

according to David Schwartz, bitcoind requires around 650MB.  sounds about right.  see here:

http://bitcoin.stackexchange.com/questions/8400/to-what-is-bitcoind-memory-usage-bound

and here:

https://bitcointalk.org/index.php?topic=313321.0

here's a top from one of my vps's:

skooter
Member
**
Offline Offline

Activity: 70


View Profile
May 02, 2014, 02:00:30 AM
 #16

Quote
bitcoin QT can sometimes use upwards of 1 GB of RAM.

With some custom settings to limit what gets held in memory, you could get this down to less than 10MB, but it would require a fair bit of work.
Whatever work is done must not slow down the speed at which the node works. You would be doing the network a disservice if your node took a long time to validate and relay messages and blocks because of your low memory footprint and under-powered CPU configuration.

I think people underestimate how powerful low-cost DSPs have become.  For example, C. Gouvea was able to verify secp256k1 ECDSA signatures in 700 ms using an ultra-lower power 16-bit microcontroller running at a only 8 MHz (and available as in a tiny 3 x 3 mm package size).  Even very cheap ARM-core processors ($2 - $4) will typically run at ~150 MHz (and with 32-bit registers).  So let's say signature verification for each received TX takes no more than 20 ms, at which point you can relay the transaction to your other peers.  This seems perfectly acceptable to me.  

The only other issue I can think of is RAM, but I don't see why you can't store the unspent outputs in the SD card itself (new SD cards permit reads in excess of 30 MB/s so I think the time it takes to cross check the outputs in a TX with the blockchain unspent outputs stored in flash will be short compared to the signature verification times [20 ms]).  It seems you just need sufficient RAM to pool the unconfirmed transactions (and some overhead to accept new blocks, etc), so upon first glance the 6x8mm 64 MB IC for $1.50 seems sufficient for this purpose.  

I think such a bitcoin node would be useful if it could be made only a few cm in dimensions, cost less than $10-$15 excluding the SD card, and be trivial to set-up.  

  



I think write endurance would be an issue if you're trying to use an SD card as RAM.
Peter R
Legendary
*
Offline Offline

Activity: 1064



View Profile
May 02, 2014, 02:22:00 AM
 #17

I think write endurance would be an issue if you're trying to use an SD card as RAM.

We aren't talking about using a SD card for RAM.  The SD card would be used to store the blockchain, update the blockchain with new blocks, update the unspent outputs each block, and bootload code segments of the bitcoin binary.  Typically, flash memory is rated between 100,000 - 1,000,000 write/erase cycles (2 - 19 years if cycles happen every 10 min) and that's always writing the same segment over and over.  With intelligent disk management to avoid "hot spots," this could be greatly increased.  So I would expect even low-grade memory cards to last many years.

But skooter you don't really care about what we are talking about anyways, as can be verified by your post history as a troll and the glaring red warning in your profile (EDIT: suggesting you are also a scammer).  





Run Bitcoin Unlimited (www.bitcoinunlimited.info)
Lauda
Legendary
*
Offline Offline

Activity: 1680


GUNBOT Licenses -15% with ref. code 'GrumpyKitty'


View Profile WWW
May 02, 2014, 11:58:14 AM
 #18

We aren't talking about using a SD card for RAM.  The SD card would be used to store the blockchain, update the blockchain with new blocks, update the unspent outputs each block, and bootload code segments of the bitcoin binary.  Typically, flash memory is rated between 100,000 - 1,000,000 write/erase cycles (2 - 19 years if cycles happen every 10 min) and that's always writing the same segment over and over.  With intelligent disk management to avoid "hot spots," this could be greatly increased.  So I would expect even low-grade memory cards to last many years.

But skooter you don't really care about what we are talking about anyways, as can be verified by your post history as a troll and the glaring red warning in your profile.


Quote
Trade with caution. User interested in generating double spends and willing to share profits with miners to defraud others.
This is why he was negative trust rating. That doesn't tell you if someone is a troll or not.
Also the blockchain has grown over the past years but it will be growing at an increasing rate.


▄██████████████████
███████████████████
███████████████████
█████████████████
███████████████
████████████████
████████████████
█████████████████
███████████████████
████████████████████
█████████████████████
▀████████████████████
Bazista®
██ █  ██ ██
██   ██  ██
██  ██   ██
██ ██  █ ██
██ █  ██ ██
██   ██  ██
██  ██   ██
██ ██  █ ██
██ █  ██ ██
██   ██  ██
██  ██   ██
██ ██  █ ██

██ █  ██ ██
██   ██  ██
██  ██   ██
██ ██  █ ██
██ █  ██ ██
██   ██  ██
██  ██   ██
██ ██  █ ██
██ █  ██ ██
██   ██  ██
██  ██   ██
██ ██  █ ██
|||
vpitcher07
Sr. Member
****
Offline Offline

Activity: 343


View Profile
May 02, 2014, 12:33:14 PM
 #19

I'm not so concerned of the size of the blockchain once it's downloaded. What's more concerning is the bandwidth required to download it. Internet speed (for most) is not keeping pace with the increase in size of harddrives. I personally just got 1MB/s at home and I have cable. That's still a large amount of time to download a 17(?) gig file. Not to mention data caps.

Bitcoin: The currency of liberty
1HBJSf3Lm9i8KxjZ7fuoN9FJ8hniniFbv4
FeedbackLoop
Hero Member
*****
Offline Offline

Activity: 742



View Profile
May 02, 2014, 12:50:57 PM
 #20


This got me thinking: does anyone have bitcoind running on an ARM processor?  It seems it should be possible to create a "bitcoin node" based on an ARM processor, a microSD card, and a simple ethernet interface IC.   The entire node would be only slightly larger than the RJ-45 connector on the mating ethernet cable.


Would be great if someone mounted and sold those for the lazy people who would like to run a full node at lost cost and low work like me Tongue.

Pages: [1] 2 3 4 »  All
  Print  
 
Jump to:  

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!