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