The Distribution of Bitcoin users
I wanted to get an idea of the distribution of bitcoin clients throughout the world. While bitcoin is a distributed network clients current connect to a central IRC channel to find initial peers. I connected an IRC client to the channel and monitored connections for a couple of days. I then ran the results through a geoip lookup tool.
The 10 countries with the most bitcoin clients are:
Position | Count | Country |
1 | 2769 | US, United States |
2 | 868 | DE, Germany |
3 | 518 | RU, Russian Federation |
4 | 478 | GB, United Kingdom |
5 | 368 | CA, Canada |
6 | 332 | PL, Poland |
7 | 227 | CN, China |
8 | 227 | AU, Australia |
9 | 179 | SE, Sweden |
10 | 171 | UA, Ukraine |
I was slightly surprised to see that the US was so far ahead to everyone else. Also to find that Japan was so far down the list, considering the technology is said to have originated there, and that the largest bitcoin exchange is hosted there.
Notes
The irc log file contains lines which look like this:
10:25 -!- u4qBM3jsFJbVbpo [[email protected]] has quit [Ping timeout: 600 seconds] 10:25 -!- u5R1WUESwqDJAH4 [[email protected]] has quit [Ping timeout: 600 seconds] 10:25 -!- uCj5PhnxQtuXvRE [[email protected]] has quit [Ping timeout: 600 seconds] 10:25 -!- u5vMMajjqPPNxqT [[email protected]] has joined #bitcoin 10:25 -!- uDEdr5uhnbT2e4f [[email protected]] has quit [Ping timeout: 600 seconds] 10:26 -!- uAiz7fBo8XnZZ1i [[email protected]] has quit [Ping timeout: 600 seconds] 10:26 -!- u5jSfdNqpwjJ9eV [[email protected]] has quit [Ping timeout: 600 seconds] 10:26 -!- u7LamexRgFDoHdu [[email protected]] has quit [Ping timeout: 600 seconds] 10:26 -!- u69NdViycJWVKYm [[email protected]] has joined #bitcoin 10:26 -!- u4W2ih7yRg7TH72 [[email protected]] has joined #bitcoin 10:26 -!- uB2dfUQ2HC94KkT [[email protected]] has joined #bitcoin 10:26 -!- u6NXdjDMZoatVNi [[email protected]] has quit [Ping timeout: 600 seconds] 10:26 -!- uBrRc777VmroaKp [[email protected]] has quit [Ping timeout: 600 seconds] 10:26 -!- u7yETCjt7iCtDL1 [[email protected]] has joined #bitcoin 10:26 -!- u6M6WhB6r7ucQTM [[email protected]] has quit [Ping timeout: 600 seconds] 10:26 -!- u6DPECS8Ti8uSkD [[email protected]] has joined #bitcoin 10:26 -!- u5Dp18HMdzYBwjs [[email protected]] has quit [Ping timeout: 600 seconds]
I used the following procedure to extract the lines containing the joins and perform the geoip lookups and counts. I only used unique addresses. The GeoIP database was from MaxMind and the database was updated on the 9th of September.
grep join irc.log > bitcoin.joins ... I then lazily replaced all the ]s with @s in the file bitcoin.joins awk 'BEGIN{FS="@";}{print $2}' bitcoin.join > bitcoin.addrs awk '{print "geoiplookup " $0}' bitcoin.addrs | sort | uniq | sh > bitcoin.countries.1 cat bitcoin.countries.1 | awk 'BEGIN{FS=":"}{print $2}' | sort | uniq -c | sort -k 1 -n -r > bitcoin.cntcount
The full breakdown of countries is as follows:
2769 US, United States 868 DE, Germany 518 RU, Russian Federation 478 GB, United Kingdom 368 CA, Canada 332 PL, Poland 227 CN, China 227 AU, Australia 179 SE, Sweden 171 UA, Ukraine 160 NL, Netherlands 143 FR, France 109 IT, Italy 95 DK, Denmark 95 AR, Argentina 90 FI, Finland 85 BR, Brazil 82 RO, Romania 72 ES, Spain 72 AT, Austria 71 CH, Switzerland 64 ZA, South Africa 59 MX, Mexico 56 --, N/A 48 IE, Ireland 48 CZ, Czech Republic 45 IL, Israel 44 BE, Belgium 43 NZ, New Zealand 42 CO, Colombia 41 NO, Norway 35 IN, India 27 SG, Singapore 27 RS, Serbia 27 BG, Bulgaria 26 BY, Belarus 24 TW, Taiwan 20 TH, Thailand 20 CL, Chile 18 SI, Slovenia 17 KZ, Kazakhstan 17 JP, Japan 17 HU, Hungary 16 PT, Portugal 16 GR, Greece 15 PH, Philippines 14 SK, Slovakia 14 LT, Lithuania 13 LV, Latvia 12 MD, Moldova, Republic of 12 HK, Hong Kong 11 SA, Saudi Arabia 11 MY, Malaysia 10 MA, Morocco 10 BA, Bosnia and Herzegovina 9 HR, Croatia 8 VN, Vietnam 8 DO, Dominican Republic 7 PE, Peru 7 KR, Korea, Republic of 7 A1, Anonymous Proxy 6 VE, Venezuela 6 IS, Iceland 6 ID, Indonesia 6 EC, Ecuador 6 AE, United Arab Emirates 5 PG, Papua New Guinea 5 IR, Iran, Islamic Republic of 4 TT, Trinidad and Tobago 4 LK, Sri Lanka 4 HN, Honduras 4 EG, Egypt 4 EE, Estonia 4 BS, Bahamas 3 UY, Uruguay 3 TR, Turkey 3 PA, Panama 3 MK, Macedonia 3 LU, Luxembourg 3 JM, Jamaica 3 JE, Jersey 3 CR, Costa Rica 3 BO, Bolivia 2 ZM, Zambia 2 TN, Tunisia 2 MT, Malta 2 LB, Lebanon 2 ET, Ethiopia 2 DZ, Algeria 1 TZ, Tanzania, United Republic of 1 SY, Syrian Arab Republic 1 QA, Qatar 1 PY, Paraguay 1 PR, Puerto Rico 1 PK, Pakistan 1 OM, Oman 1 MN, Mongolia 1 KE, Kenya 1 JO, Jordan 1 GY, Guyana 1 GU, Guam 1 GT, Guatemala 1 GI, Gibraltar 1 CI, Cote D'Ivoire 1 BN, Brunei Darussalam 1 BB, Barbados 1 AZ, Azerbaijan 1 AL, Albania 1 AG, Antigua and Barbuda