{"id":23478,"date":"2017-07-19T02:17:14","date_gmt":"2017-07-19T02:17:14","guid":{"rendered":"http:\/\/ci027cfe79c00a26c3"},"modified":"2025-01-28T18:40:45","modified_gmt":"2025-01-28T18:40:45","slug":"bitcoin-block-clock-jr-half-full-node-half-work-art","status":"publish","type":"post","link":"https:\/\/bitcoinmagazine.com\/culture\/bitcoin-block-clock-jr-half-full-node-half-work-art","title":{"rendered":"The Bitcoin Block Clock Jr. Is Half Full Node, Half Work of Art"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div><figure><img decoding=\"async\" src=\"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2024\/11\/the-bitcoin-block-clock-jr-is-half-full-node.jpg\" title=\"\"><\/figure>\n<p>Bitcoin is a decentralized system of digital cash in which users don\u2019t need to trust anyone else with their money; however, the full benefits of this technology are only seen when users operate a <a href=\"https:\/\/bitcoin.org\/en\/full-node\" target=\"_blank\" rel=\"noopener\">full node<\/a> on the network. The vast majority of Bitcoin users do not operate their own full nodes, but one man is trying to change that with a piece of hardware he calls the Bitcoin Block Clock Jr.<\/p>\n<p>There are <a href=\"https:\/\/bitcoinmagazine.com\/articles\/you-really-should-run-full-bitcoin-node-heres-why\">many good reasons<\/a> for individual Bitcoiners to operate a full node. Full nodes are responsible for validating transactions and blocks on the Bitcoin network. Only by running full nodes can users know with full certainty that they received a valid payment. Additionally, the more users that run full nodes, the more decentralized the Bitcoin network is, making it harder to shut down or corrupt. <\/p>\n<p>And as <a href=\"http:\/\/sia.tech\" target=\"_blank\" rel=\"noopener\">Sia<\/a> Co-Founder David Vorick <a href=\"https:\/\/bitcoinmagazine.com\/articles\/you-really-should-run-full-bitcoin-node-heres-why\">pointed out in a talk<\/a> at this year\u2019s MIT Bitcoin Expo, those who do not operate their own full nodes do not get a say in the matter when hard forks are deployed on the network. \u201cIf you\u2019re not running a full node \u2026 your opinion on whether or not you like a hard fork is less relevant because, ultimately, if you\u2019re not validating the rules and someone gives you a transaction following a different rule set, you don\u2019t have a way to detect that,\u201d he explained.<\/p>\n<p>Running a full node, however, has been a rather expensive proposition. As a result, larger, economically invested entities that are better able to support full nodes have had more of a say.<\/p>\n<p>According to Vorick, users can be dragged along with miners and large businesses if the cost of running a full node is too high: \u201cIf full nodes are expensive to run, only people who are capable of running nodes really have any say in what happens in a contentious upgrade.\u201d<\/p>\n<p><a href=\"https:\/\/www.matthewzipkin.com\/\" target=\"_blank\" rel=\"noopener\">Matthew Zipkin<\/a> is the man behind the Bitcoin Block Clock. A sound engineer by trade, he has been working in his spare time on creating full nodes that are both affordable and fun to use. During a recent discussion with Bitcoin Magazine, Zipkin revealed his desire to create a piece of hardware for operating a low-cost Bitcoin full node that isn\u2019t boring.<\/p>\n<h3>A Bitcoin Full Node That Isn\u2019t Boring<\/h3>\n<p>When commenting on his reasoning for creating the Bitcoin Block Clock, Zipkin pointed to the <a href=\"https:\/\/twitter.com\/gavinandresen\/status\/621699193619488768\" target=\"_blank\" rel=\"noopener\">full node devices<\/a> made by <a href=\"https:\/\/bitnodes.io\/\" target=\"_blank\" rel=\"noopener\">Bitnodes<\/a> before they were acquired by <a href=\"https:\/\/www.coinbase.com\/earn?claim=true\" target=\"_blank\" rel=\"noopener\">21<\/a>.<\/p>\n<p>\u201cI always wanted one, but they disappeared when they got bought out, so I decided to build my own,\u201d said Zipkin.<\/p>\n<p>While there are other full node options out there, such as <a href=\"https:\/\/bitseed.org\/\" target=\"_blank\" rel=\"noopener\">Bitseed<\/a>, Zipkin wanted to make something that was more than a piece of computer hardware that would sit on the floor next to a router. Zipkin wanted to turn a Bitcoin full node into a work of art, and that\u2019s exactly what he did.<\/p>\n<p>Zipkin built the <a href=\"https:\/\/imgur.com\/a\/KYPKK\" target=\"_blank\" rel=\"noopener\">first version of the Bitcoin Block Clock<\/a> last year, and it was on display at the <a href=\"https:\/\/www.facebook.com\/events\/616379791848207\/\" target=\"_blank\" rel=\"noopener\">SF Bitcoin Meetup\u2019s \u201cProof of Art\u201d event<\/a> in May of 2016. After receiving positive feedback at the event and <a href=\"https:\/\/www.reddit.com\/r\/Bitcoin\/comments\/4gfbc7\/the_bitcoin_block_clock_a_notboring_full_node\/\" target=\"_blank\" rel=\"noopener\">on Reddit<\/a>, Zipkin decided to make a smaller version of the full node hardware to sell.<\/p>\n<p>The Bitcoin Block Clock included a screen that displayed various live information about the Bitcoin network. Zipkin put the original version of the Bitcoin Block Clock for sale on <a href=\"https:\/\/www.openbazaar.org\/\" target=\"_blank\" rel=\"noopener\">OpenBazaar<\/a> and <a href=\"https:\/\/purse.io\/\" target=\"_blank\" rel=\"noopener\">Purse.io<\/a>, but it hasn\u2019t sold.<\/p>\n<p>\u201cI priced it pretty high because it\u2019s art and I love it and kind of want to keep it,\u201d explained Zipkin. \u201cSo of course it still has not sold.\u201d<\/p>\n<h3>Creating the Bitcoin Block Clock Jr. With Bcoin<\/h3>\n<p>In an effort to create a version of the Bitcoin Block Clock that could be produced at a lower price, Zipkin turned to <a href=\"https:\/\/www.raspberrypi.org\/blog\/raspberry-pi-zero-w-joins-family\/\" target=\"_blank\" rel=\"noopener\">Raspberry Pi Zero<\/a> and <a href=\"https:\/\/bcoin.io\/\" target=\"_blank\" rel=\"noopener\">Bcoin<\/a>, which is an implementation of the Bitcoin protocol written in <a href=\"https:\/\/nodejs.org\/en\/\" target=\"_blank\" rel=\"noopener\">Node.js<\/a>.<\/p>\n<p>\u201cI discovered Bcoin was super easy to install and use, and the codebase was easier for me to review because it\u2019s in Javascript instead of C++, and was built from scratch by a small group of developers (basically just two guys), so everything is really well labeled and consistent,\u201d explained Zipkin.<\/p>\n<p>Of course, the problem with using SPV mode is that it\u2019s not a full node and the device won\u2019t receive all of the information related to a new Bitcoin block as it\u2019s mined on the network. Zipkin opted for the <a href=\"https:\/\/github.com\/bitcoin\/bitcoin\/blob\/v0.11.0\/doc\/release-notes.md#block-file-pruning\" target=\"_blank\" rel=\"noopener\">pruned full node<\/a> option in Bcoin in an effort to lower the system resources required to operate the node on Raspberry Pi Zero.<\/p>\n<p>\u201cWith pruning, I get all the fun block details I wanted to display,\u201d said Zipkin. \u201cI even submitted a pull request (which got merged!) to Bcoin to make my application work even easier.\u201d<\/p>\n<p>Zipkin described the LED displays on the Bitcoin Block Clock Jr. as follows:<\/p>\n<p>\u201cThe Bitcoin Block Clock Jr. has two LED rings. The outer ring of 24 LEDs indicates recent blocks. Each LED represents 2 minutes, and they \u201ctick\u201d clockwise around the ring. The color of the LED is determined by the block\u2019s version (BIP 9 version bits combined with keywords from the Coinbase scriptSig like \u201c\/EXTBLK\u201d or \u201c\/EB1\/AD6\/\u201d). The inner 16-LED ring indicates the progress of the current difficulty period (2,016 blocks, or about two weeks). It starts blue and gradually turns more and more red as the meter fills up. The tiny little display screen indicates some details about the latest block: height, size, version (and extra scriptSig version) and the adjustment period progress. I added a little web interface so I could turn the lights off at night without having to SSH into the Pi every time.\u201d<\/p>\n<figure><img decoding=\"async\" src=\"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2025\/01\/319_image-placeholder-title.jpg\" title=\"\"><\/figure>\n<h3>An Economical Way to Contribute to the Network<\/h3>\n<p>While Zipkin noted that the original Bitcoin Block Clock displays much more information and also comes with full wallet functionality, he also pointed out that the latest model proves that Bitcoin users only need about $20 to run their own full nodes (at least in pruned mode).<\/p>\n<p>Having said that, Zipkin admitted that the Bitcoin Block Clock Jr. can struggle to keep up with the network at times.<\/p>\n<p>\u201cBcoin plus my Python script and all the GPIO display output just barely hangs in there on this tiny underpowered computer,\u201d said Zipkin. \u201cThe Python script has a method to restart Bcoin when it crashes and monitor it as it catches up to the network.\u201d<\/p>\n<p>All of the technical details of the Bitcoin Block Clock Jr. are open source and <a href=\"https:\/\/github.com\/pinheadmz\/clockjr\" target=\"_blank\" rel=\"noopener\">can be found on GitHub<\/a>.<\/p>\n<p>Zipkin has now placed the Bitcoin Block Clock Jr. for sale on OpenBazaar and <a href=\"https:\/\/purse.io\/product\/pinheadmz-the-bitcoin-block-clock-junior\" target=\"_blank\" rel=\"noopener\">Purse.io<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bitcoin is a decentralized system of digital cash in which users don\u2019t need to trust anyone else with their money; however, the full benefits of this technology are only seen when users operate a full node on the network. The vast majority of Bitcoin users do not operate their own full nodes, but one man [&hellip;]<\/p>\n","protected":false},"author":3445,"featured_media":23480,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[74,143,124],"class_list":["post-23478","post","type-post","status-publish","format-standard","has-post-thumbnail","category-culture","tag-art","tag-decentralization","tag-nodes"],"author_data":{"id":3445,"name":"Kyle Torpey","nicename":"kyle-torpey","avatar_url":"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2024\/12\/kyle-torpey-promo-image-96x96.jpg"},"featured_image_url":"https:\/\/bitcoinmagazine.com\/wp-content\/uploads\/2024\/11\/the-bitcoin-block-clock-jr-is-half-full-node.jpg","_links":{"self":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/posts\/23478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/users\/3445"}],"replies":[{"embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/comments?post=23478"}],"version-history":[{"count":0,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/posts\/23478\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/media\/23480"}],"wp:attachment":[{"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/media?parent=23478"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/categories?post=23478"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitcoinmagazine.com\/wp-json\/wp\/v2\/tags?post=23478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}