Updated |
{}
|
Nic Carter ( Feed ) |
|
Sunday, 21 March 2021 |
The Blocksize War Review | |
An excellent account of a revealing epoch in Bitcoin’s history♦
Sometimes a text comes along that you feel a powerful obligation to read. Jonny Bier’s The Blocksize War ($22 for the paperback on Amazon) is one such book. Bier is the rarely-seen face of BitMEX Research, arguably the most insightful
An excellent account of a revealing epoch in Bitcoin’s history♦
Sometimes a text comes along that you feel a powerful obligation to read. Jonny Bier’s The Blocksize War ($22 for the paperback on Amazon) is one such book. Bier is the rarely-seen face of BitMEX Research, arguably the most insightful research desk in the industry. BitMEX Research consistently produces original content, spanning a vast array of technical, historical, financial, and economic concepts. Bier’s repertoire is incredibly vast, and betrays a deep understanding of protocol design, crypto markets, and the broader macro context. BitMEX Research is a wonderful free asset to the Bitcoin community, and I would be bitterly disappointed if Bier stopped publishing. So when The Blocksize War was released I picked it up immediately. I had been paying fairly close attention to Bitcoin from 2014 onwards, initially on Reddit and later on Twitter, but I simply hadn’t appreciated the conflict in its earliest stages, so I was excited to brush up on my historical knowledge. I was vaguely aware of the existence of conflict but I had completely missed the early skirmishes in the Blocksize War. Many accounts of the war will begin in 2017, but the conflict of visions really originates in 2015, as Bier points out. The conflict in its simplest form focuses on what seems like a relatively incidental technical feature: how big should bitcoin blocks be? But as it turns out, this apparently technical discussion is a proxy for much deeper questions of governance, political control, and the very nature of the protocol. What is Bitcoin? What should it be? How should it develop? How should it change? In the end, this debate raged from 2015 to 2019 or so. Hundreds of millions or billions of dollars were spent fighting it. It was effectively the sole developer focus in 2017. As the community once again prepares to introduce a protocol change with Schnorr/Taproot, it’s worth revisiting the changes that culminated in that tempestuous year. Bier’s book is remarkable; it’s largely a first-hand account. As anyone who followed this debate over the last half decade will know, actually being present for the various skirmishes was no small task. Impressively, as he details in the book, he put himself through considerable rigors in order to witness the major junctures of the conflict: the in-person scaling conferences in Montreal, Hong Kong, and New York, among others. Very few individuals would have had the perspective and the direct first hand experience (or the diligence to take copious notes of panel discussions) to create an authoritative account of the conflict. Many times I found myself thinking how lucky we are to have such a committed correspondent chronicling these events in real time with no agenda other than witnessing history. In hindsight, we know that the blocksize wars were absolutely critical for understanding Bitcoin governance and consensus — vital historical markers that are part of our accumulated knowledge. But it took considerable foresight to know ahead of time just how consequential these itinerant informal meetings would be. Usefully, Bier is also laudably dispassionate, although, as is the case with people with common sense, he maintains an ultimate allegiance to the small blocker camp. I’m very impressed with his ability to stay balanced. This was a conflict which strained the nerves of everyone remotely interested in Bitcoin. Like many other historical events, people are prone to reduce the causal features of the debate and characterize the disagreement in simple, stark terms. This book does a good job of debunking any monocausal explanation for the difference of visions. Bier admirably captures the many different facets of the conflict. They range from technical arguments, to governance considerations, to short versus long term approaches to development, to business versus technical considerations, to financial interests, and to simple matters of pride and hubris. And of course, at the core of the debate, a battle for the soul of the protocol: what did Satoshi really intend? What kind of system ought Bitcoin be? One recurrent motif that I particularly enjoyed was the occasional digression into how a largely digital conflict — happening on the blockchain, on mailing lists, on forums, reddit and twitter — occasionally strayed into the real world. In one instance, he finds mysterious messages on the blockchain and rushes out to a warehouse in Hong Kong. He abandons a mountain hike to dash to a closed-door meeting. He is out of sick days from his asset management job and flies transatlantic to a conference over a weekend, returning to work on monday, bleary eyed and exhausted. If nothing else, this book is a fine ending to a saga that was both thrilling and deeply unpleasant at times. Newcomers who didn’t witness the final throes of the conflict in 2017 would do well to read it. The events surrounding UASF and NO2X are, in my opinion, the most important signifiers of Bitcoin’s uniquely poised governance. We would do well not to forget them: the price of freedom is eternal vigilance. Today, we have the benefit of hindsight to reflect on the big block ideology. It has become decidedly less popular as big blockers actually had the space to implement their ideas through chains like BCH and BSV, among others. All of the technical and governance arguments that Bitcoiners made — which were largely theoretical in 2015/16— have now been tested in the real world. Predictably, the big block chains are suffering exactly the issues we expected. They have no ‘merchant adoption’, no meaningful fees (and hence no viable long term security model), and tons of spam. To no one’s surprise, nodes on big-block chains are difficult to run and regular users are disempowered. The pro-fragmentation philosophy whereby debates were resolved with forks unsurprisingly led to many more forks: anathema to protocols whose usefulness is defined by network size. Even former BCH/big block allies like Ethereum’s Vitalik Buterin now largely distance themselves from the large block philosophy. Ethereum, with its new emphasis on monetary soundness, a durable fee market, and scaling in layers through deferred settlement (sidechains, rollups etc), has grown to embrace a philosophy that is decidedly (small block) Bitcoin-like. And predictably, the absolutely unforgivable elevation of the odious fraudster Craig Wright completely backfired on the big blockers, who now almost universally regret welcoming him into the fold. Moves like this revealed the naked truth of the big block campaign: a movement grounded in ressentiment against Bitcoin Core and an attempt to capture the name and brand. There was no meaningful technical question, ultimately. As Bier points out, the big blockers were free to implement their meritless ideas to their heart’s pleasure. Really, it was a sequence of debates about who should control the Bitcoin protocol itself. One particularly astute point Bier makes, and one that I agree with, is the notion that Bitcoin is really just a vessel for your expectations, hopes, and dreams. Ultimately, the small blockers were simply more adept at framing a narrative around what Bitcoin should be, and in laying out a path to get there. The strength of a coordinated, consistent, and viable roadmap and narrative is incredibly powerful. Few appreciate the sheer intellectual capital being put into bitcoin. At the end of the day, it was this sustained narrative which carried the debate and fended off attacks from highly-motivated and well-financed individuals and entities. In the final calculus, the book is as much a history of a technical conflict over Bitcoin as it is a story of a scrappy band of Bitcoiners resisting successive waves of takeover attempts from various factions: first Gavin and Mike Hearn with XT, then Classic, then Unlimited, then Bitmain and Chinese miners, and lastly a western industry cartel. Unsurprisingly, Bier does an admirable job of capturing the nuances, and providing plausible explanations for the behavior of all involved parties. He’s certainly more balanced than I would have been. I feel more than a twinge of anger reflecting on Coinbase’s embrace of the meritless Bitcoin Cash, and the momentary fear I felt as it traded over $4000. I will warn would-be readers: the typesetting on the paperback leaves something to be desired, as the margins on the right hand pages are slim. The emphasis is on the content and the approach is utilitarian. Bier also loves a comma splice or two. But he has an affable and transparent manner, and the reader easily forgives the occasional typo. I’d recommend the Kindle version if you are a stickler for style. Hopefully we see a revised second edition. My other wish would be a longer epilogue. The big blockers have now been completely discredited, and most of their primary leaders have been exposed as rank opportunists. Predictably, the large block ‘community’ has effectively dissolved into a mess of forks, misspent effort, and infighting. Bitcoin by contrast goes from strength to strength and the layered scaling model has been entirely vindicated. The various large block chains are abandoned wastelands, trading at all-time lows against Bitcoin. This is notable: ‘let the market decide’ was the big block refrain for years. Well, the market decided. The small blockers who suffered large block imbecility and intransigence for years deserve a triumphant coda. History is written by the winners, right? Bier deserves much praise for his diligence compiling this text. It’s a worthy addition to the Bitcoin canon — one I hope to add to some day. The Blocksize War is available on Amazon and will be published in its entirety in installments on the BitMEX Research blog. 50% of profits from physical sales will go to Medecins Sans Frontieres. ♦ |
{}
|
Nic Carter ( Feed ) |
|
Sunday, 14 March 2021 |
Why NFTs are hard to explain | |
A disambiguation♦NFT “Birth,” from the Ethstory project by @takenstheorem. See details in postscript.
I keep seeing the pro-NFT crowd complain about Bitcoiners “not getting it.” Bitcoiners are to NFTs as nocoiners are to Bitcoin, the saying goes. The argument is an endless circle: “How can yo
A disambiguation♦NFT “Birth,” from the Ethstory project by @takenstheorem. See details in postscript.
I keep seeing the pro-NFT crowd complain about Bitcoiners “not getting it.” Bitcoiners are to NFTs as nocoiners are to Bitcoin, the saying goes. The argument is an endless circle: “How can you not see the value of digital scarcity? You’re a bitcoiner!” This is invariably met with the retort: “NFTs aren’t scarce, you can copy and paste them!” Ad nauseam. The reason proponents have a hard time explaining NFTs, in my opinion, is because NFTs aren’t a singular concept. They’re a bundle of related concepts. NFTs are a cluster of superficially similar but functionally heterogeneous entities, in much the same way that “cryptoasset” or “blockchain” are too semantically diffuse to be considered a single taxonomic element. In other words — NFT is a process, rather than a product. To NFT something is to assign it a distinct serial number that lives on a public blockchain. That’s it. ‘NFT’ conveys no additional information about the purpose or nature of the content-being-serialized aside from that. The problem is when proponents try to explain NFTs by resorting to a specific teleology (“NFTs are for x” or “NFTs accomplish y”). This confuses the issue, because the NFT landscape is incredibly broad, and encompasses a huge diversity of applications. (Opensea’s NFT Bible is a decent introduction.) So naturally many people won’t understand NFTs when they are explained with reference to a single purpose: their would-be guides to the NFT world don’t understand them either. How can you teach that which you do not truly know? To tease out the different types of ownership offered by NFTs, let’s consider three examples. They are categorically different, and have nothing in common aside from their mechanical nature. To conflate them is a taxonomic misstep. GrimesThe first is one out of 100 digitally signed pieces of digital art, made by the artist Grimes. When I buy this (I haven’t, but I’ll admit I was tempted) I am buying it for a couple reasons:
What I’m buying is effectively a digitized version of a signed setlist after a gig, or a signed, limited edition album cover. As I jokingly put it, the NFT should be understood as the autograph, not the art. That’s not remotely difficult to reason about, because the practice is already familiar to us in the analog world. Crucially, there’s an extremely tight causal link between the generation of the IP and the digital serial code. I know that Grimes has authenticated this specific interface as the designated broker of her digital art sales. I know that additional copies of these autographed pieces of art will not be sold in other digital contexts, because she would be violating an informal social contract with her fans. Importantly, we have strong assurances that Grimes isn’t duplicating these NFTs elsewhere. What use is a limited edition NFT if the artist doesn’t commit to not releasing it on 20 NFT platforms? This is also why the NBA/Top Shots product works: the NBA is not going to sell designated highlights/moments on other platforms. You have assurances of exclusivity. CentThe second case study here is the tokenized tweet. Jack Dorsey infamously put the first ever tweet up for sale, and looks likely to sell it for $2.5m to Justin Sun. In this instance, when you bid for someone’s tweet on Cent (I actually ‘own’ one of Neeraj’s), you are declaring that you are willing to purchase the bragging rights to the tweet on the Cent platform. The creator has to actually accept the offer though — you can’t just buy a tweet without their consent. So you are effectively committing to buy an autographed version of a tweet on a third party platform. That’s what the Cent NFT is. A declaration of financial intent in order to show appreciation (and later, to serve as a bragging right of sorts. See — just five sentences ago, I bragged about owning Neeraj’s tweet!) Of course, many other NFT issuers could emerge and compete, so I can’t claim I own the exclusive rights to the tweet, just the tokenized version on a specific platform. In fact, I don’t own anything about the tweet on twitter itself. The connection between creator and NFT is much looser here. The creator may not be aware that their tweets are up for sale. When the creator accepts the transaction, they give a slight headnod to the buyer. But again, the buyer just owns the exclusive bragging rights to the tweet on the Cent platform, and nowhere else. That’s as much a bet on Cent as it is on the tweet itself. Cultural artifactsLastly, we have a category of NFTs you could uncharitably describe as ‘art fraud on the blockchain’. There are numerous reports of individuals, either through malice or unintentionally, listing content on NFT sites which is either directly lifted from another artist or a derivative of some content encumbered by IP. Here’s a report of art fraud on Rarible; here’s Giphy complaining about the practice; and here’s an accusation that the Wu Tang Clan actually NFTed another artist’s art. These cases are relatively cut and dry, and the platforms themselves try to police this. But there’s additional gray areas which call into question the IP linkage of NFTs. These are instances where creators monetize memes or other content that’s effectively in the public domain. Who is the “creator” of Pepe the Frog? In theory, it’s Matt Furie. But what about the endless remixes and derivatives? NFTing memes or other culturally salient content degenerates into a discussion of who owns culture, to which the answer is of course everyone and no one. Who has the right to monetize memes? The originator, or the remixer? The popularizer? The other problem with buying NFTs that aren’t directly linked to a specific creator is that you have no assurances of exclusivity. I saw an NFT image of myself put through a deepdream filter recently. Had I bought it, I wouldn’t have had any exclusive claim to the concept “Nic’s twitter avi put through a generic filter.” The artist also doesn’t matter much here, because the output is content combined with a simple algorithmic process. It’s this category of NFTs that people struggle to reason about, and that makes sense: they raise extremely thorny questions of ownership. NFTs aim to strongly codify who owns what, but if you can’t agree on ownership in the first place, putting that content in a “strong property rights” wrapper doesn’t make sense. It’s about the IPThe comparison allows us to tease out the key distinction between NFTs. I would contend that distinctions between subclasses of NFT turn on the tightness of IP integration. On the one end of the spectrum, I have strong assurances that I am receiving an autographed piece of original art directly from the creator. I have an extremely tight linkage between the creator, her original IP, and the digital product that I now meaningfully own. In the middle, we have a more diffuse connection: I own unique bragging rights to someone else’s tweet, which they have acknowledged by collecting the reward. But I don’t really own their IP, I certainly don’t own the tweet itself, and all I have from the creator is a cursory headnod — “yes, I accepted a fee in exchange for consigning these bragging rights.” On the most vague side, I have a dubiously scarce claim to a meme or cultural artifact, which may be presented in a unique manner, but is not even owned in a meaningful sense by its creator. The product is mostly derivative — it’s still artistic, in the sense that most art is derivative, but it’s definitely not the original and exclusive work of a single individual. They may actually be violating copyright by monetizing it. I might still get a kick out of owning it, but aside from entertainment value it’s very unclear what I actually own. And lastly, in the really wacky world of procedurally generated NFTs like Cryptopunks, it’s incredibly unclear what I’m buying. I’m not exactly rewarding the artist, because the artist is an algorithm. Most likely, I’m betting that newly-rich Ethereum enthusiasts will see the NFTs as a kind of totem of status, signaling membership in an exclusive club (people that had the foresight to buy the first NFTs on Ethereum, or the financial clout to buy them once they got popular.) My best thesis here is that these are effectively a form of re-sellable social signaling, like a digital Hermes Birkin bag. The actual contents of the NFT is largely irrelevant. So in the debate over NFTs, I would contend that people talk past each other. Skeptics consider the “emptiest” NFTs — the ones with the loosest or nonexistent IP/token linkages — and examine ownership is in that context. Proponents look at the “fullest” NFTs — the ones with tight linkage and assurances of issuer exclusivity — and point out the advantages of such an issuance model. And they’re both right! Because NFTs aren’t a singular class of thing. An NFT is a wrapper. I’m not telling you that the NFT process is God’s gift. Nor am I saying they’re doomed or bound to crash. The notion of a serialized, public-blockchain-residing, innately financialized instrument is clearly a useful wrapper, and it will absolutely persist. What I am saying is that NFTs are a loose cluster of ideas, rather than being one concept. The subclass of NFTs that makes the most sense to me consists of the ones where you have a) a tight linkage between the IP and the digital reference; and b) assurances of exclusivity. The remainder is very hard to reason about. The cover image is a copy of “Birth,” an NFT shared with permission by the creator @takenstheorem. His charitable data-visualization project “Ethstory” recounts the history of Ethereum via thousands of data points, and rendered as high-quality PDFs that only owners can access with a password from OpenSea. Here, transaction flows from the BTC presale into the first transactions from Ethereum’s GENESIS. I’d like to thank Takens Theorem for his feedback on this article — and the cover art. ♦ |
{}
|
Ross Ulbricht ( Feed ) |
|
Thursday, 11 March 2021 |
Decentralize Social Media | |
by Ross Ulbricht Centralization of social media networks has led to a host of problems for social media platforms and their users. These include privacy breaches and the impossible task of moderating the content of billions of users. Below I describe a decentralized social protocol (DS by Ross Ulbricht Centralization of social media networks has led to a host of problems for social media platforms and their users. These include privacy breaches and the impossible task of moderating the content of billions of users. Below I describe a decentralized social protocol (DSP) that can help solve or mitigate these problems by giving users control over their own content and putting them in charge of value creation and transfer within their networks. This is made possible by allowing users to choose from a multitude of interface providers, content servers and advertisers, rather than a single platform that monopolizes these essential roles. I describe decentralized solutions to profile management, privacy, hosting, user interfaces, ad networks, content filters, metadata and more. In short, all the essential components of social media. Decentralize EverythingIt goes without saying, but one of the primary design principles of a decentralized protocol is decentralization. However, the tendency toward centralization is powerful. Centers will form whenever possible, and it takes foresight to predict where they will take root and grow. Take the TCP/IP and HTTP protocols widely used on the Internet. When they were adopted, they appeared to be totally decentralized. Anyone could set up a website and anyone could access it. An internet connection and IP address were the only barriers to entry. What could be more egalitarian? We saw with the early web the kind of flourishing we would expect from such an environment. However, no one foresaw the dominant role the network effect would play. Today, it doesn’t matter that anyone can set up a website that competes with Facebook, YouTube, Reddit or Twitter. No one will use it. It could have better privacy protections, better features and no ads, but it won’t have the one thing giving these tech giants an insurmountable advantage: other users. Even when Google, with its massive preexisting user base, tried to compete with Facebook by making Google+, it eventually failed after 7 years and billions of dollars spent. Under TCP/IP and HTTP, decentralization stopped at the URL. Whoever controls the URL controls everything behind it. The result has been that URLs (facebook.com, google.com, amazon.com, etc.) have become some of the most powerful and valuable corporations on the planet. Under DSP, we must go further. In a social setting, the smallest, irreducible unit is the individual, the user. So when we talk about decentralization, we are talking about putting all the decision-making power and authority in the hands of the users. Giving them the power to build websites and choose which ones to visit is no longer enough. Because centralization will develop wherever it can, DSP designers and developers must do everything possible to discourage it. Unfortunately, that takes imagination and effort. It is far easier to stop short of full decentralization, to leave the really difficult parts to others or to fill in the gap with your own centralized platform. The tech giants are already partially decentralized. They do not generate content. That is left to the users. DSP must take the features they have centralized and design a system that decentralizes those too. Who Controls the Content?Information is fundamentally different from physical property. It can be duplicated at essentially no cost, so when one talks about “owning” data, it can be confusing. Copyright laws exist to combat this abundance intrinsic to information, to prevent copies of copies (for the benefit of the content creator). So do laws about classification and secrecy which punish people for sharing information they have agreed not to. However, these laws are undermined by peer-to-peer file sharing in the case of copyright and by whistleblowers in the case of secrecy. It is difficult to contain and control information. In a decentralized system, a central authority cannot be relied on to enforce such laws, so we have to deal with information on its terms. Rather than talking about who owns a user’s content, we should be asking who has the right to access their content. The default position of modern social media platforms is that the platform owns the content and centrally enforces access rights. Under DSP, the content creator (the user) should control access with an encryption scheme involving key sharing. Wherever possible (ideally as a rule), service providers should not have access to unencrypted user content. Only those whom the creator has granted access should have it. Encryption places control squarely in the hands of the keyholders, so the location where the encryption keys in DSP are kept will be a guide for us as we look for where centralization can take hold. As much as possible (ideally as a rule), keys must reside with the users. All information, whether stored or in transit, should be encrypted by default, unless specifically created for the public. This is a radical shift from the current paradigm. With users in control of their own data, the network effect loses the only leg it had to stand on. If the content and associations that make up the various social networks are managed at the protocol level, websites lose their monopolies over their users. Once again (as with the early web) anyone will be able to set up a competing website or app. Only this time, instead of being empty, users will see all of their content and others’ content they have access to. There will be minimal switching costs for the user because the new website will just be a new interface to the same content. Such an environment will lead to a flourishing of innovation, expanding users’ options and improving every aspect of their experience. Money MattersSocial media platforms bring in tens of billions of dollars in revenue every year. This revenue is generated almost exclusively by ad placement. It would be easy to ignore the issue of money and let DSP service providers invent their own business models and hope that, given users’ low switching costs, providers will behave and cater to the users’ demands. However, this was the assumption built into the protocols that led to where we find ourselves today. The fact we have to contend with is that money is a key element in centralization. Users bring advertisers, advertisers bring money, money pays for expansion and development of the service, and a better service brings yet more users. Money is essential to this feedback loop that draws everyone to the same service provider, whose real business is that of matching eyeballs to advertisements It may be the most challenging part of DSP to design, but it is arguably the most important. Somehow, the users must be at the center of this process of value creation and transfer. Given that user attention is the source of value in the system, the problem should not be insurmountable. Restructuring Social MediaWith the above design principles in mind, let’s look at the relationships between the stakeholders in modern social media platforms and how those relationships should be restructured under DSP. ♦Fig. 1Figure 1 depicts the four components that make up the current platform-centric paradigm. There are three stakeholders: the platform (red), advertisers (greed) and users (blue). Everything passes through the platform. The platform owns and centrally controls the content server. It stores the content generated by its users through its interface and pulls from that content for display. Crucially, the platform sits between the users and the advertisers. Advertisers pay the platform to display ads to the users which generates clicks for the advertisers. Under this structure, the platform holds all the keys. It controls all the value generated by the system. ♦Fig. 2Under DSP, the system must be user-centric. As seen in Figure 2, the user sits between the other three stakeholders: interface providers, content servers and advertisers. Instead of a platform wedged between the users and advertisers, advertisers pay users directly by bidding for ad placement on their interface. Interface providers and content servers then compete for this ad revenue. Instead of a monolithic platform providing the interface, many interface providers can offer their services to users. And instead of the platform owning and controlling all content, content servers compete to host the user’s encrypted content. Under DSP, the user holds all the keys and controls all the value generated by the system. This user-centric paradigm requires a rethinking of how online services are designed and built. Current platforms can be conceptualized in three parts: the content, the user interface and what is sometimes referred to as “business logic.” Business logic is all the instructions the platform uses to gather relevant content and send it to the user interface to be displayed. This is where algorithms for searching, sorting and manipulating content live. Recommendation engines, aggregators and various forms of AI are all business logic. ♦Fig. 3Figure 3 shows a simplified version of how content is delivered to the user by current, centralized platforms. The user makes a request through the user interface which passes the request to the business logic server (steps 1 and 2). That server determines what content is needed and gets it from the content server (steps 3 and 4). The content is then prepared for display and sent to the user interface which displays it to the user (steps 5 and 6). The business logic and content servers are controlled by the platform and run on the platforms’s computers while the user interface (e.g, a browser or app) is run on the user’s computer. Under DSP, because the interface providers do not have access to the content, they cannot execute business logic themselves. This must be done on the user’s side by what is called a “user client.” The user client is just an app or browser plug-in that can execute business logic and manage the user’s profiles and wallet. The function of the interface provider then is simply to send business logic to the user client, instructing it to gather content and compile it for display through the user interface. ♦Fig. 4Figure 4 shows how this is done. Again, the user makes a request through the user interface which gets passed to the interface provider’s business logic server (step 1 and 2). The interface provider then sends the appropriate business logic to the user client back on the user’s side (step 3). The user client executes the business logic — gathering content as needed from content servers — and sends the output to the user interface for display to the user (steps 4 and through 7). Step 6, the step between the user client and user interface happens locally on the user’s device. A single app or a browser with a DSP plug-in could handle both the user client and interface, so the user client could be “under the hood” from the user’s perspective. For simplicity, advertisers are not shown in Figures 3 and 4. Had they been, they would have been connected to the business logic server in Figure 3 and the user client in Figure 4. More complex relationships are also possible. For example, the user client could modify the initial request before it is sent to the interface provider based on user settings, wallet balance, or any other locally stored information. All of this is left out of the figures so the basic restructuring can be seen. What is a Social Network?So far we have been discussing design principles at a fairly high level. The rest of this paper addresses ideas for how DSP could (perhaps should) work in practice. Consider them a starting point for discussion as opposed to final answers. At its heart, what is DSP really? If we look at the major social media platforms, we see Twitter with its emphasis on short public statements, Facebook with its emphasis on sharing with friends, Reddit with its niche communities, Instagram with its pictures, YouTube with its videos, etc. What we don’t need is a different protocol for each of these services because at their heart, they are all the same. Each is a different way to communicate and share content with others. That’s it. Approaching the design of DSP from this level of abstraction will both simplify it and maximize its reach. All the social media platforms listed above and many more — both existing and yet to be imagined — should be able to work on DSP. The dimensions on which these platforms (and any communication platform) vary are as follows:
There is nothing fundamentally different between video, images, audio, text or any other content type. They can all be reduced to ones and zeros and will need to be handled in the same basic ways. Storage, access, context and various metadata — to name a few — should be handled in the same way by DSP regardless of content type. Instagram, YouTube and SoundCloud are basically the same website, varying only by the type of content they emphasize. DSP should be abstracted such that all content — including new content types (e.g. VR, haptic) — can be supported. • Content accessPublic tweets, status updates to friends, group chats, private direct messages; they all differ based on who has access to the content. DSP will need to use encryption to ensure that only those with permission may view content but also be flexible enough that a wide variety of schemes for sharing content can be engineered by interface providers. Public content is easy to handle because everyone is allowed to view it, so no encryption is necessary. To limit access, we need encryption. One way to do this would be to encrypt the content using a symmetric cypher so that only people with a key specific to that content could view it, and then to distribute that key to the party(s) the content is being shared with using an asymmetric cypher. It goes without saying that this complexity should be hidden from the user. All the user need know is that new content has been shared with them. By default, service providers (interface providers and content servers) should not have access to unencrypted content. • ContextWhen it comes to communication, context it critical. Depending on context, a joke can be a threat, or a troll can be a philosopher. All content has a context, so DSP must have a robust way to capture context as metadata so it can be presented as the content creator intended. Quite often the context for content is other content: a comment or a “like” on a video, a downvote, a retweet, etc. A simple pointer to the content referenced should suffice. However, this content and all content will need categorization. A system will need to be incorporated into DSP that can capture everything from subreddits to friend circles, from a LinkedIn-style website to blogs. One way to do this is with tags. I suggest a taxonomy of contexts be gathered from the current platforms and a list of tags be compiled. These should not be hard-coded into DSP, but rather should be available as documentation for service providers to draw from and add to. As usual, this complexity should be hidden from the user. When a user creates content, they usually do not consciously think about context, they just know they are tweeting, posting to a cat meme subreddit or clicking a heart icon next to a video they like. The content generated should be tagged automatically according to business logic from the interface provider being used (more on this below). That way, regardless of what interface is being used, when a user generates content, other interface providers will know how to interpret and display it to their users. So, for example, if someone “likes” your content on a Twitter-style website and someone else “likes” it on a Facebook-style site, everyone viewing your content, regardless of which site they are using, will see two likes. By varying these three parameters, all of the various platforms can be reproduced using DSP. More importantly, without the network effect to contend with, other social media and communication services that have been unable to gain an audience should now find they can cater to niche communities. One could argue that “content constraint” is missing from the above list of three. Isn’t what sets Twitter apart the fact that its users are limited to 280 characters? That is indeed the case, but content constraint is not something that needs to be handled by DSP because it can be achieved via context. For example, in the case of a Twitter-style service, content generated using its interface (tweets) can be tagged as such. The interface won’t allow the user to generate anything longer than 280 characters, so all content tagged as a tweet from that interface will be 280 characters or less. If a user were to generate a “tweet” longer than 280 characters independently, the twitter-service would simply not display it to other users. Profile ManagementUsers are what bring life to the DSP protocol. The main challenge for a decentralized protocol when dealing with user profiles is the name space. Centralized platforms handle their name space by keeping a list of all registered usernames in one place and checking for duplication when a user tries to register a new name. (Of course, users must re-register on every platform they use and may find their registered username on one platform is taken on another). For a decentralized protocol, things are not so simple. There is no central list to consult and no central authority to reject duplicates. However, we can turn to cryptography for a solution. Public key cryptography would allow anyone to easily create a public and private key-pair through any interface provider. The public key represents your identity on the DSP network while the private key would be kept by your user client and used to prove you are behind that identity. The public key is generated pseudo-randomly, so the odds of two people generating the same key are so small they can safely be ignored. Voila! You now have a unique name and identity on the network. But who wants to be known as a random-looking string of characters? One way to handle this is the same way it is handled in the real world: let people call themselves whatever they want, ignoring duplication. Then simply check the unique ID if you are ever unsure who you are dealing with. Another way would be to establish a name server scheme similar to how unique IP addresses are translated into unique domain names. In this case, the public keys are analogous to IP addresses and usernames to domain names. To decentralize this, user clients and interface providers could keep a list of all the key/name pairs they have encountered. When registering a new one, the user client could “ask around” the network if the name is on anyone’s list. If not, the new key/name pair is announced. If a user encounters a name already in use that is duplicated in their list, the interface could disambiguate with a nonce (1, 2, 3 etc.) or some other distinction. Another solution would be to use a blockchain to record key/name pairs without duplication. The problem with requiring registration on a blockchain is that it erodes privacy. Blockchains are public by necessity, but not all users are so concerned with name-space duplication that they want the world to know about their DSP identity. They may only be using DSP to connect with their immediate friends and family where disambiguation is not a big issue. Blockchain registration also requires a fee denominated in the blockchain’s native currency. This presents a bootstrapping problem because new users cannot be expected to pay for using DSP after they have spent decades using modern platforms at no charge (more on this below). The choice should be put in the users’ hands, not as something they have to think about and deal with, but something their user client or interface provider will. Whether it is a blockchain, name servers or just polling the people you are connected to in the network, there are tradeoffs between cost, privacy and centralization. At the base level, the problem is solved using public keys, but interface providers will have to come up with ways to handle matching usernames to public keys. Reputation ManagementNow that we have profiles, we turn to how those profiles relate to one another. In a perfect world, social networks would be places of civilized informed discussions governed by mutual respect and common decency. Clearly, we do not live in a perfect world. Social media users are more like an unruly mob, and increasing pressure is being put on platforms to moderate content. Platforms find themselves in the impossible position of deciding what content is and is not allowed for billions of users. No matter what they do, some users will be upset. DSP sidesteps this problem by decentralizing responsibility for rating the reputations of users. Instead of the platform calling the shots for its entire user base, each user keeps a list of ratings in favor or against other users and shares that list with the people in their network. This idea is called Web of Trust (WoT), and it is a beautifully simple way to minimize the impact of bad actors in a decentralized system. It is an online version of what we all do in the real world. Let’s say you are invited out for coffee by someone on the periphery of your social circle. How do you know if you should accept or not? You ask the people in your circle who you believe are good judges of character. If they all say he is aggressive or boring, you probably won’t go, and vise-versa if their reviews are positive. WoT works the same way. Instead of putting all of your trust in a single platform, you get lots of input from the people in your network you already trust, and they get input from you. Of course, WoT is handled at the protocol level, so users do not have to think about it. Care will be needed when designing the WoT implementation used in DSP. It should be abstracted as much as possible to accommodate unforeseen applications and put the decision-making power on the side of the user. Here is how it might work: imagine a user named spambot2020 keeps posting links to a get-rich-quick scheme on your carefully crafted, brilliant public messages . You should be able to flag the offending content as “spam.” Content from that account would no longer show up for you. More importantly, it would also stop showing up for people who trust you. The flag would just be another piece of content to be tagged and shared according to DSP’s system of content access and context. Not all decisions are as easy to make as whether an account is spamming or not, and immediately blocking all posts from a certain account may not be the best action to take. Luckily, WoT is highly flexible, allowing every user to determine how to interpret and handle flags from their network. Flags can be tagged differently (e.g. spam, hate, troll, bot, like, smart, funny) and can be weighted differently according to a user’s preferences. If someone you trust strongly trusts someone else who likes a certain song, well you might like it too. Your own flags and flags of others all add up automatically to help interface providers determine what gets displayed to you and how prominent it is. This is what platforms do already, each with its own proprietary algorithms. Under DSP, the underlying structure and content of the WoT layer is controlled by the users, so they can choose any interface they want, leading to vastly more variety and options from interface providers. This reveals the real beauty of WoT: there is no centralized point of view. If I flag someone as a troll, they are a troll to me only. It is not “The Truth.” Some users can take my judgement and weigh it against the accused troll, others can ignore it and still others can find it to be positive, seeing it as a “badge of honor.” The point is, each interface provider will choose how to filter and display content. In turn, users will be able to choose from a wide variety of options and can even change filters and interfaces day-to-day or moment-to-moment depending on their mood. No one will complain of being banned or censored unfairly again because every user has the right to speak, and every other user has the right to stop listening. WoT is not just for filtering out bad content however. It is also a decentralized system that helps users choose who they can trust to do business with. As we will see below, WoT will be invaluable as we grapple with how to handle value creation and transfer between users, advertisers and service providers. Value Creation and TransferSocial media platforms make their money by selling ad space. Their platform is free and open to the public, but along side the content a user has logged on for, there are also ads. Controversially, platforms use users’ personal data and content to categorize them so they can help advertisers better target potential customers. Under DSP, service providers don’t have access to user content, users do. Thus, a reformulation of this successful ad-driven business model will be needed if we are to decentralize social media completely. Currently, platforms act as a trusted middle man between advertisers and users. Advertisers pay the platform, trusting their ads will be displayed to the types of users agreed to as often as agreed to. Advertisers come to value the platforms that generate the most traffic to their links, but really what they value is the users. It is the user that generates value by looking at brand ads, clicking on ads and ultimately making purchases or doing what the advertisers hoped they would. Users create value, so it is users who should be paid. However, platforms do provide a valuable service to advertisers, so we must make sure DSP can do the same. For example, DSP must ensure ads are not being served to a bunch of fake accounts set up just to collect ad revenue, and that the right ads are being displayed to the right users. This is where WoT comes back into play with an elegant solution. Here is how it might work: advertisers bid on ad space for each user they wish to target, and the user collects the revenue for each ad displayed on their screen. The user’s client cryptographically signs the ad and sends it to the advertiser, so they know their ad was seen. If a user clicks on an ad, the advertiser knows this too because the user lands on the advertiser’s site. If the user does what the advertiser wants them to do (e.g, make a purchase or click a link), they send the user a signed receipt with the value of the user’s action, the time it occurred, and other metadata. This means that each step of the way, the user has proof of the value they created which they can share publicly to attract more advertisers to bid for their ad space. The signed receipts are like tokens of trust in the WoT. If a user tries to game the system and sell ads to themselves from a dummy account, it won’t matter because those dummy accounts will not have any trust built up with real advertisers. They will just be ignored. So, the more a user clicks on ads and follows through with what the advertisers want, the more proof they will have that they are a good investment to other advertisers and the more money they can make. This kind of advertising is, in a way, even more targeted than that offered by current platforms, and at no point is a user’s content shared or their privacy violated. There is one problem with this formulation, but again cryptography can provide a solution. A user may want advertisers to know they clicked on an ad and spent $300 on the website they landed on, but maybe not if that website sold certain medication or took donations for a certain political party. Technically, users could choose not to make public the tokens from such sites, but all of this complexity should be hidden from the user anyway. We do not want them to have to make such a difficult decision every time they click a link. Instead, a profile that is not publicly linked to a user’s main profile should be created specifically for a user’s interactions with advertisers. A user’s reputation and value to advertisers will thus be tied to a randomly generated public key. Advertisers will know the user’s shopping and clicking habits — very valuable information for targeting — but will have no idea who they are or what they do and share on DSP. It is likely that advertisers won’t analyze and bid on users individually. Surely specialists that can bundle users in different ways (based on their anonymous public profiles) will cater to advertisers. However, this should not pose a centralization problem. There will be few barriers to entry for such specialists because the underlying WoT data is decentralized and public. An open question is what payment system to use for all this. I do not think DSP should answer this question, but rather should let third party developers create plug-ins. An initial plug-in for a popular payment system supporting micropayments could be developed alongside DSP to get things started. Better yet, a decentralized payment protocol (DPP) could be deployed. ServicesNow that users have money, we can talk about how it can be used to pay for essential DSP services in a decentralized way. • Content storage and accessOne of the services centralized platforms provide is storing and delivering content on demand. Data centers scattered all over the globe are dedicated to this task. For DSP to be truly decentralized, this service must be decentralized too. There cannot be a single entity in charge. Anyone must be able to offer this service with very low barriers to entry, and the users must be in charge of how their data is handled. With users controlling the ad revenue, a narrow competition can be set up whereby content servers try to deliver content as cheaply and quickly as possible. Here is how it might work in practice: a user searches for a piece of content, the “Charlie bit my finger” video for instance. Content servers answer back with prices. The user client then weighs the speed of the responses and prices and sends payment to the best server, at which point the content is delivered. All of this would be handled by algorithms in a split second without human involvement of course. It should require little technical skill to set up a content server. People already running web services could install software that utilizes excess storage and bandwidth just for this purpose. Even home computers and devices could serve this function. WoT could be used to help this system run even smoother. Content servers and users that trust each other can exchange content and payment more loosely rather than bidding for and establishing a transaction for every piece of content. Essentially, content servers could extend a line of credit to users that establish a reputation for following the protocol, or for new users they want to establish a WoT connection with. Different algorithms could be experimented with on both sides. An explore/exploit algorithm could be deployed for users looking for the cheapest, fastest and most reliable servers on the network. On the server’s end, they will want to store the most valuable content they can: the most frequently accessed. How that will work in practice is complex because access (demand) is offset by availability (supply). It is better to be the only server hosting content that is accessed 1,000 times per day than one of a million servers hosting content accessed a million times per day. Servers will experiment with different algorithms as they compete for business. However, it may be that some content is accessed so infrequently that no server will want to host it. Perhaps it is a private message between two people that is very rarely reread. Storage of this content will have to be paid for. Again, servers can compete for the privilege of storing your archived content. Users will want some redundancy here in case the only server hosting their content goes offline. Under this arrangement, we can expect the cost of data storage and access to be extremely cheap, at or near cost. Given that excess server capacity can be used at zero marginal cost, and that some value may be placed on customer acquisition and WoT ratings, data services may even be provided for free in some cases. • User interfaceAnother crucial piece of the DSP puzzle is, of course, what the users experience as they interact with the network. This is what most of us think of when we think of social media: content feeds, friend lists, inboxes, homepages, logos, forums, chat windows, etc. As we have come to expect, platforms have monopolized the user experience for the data sets they control. There is only one place to see your Facebook profile, for example, and that’s facebook.com. This must be decentralized under DSP so that any website or app can display your content, but without having access to that content. Because users are in control of their content, all they need from interface providers are intuitive and enjoyable ways to interact with that content. Instead of just one layout for Twitter accessible only at twitter.com, anyone should be able to set up a service and experiment with different ways for users to generate and interact with their content. Imagine a Facebook-style homepage. On the left is a list of your friends, in the middle is your feed of updates about your friends and on the right are a few ads. And let’s say you are viewing this through an app on your tablet. When you open the app, business logic is pulled from the interface provider which tells the app how to generate the page. Essential information — like your profiles, keys and wallet— is stored locally with your user client as part of the app. If it is a fresh installation and you have preexisting profiles, the app will pull your encrypted user file from a content server and you will have to enter your password. The app will accept the top few bids from advertisers, credit your wallet and display the ads on the right. It will pull your friend list from a content server, along with associated content such as pictures and posts you have been granted access to. The app will use algorithms from the business logic it got from the interface provider to sort and display it all. For this, the interface provider can charge a fee which can come from the ad revenue generated. As with content servers, stiff competition can be expected between interface providers given users’ very low switching costs. So, instead of the users and advertisers going to the platform who controls the content and interface; the advertisers, content servers and interface providers all go to the user and compete for the user’s attention and value. An issue arising from this design is that services relying on access to user content are not possible. For example, how can a user search their private messages by key word if those messages are encrypted and spread over several content servers? Ideally, we would not open Pandora’s box and allow service providers access to content, even under the guise of servicing users. That is how we got into the mess we are in. Thankfully, there is often a creative solution letting users have both privacy and functionality. In the search example above, an interface provider could send the user client an algorithm that indexes the user’s content with key words and stores that index in a separate file accessible only to the user. When the user wants to perform a search, her user client pulls the much lighter index file to search and then pulls only the content matching they key words in the index. This is a user-centric rather than service-centric engineering paradigm. It preserves privacy, and with ever expanding processing power available on the user side, putting the user at the center of things should not be a problem for most applications. However, the main difference for the user is the responsibility of remembering and securing the password for their encryption key. If you forget your password, there is no platform you can go to for a reset. Any other solution to this problem will give a third party access to your content. Perhaps a multi-signature encryption scheme could be deployed where one’s password could be recovered by several trusted parties cooperating. That way no one can access your content by themselves or without your knowledge, and only when you need to recover a password. Ultimately though, a user-centric system empowers the users, and with power comes responsibility. Given the hacks and data breaches of major platforms in recent years, that is a responsibility that users should want. No one cares about your privacy and security more than you do. • Edge casesWe know that social media platforms are profitable, so in the aggregate, ad revenue more than compensates for all the services platforms provide. We should therefore expect the ad revenue for the vast majority of individual DSP users to cover the costs of their content servers and interface providers. It is instructive though to look at three edge cases. At one extreme, there might be users who cannot generate enough ad revenue to cover their costs. It may be that if a user never clicks on ads then advertisers will eventually stop paying to display those ads. However, brand advertisers may still be willing to pay a very small amount, allowing some content delivery. As a worst case, such a user could simply host their own content, eschewing the convenience of a service provider. Or better yet, they could become a service provider themselves and make enough to cover their own DSP use. At the other extreme, there may be users who are so valuable to advertisers that they bring in more ad revenue than is needed to cover the costs of the various DSP services they use. Given the billions of dollars in profit generated by social media platforms benefiting from the network effect, it is reasonable to expect that many users will profit by using DSP and interacting with their advertisers. The last outliers we will consider are the users who would rather not see ads and instead pay for DSP services themselves. Such users will have to fund their DSP wallet themselves which will be slowly drained. The Content ProblemEvery solution to a problem sows the seeds for a new set of problems. Take the internal combustion engine for example. It was a dramatic improvement over horse-powered energy. It eliminated equine waste from city streets, freed up capital and vastly expanded our capabilities. No one would want to go back to a time of horse-drawn buggies and plows, but we do have to deal with air pollution, car collisions and other issues. If electric, self-driving cars are the solution to those problems, we can be sure they will eventually be the source of new problems our progeny will have to solve. DSP helps solve the problems created by the network effect and the centralization of social media platforms. Once adopted, no one will want to return to the days when they had no privacy and only one interface option. However, we will surely have a new set of problems to deal with. An obvious one — one we will have to deal with eventually — is what I call “the content problem.” As formulated above, we can expect DSP to give rise to a censorship-free domain. If one interface censors a user’s content, they can just move on to another that won’t. That is great if the user is pointing out human rights abuses or is simply exercising free speech. However, not all content is speech. Some content is harmful because it contributes to or directly leads to the harm of innocent people. An obvious example is pedophilia. If DSP becomes known as a tool for disseminating that kind of content, no one will want anything to do with it. Interface providers, content servers, advertisers, and the developers behind DSP won’t contribute their talent and resources to it. The average user won’t reap all the benefits of decentralization covered above. DSP will have failed. It could be said that the content problem is caused by the cryptography at the heart of DSP. If DSP did not encrypt user content, the content servers could scan for harmful content and reject it. But this would destroy the privacy of every DSP user, the vast majority of which are regular, law-abiding people. To solve the content problem, we need a way to identify harmful content in a sea of normal content without accessing or seeing any of it. On its face, this seems like an impossible task. However, I have proposed a solution here called Zero Knowledge Artificial Neural Networks (ZKANNs) that use cryptography and networked machine learning to do just this. Something like it will have to be developed eventually to combat the content problem. ConclusionToday’s platforms hold tremendous sway over the attention of users and the value they create. With people locked in via the network effect, platforms can cater to the advertisers, even at the expense of their users. Sophisticated algorithms have been developed to exploit common weaknesses in the human psyche. Vanity, voyeurism and outrage keep users glued to the screen, clicking, scrolling and swiping for more, all so more ads can be displayed. Under DSP, everyone’s incentives are aligned to serve the user, who will use the interfaces they value most. Personally, I would want to use interfaces that help me feel calm, happy and connected to the people and content I care about. For DSP to be successful, it must offer the seamless experience the platforms do, but with the added benefits derived from decentralization. The complexities of encryption, content servers, micropayments, ZKANNs, and ad networks must be hidden from the average user. All they need to know is that the system works, and sometimes they even have some extra money in their wallet. In many ways, DSP will be the fulfillment of the vision of the early Internet, but instead of decentralizing to the domain level, we will decentralize all the way to the users, putting control and privacy where it belongs, in their hands. End NoteI have refrained from surveying the state-of-the-art and recent developments in decentralization technology. It is difficult to do in part, and impossible to do in whole, from within a prison cell. I am sure many of the ideas above are not new, but I hope my musings on the matter will be valuable in some way to those building and using the DSPs of tomorrow. ♦ |
{}
|
Stop and Decrypt ( Feed ) |
|
Monday, 22 February 2021 |
Running Bitcoin & Lightning Nodes Over The Tor Network (2021 Edition) | |
And Connecting Your Phone to Use Lightning On-The-Go♦Preface
In 2018 I made a tutorial for getting a Bitcoin full node up and running on Linux, and I provided a complete step-by-step process, along with explainers for how to use & understand the bash shell, and what certain commands and their f
And Connecting Your Phone to Use Lightning On-The-Go♦Preface
In 2018 I made a tutorial for getting a Bitcoin full node up and running on Linux, and I provided a complete step-by-step process, along with explainers for how to use & understand the bash shell, and what certain commands and their flags did. It’s been 3 years since, and what you’re reading now is the updated and next iteration of that. This tutorial is 1 of 3 being published in tandem. The one you’re viewing currently is the primary one, and brings the other two together to run over the Tor network, and connect your phone’s Bitcoin & Lightning wallets to it using Zap iOS over Tor (if you do not have iOS you may skip the Zap aspects of this tutorial, or use the Zap desktop client). The other two function as standalone tutorials for both Bitcoin & Lightning respectively, and they completely break down the entire node installation process for beginners. The Bitcoin & Lightning sections in this tutorial will be simplified. If you want more detail please reference the standalone guides for each: Primary:
(Click on any section to jump to that part of the tutorial.)
This tutorial will guide you through the process of installing Linux (kind of), Tor, Bitcoin Core, and the Lightning Network Daemon (referred to as LND from here on out), and configuring the Zap mobile wallet for iOS to connect to your LND node over Tor. I’ve made this as modular as possible so that you may skip steps where you already have the software installed. I recommend you read the intro to each step to ensure it can actually be skipped. At minimum, please make note of the following (it will all be explained later):
Skip to installing dependencies & Tor if Linux isn’t new to you. Skip this step entirely if you already have Bitcoin & Tor installed. Skim this entire section for just the commands if you’re impatient.
The downloading & installing step is the only step that won’t actually be a guide. I’m going to assume you have the precursor knowledge and the ability to figure out how to download & mount the ISO image I link below, boot it, and follow the default install instructions. If you don’t, you can follow Ubuntu’s official tutorial for Windows or MacOS. Download Kubuntu ISO imageKubuntu is Ubuntu, but shiny. The most recent LTS release is 20.04.1. (You don’t need to use Kubuntu. Ubuntu will work with this tutorial, or any other Debian based operating system, although you may have to install other packages.) Install ISO Image To USB Or CDIf you’ve never used Linux, it’s probably safe to assume you’re using either Windows or MacOS. Follow Ubuntu’s official tutorial for Windows or MacOS. Install The Operating SystemYou’ll set up a computer name, user, and password. My username for this tutorial will be satoshi, and the computer name will be nakamoto. Log In And Get AcquaintedAfter installation your desktop should look like the screenshot below: ♦Updating LinuxVia the command line in the terminal (Konsole), check for updates: satoshi@nakamoto:~$ sudo apt-get-update (See the beginners guide if this is unfamiliar to you). 1-B) Installing & Configuring TorThe procedures in this tutorial for getting our Bitcoin & Lightning nodes running over Tor will be split across a few sections. This section will cover installing Tor, and configuring the Tor software so that when we configure Bitcoin, Lightning, and Zap to run over Tor, the Tor software will be ready. Tor Tor Tor. First we’re going to install Tor, and then configure it to launch when the computer starts. This will not change any network behavior when you’re browsing/using the Internet, and everything you normally do will still go over the normal Internet. Starting Tor just means that the Tor software is ready to be used by other software. Starting Tor when the computer starts just means we don’t have to remember to launch it every time we start our Bitcoin & Lightning nodes. Adding The Tor RepositoryBefore we can run the command to install Tor, we need to add the repository source so apt knows where to look for the Tor package, but before we add the repository we need to know our Linux distribution's codename. If you installed Kubuntu 20.04.1, the release codename is focal. If you are using a different Linux distribution, enter the following command to find out what to replace focal with during the step after this: $ lsb_release -c For example, my desktop’s Kubuntu 18 release codename is bionic: ♦Now let’s add the repository source: $ sudo nano /etc/apt/sources.list.d/tor_repo.list nano will create a text file named tor_repo.list in that directory, and then open a terminal based text editor. With the editor open, we’re going to paste the following two lines into the terminal, but before we do that note the bold text that says focal. Replace focal with your distributions codename: deb deb.torproject.org/torproject.org focal main After that is pasted, press CONTROL+X, then press ‘y’, and then press Enter. medium.com/media/2bd65e277eb5cf96f28052f60dc8d4ed/hrefAdding The Tor GPG Key & Installing TorNext we need to add the Tor GPG key used to sign the Tor package via the command curl, but we’ll need to install curl first if it’s not already installed: $ sudo apt install curl (Below is a single string, not two lines.) $ curl deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | sudo apt-key add - After adding the GPG key, run an update, which will update the repository index with the tor_repo.list file we created earlier, then proceed with installing Tor: $ sudo apt-get update $ sudo apt-get install tor deb.torproject.org-keyringmedium.com/media/36508e885539dcfee6a8c4307e1143d8/href (During testing for this section on my desktop, which is running an older version of Kubuntu, I ran into dependency issues with the libevent version. If you did not install the Kubuntu version provided in this tutorial, or the most recent Ubuntu equivalent, you may have a similar experience. See here for a possible resolution.) Configuring Tor For Bitcoin & LightningNow that Tor is installed, we need to edit the torrc file located in /etc/tor/. Navigate to it the traditional way, open it, and add the following lines into the file at the bottom: SOCKSPort 9050 To avoid convoluting this step, do not worry about any of the other text in that file. Just scroll to the bottom and add those lines in: ♦medium.com/media/a8be4fc557c56cc22917bec5556b796e/hrefSetting Tor User PermissionsFollowing the Tor configuration, we need to make sure that the user Bitcoin is running on (in my case: satoshi) is included in the “Tor group”. First, let’s find out the name of the Tor group: $ grep User /usr/share/tor/tor-service-defaults-torrc♦ Next, add your user to the Tor group (replace satoshi with your username): $ sudo usermod -a -G debian-tor satoshiRestart Your Machine At this point we need to restart the computer, or log out entirely and log back in. The user & group modifications we just made will not apply unless we do so. Configure Tor To Start During Boot UpWith Tor installed & configured, let’s tell the operating system to start it during boot, via systemctl enable, and then manually start Tor (it runs in the background) via systemctl start: $ sudo systemctl enable tor Tor will now start every time the computer boots up, but it’s not running yet, and we aren’t going to reboot again just to start Tor this one time, so let’s start it up: $ sudo systemctl start tor Your computer is now running Tor. Again, all that means is the Tor software is ready to be used by other software. Your internet traffic is still normal unless specific software tries to connect over Tor (like Bitcoin & Lightning). 1-C) Prerequisites & DependenciesFollowing the updates and Tor, we’re going to install Git. It’s widely used open-source software designed for handling other open-source (and closed) projects. We’ll be using Git to access the Bitcoin repository and download its code. Installing Gitsatoshi@nakamoto:~$ sudo apt-get install git medium.com/media/1dce5d0ae7b73f75567589493af4df42/hrefCloning The Bitcoin Core RepositoryMake a folder called “code” within our home directory, change to that directory, and then clone the Bitcoin repository. $ mkdir -p ~/code && cd ~/code We could clone Bitcoin into any folder we want, this is just the path I chose to create within the home folder. This will set us up for both this tutorial, and later for the Lightning tutorial. Navigate to ~/code directory, then clone the repository: $ cd ~/code $ git clone github.com/bitcoin/bitcoin.gitInstalling Libraries Now we need to install some libraries. In this tutorial I’ve split them into groups similar to the build documentation on Github for Ubuntu. Combining certain ones together can produce errors. Libraries: $ sudo apt-get install build-essential libtool autotools-dev automake pkg-config bsdmainutils python3 libevent-dev $ sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-test-dev libboost-thread-dev $ sudo apt-get install libsqlite3-dev $ sudo apt-get install libminiupnpc-dev $ sudo apt-get install libzmq3-dev $ sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools $ sudo apt-get install libqrencode-devInstalling The Berkeley Database Next we’ll install the Berkeley Database. Eventually the Berkeley Database will no longer be necessary, but it’s still required for now. There is a script included in the Bitcoin repository we cloned earlier to install it, located in /bitcoin/contrib . To run it, navigate into the /bitcoin directory, then run the script: $ cd ~/code/bitcoin $ ./contrib/install_db4.sh `pwd` This will install the Berkeley DB into /home/satoshi/code/bitcoin/db4 . When that completes the output should end with the following instructions, which we will use in the next section: ♦That concludes the prerequisites, now onto actually installing Bitcoin. Part 2 — Installing Bitcoin & Fully ValidatingIn this section we’re going to compile Bitcoin Core from the source code, edit the bitcoin.conf configuration file for the purposes of this tutorial, and then finally sync the Bitcoin blockchain over Tor. Optionally, you may choose to sync the blockchain over the regular clearnet, and then add the Tor configurations into the bitcoin.conf file after the sync is done.
(The version installed in this section may change with new releases.) Navigate to the bitcoin directory we created, checkout the version tags for Bitcoin Core 0.21.0, and then run autogen.sh : $ cd ~/code/bitcoin $ git checkout tags/v0.21.0 $ ./autogen.shPay attention to this step. You are not satoshi. If your user is John, change the next line to: /home/john/code/bitcoin/db4 $ export BDB_PREFIX='/home/satoshi/code/bitcoin/db4' $ ./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" Now for the install. This will take the longest time out of them all. Just let it run and complete: $ make $ sudo make install♦♦ Once that completes you have Bitcoin Core installed! 2-B) Configure The Bitcoin Core Software(If you’re already running Bitcoin Core you may already have a bitcoin.conf file. Yours will need to be edited to include the settings below. As a reminder, if you have a pruned node you will need to turn in off and sync the entire blockchain.) Since the purpose of running software over Tor is privacy, we’ll want to make sure that Bitcoin is properly configured to run only over the Tor network so our IP address isn’t revealed to the world. We’ll also want the config file to include the required LND settings. Again, these things can be skipped for those not interested in every aspect of this tutorial. Alternatively, we can configure Bitcoin to run over both Tor, and the traditional “clearnet”. Additionally, we may be interested in performing the initial blockchain sync (IBD) over the clearnet for speed, and then switching to Tor afterwards (but before we install and run Lightning). We’ll cover all options. Creating The Configuration FileSince we haven’t launched the Bitcoin software yet, the Bitcoin data directory hasn’t been automatically created. It’s a hidden folder, and by default it’s created in the home directory: ~/.bitcoin Since we need to create a bitcoin.conf file before we launch Bitcoin, we need to manually create this directory. In the terminal enter: $ mkdir ~/.bitcoin This folder is where all the blockchain data is stored. If you deleted it, then the next time you launched Bitcoin it would just begin to sync from the beginning, creating all of the data files stored in this directory again as it synced. Now we’re going use the file manager. Navigate to the home directory and make sure the Hidden Files box is checked so we can see the .bitcoin folder. Then navigate into that folder, create a new text file, and save it as bitcoin.conf : medium.com/media/73008fcb00e587518b423ceb783873be/hrefCopy and paste the following text into that bitcoin.conf file, and then save it: # Needed for full validation # Improves LND performance # Allows LND to connect to the Bitcoin node via an RPC user & pass # Allows LND & Bitcoin Core to communicate via ZeroMQ ## Tor Settings ## Tor v3 Seeds addnode=kpgvmscirrdqpekbqjsvw5teanhatztpp2gl6eee4zkowvwfxwenqaid.onion ## Tor v2 Seeds addnode=bitcoinostk4e4re.onion Now that we have the bitcoin.conf file created, let’s review it and make sure the values are set correctly. Some of the text that was copied above is BOLD. That text needs to be catered to you.
They’re all great people, but we’re not going to pester them! Instead, we’re going to manually add seeds to connect to. Seeds are just other nodes that help bootstrap our node. And since we are running our node over Tor, and only over Tor, we need to add other node’s onion addresses instead of IP addresses. Once we connect to them, they send us more nodes we can connect to. Eventually our nodes will build up a long list of nodes and will no longer need the seed nodes (you can and should eventually remove them from the bitcoin.conf file). I’ve provided a list of Tor v2 nodes my current test node is connected to, so as of this tutorial’s publication date, these nodes are up and running and should suffice. Alternatively, here is a much longer list of Tor v2 seeds. I’ve also provided a list on Tor v3 nodes that were advertised in this Reddit thread. (Tor v2 will be deprecated near the end of 2021. When that happens I will remove the Tor v2 seeds from this tutorial. Upgrade your node now!) Alternative Tor OptionsWe’re setting up our nodes to run only over Tor, but you may want to run your node differently:
There are other ways to configure this, but there’s no general reason for them. This covers the main ways people will want to run their Bitcoin full node. 2-C) Starting Up The Software And Syncing The BlockchainWe’re finally going to run Bitcoin, but before we do, let’s open two terminals so we can watch for Tor messages (and hopefully not errors). In the first terminal, enter the following: $ touch ~/.bitcoin/debug.log $ tail -f ~/.bitcoin/debug.log In the second terminal, enter the following: $ bitcoin-qt & tail -f ~/.bitcoin/debug.log | grep tormedium.com/media/a160ffbf66279920cff947e903520b36/href Once the GUI launches, you’ll see a full log output in one terminal, and Tor specific logs in the other. Your node should start syncing, and you should see .onion peers connecting in the Peers tab. If everything was configured correctly, the Tor logs should look like this: ♦By the time this tutorial is published I’ll have wiped my hard drive. The identifying information will be irrelevant.If your output does not look like this, something is not configured correctly. Jameson Lopp has a Tor tutorial that covers a variety of potential errors at the end of it here. If you get an error at this step, don’t hesitate to send me a message, but please review the steps first to make sure they were all followed correctly. Notes & AnecdotesIf your Tor output matches the output above, you’re essentially done with the Bitcoin step. The node just needs to finish syncing before we move onto Lightning. You can close the terminal that was used to look for Tor errors. I recommend leaving the other terminal with all the logs open during the sync. My laptop downloads & syncs the entire Bitcoin blockchain in about 1 day, but over Tor it took a few days to fully sync. This seems to be the result of 2 different things:
Given that issue mentioned above, after about 10–30 minutes of syncing, close down your node and remove all the peers we added in the bitcoin.config file. Your node should have its own list of peers by now, and it should help alleviate an aspect of that issue. One final thing that is specific to laptops: Debian based operating systems running on laptops (like Ubuntu & Kubuntu) may enter sleep mode if the laptop is left unattended too long. This will cause the sync to stop, delaying the overall time you’ll need to wait before it can finish. The Power Management settings are just a layer on top of the operating system. Those settings only let you customize additional power management functionality, they don’t turn it off at the system level. To prevent this, you’ll want to enter these commands: $ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target $ systemctl restart systemd-logind.service If you’re going to be running your node nonstop you’ll want to keep this set, but to reverse these settings at any time, just enter: $ sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.targetPart 3 — Installing Lightning & Opening Channels (If you skipped to this section, please make sure you have ZeroMQ installed, and your Bitcoin Core node is not pruned.) Before we move forward with this tutorial, make sure Bitcoin Core is fully synced. It might take a few days if you just completed the previous step. LND will need Bitcoin Core fully synced before starting up, and the install process takes less than 10 minutes, so just wait for the sync to finish before moving forward.
If you followed this tutorial from the beginning, the only dependency LND will need that we haven’t already installed is Go. We’re going to download the package, extract it, and then install the files into/usr/local/go. $ wget dl.google.com/go/go1.15.6.linux-amd64.tar.gz $ sudo tar -C /usr/local -xzf go1.15.6.linux-amd64.tar.gz Alternatively, for those who were already on Linux and not using AMD64 architecture, you’ll want to download the correct package from here, and edit the commands above. ♦golang.org/dl/Installing LNDInstalling LND is simple, but first we’re going to redefine the PATH variable. $ echo "export PATH=$PATH:~/go/bin:/usr/local/go/bin" >> ~/.bashrc (If you’re already on Linux, and you’re familiar with the ~/.bashrc file, you may edit this in an alternative way if you know what your doing. Otherwise the command above should be fine.) Go ahead and close the shell, and then open a new one so it can load the redefined PATH variable we just set. Move to where we want our LND install directory to be, and then proceed with cloning the LND repository: $ cd ~/code $ git clone github.com/lightningnetwork/lnd Go ahead and install LND: $ cd ~/code/lnd $ git checkout tags/v0.12.0-beta $ make install3-B) Configuring LND & Syncing The Graph With LND installed, we’re now going to configure it to use our Bitcoin Core node, to run over Tor, and to allow connections from the Zap mobile wallet over Tor. Then we’re going to launch Bitcoin & Lightning and allow the Lightning Graph to sync. When we launch LND we’ll be prompted to create a new wallet and write down the seed phrase before LND can start up. Configuring The lnd.conf FileWe’re going to create a lnd.conf file and copy everything below into it. Before we do that though, let’s cover the changes we’ll need to make: ## LND Settings # Lets LND know to run on top of Bitcoin (as opposed to Litecoin) # Lets LND know you are running Bitcoin Core (not btcd or Neutrino) ## Bitcoind Settings # Tells LND what User/Pass to use to RPC to the Bitcoin node # Allows LND & Bitcoin Core to communicate via ZeroMQ ## Zap Settings # Enables LND's REST interface # Tor Settings tor.active=trueLND connects to Bitcoin Core via RPC One of the ways LND will communicate with our Bitcoin Core node is via RPC, and both the lnd.conf & bitcoin.conf will need to be configured for this. We’ve already configured the bitcoin.conf file with an RPC username & password earlier, so now we need to tell LND what that username & password is. Replace the text next to bitcoind.rpcuser= & bitcoind.rpcpass= with the exact same credentials you chose earlier. Zap connects to LND over Tor via RESTDepending on how Zap connects to LND, it will either use LND’s gRPC interface, or LND’s REST interface. Since this tutorial is all about Tor, we’ll be configuring LND to listen over the REST interface. If you followed the Lightning Beginners Guide, you’ll need to change your lnd.conf file for this tutorial. When we launch LND it’s going to create a hidden /.lnd folder where the node’s data and configurations will be placed, similar to the /.bitcoin directory. We’re going to create that directory in advance, along with the lnd.conf file: $ mkdir -p ~/.lnd && touch ~/.lnd/lnd.conf And then we’re going to paste the config text above into that file: medium.com/media/35f490d2bad896270a9e95faa2af1ede/hrefLaunching Bitcoin & LNDLaunch Bitcoin if it’s not already running and make sure it’s fully synced. If you started the Bitcoin GUI using bitcoin-qt, go ahead and close out the application, and then relaunch Bitcoin using bitcoind. We don’t need or want the GUI any longer: $ bitcoind Now that Bitcoin is running, wait about a minute (watch the log output) and then open a second terminal and launch LND via the following command: $ lndmedium.com/media/8c2a3b1de76fa8106e9edfbe16f47649/hrefCreating The Lightning Wallet When launching LND for the first time, you’ll be prompted in the terminal to create a wallet before LND can proceed (highlighted at the end of the video above): [INF] LTND: Waiting for wallet encryption password. Use `lncli create` to create a wallet, `lncli unlock` to We need to open a new terminal to enter the command for creating a new wallet (video below). So go ahead and open a new terminal, then enter: $ lncli create When creating the wallet we’ll be prompted for a few different things: 1: Create a password for the wallet file: Input wallet password: 2: Do you have a seed phrase you want to import? (We will choose ‘n’ for no.): Do you have an existing cipher seed mnemonic you want to use? (Enter y/n): n 3: Encrypt the wallet seed with a passphrase (also known as a 25th word): Your cipher seed can optionally be encrypted. Whatever you decide to do, write all of this down and keep it safe. medium.com/media/b857c613164676c0615965ea1ab12030/hrefAfter the wallet is created we’ll see more output from the terminal running LND. It will begin finding other Lighting Network peers and gathering node & channel information. You now have a Lightning node! 3-C) Funding Your Wallet & Opening A ChannelWith our Lightning node up and running, and the wallet created, the first thing we’re going to do is generate an address so we can send some Bitcoin to it. LND doesn’t have a GUI, so this will all be through the terminal. Later on the Zap wallet will function as our GUI. After a couple of confirmations, we’ll connect to a node and open a channel with it. Address Generation & FundingTo generate an address enter the following into a terminal: $ lncli newaddress np2wkh (If you want to generate a native Segwit address, use p2wkh instead.) All you need to do now is send Bitcoin to that address displayed in the terminal and wait for a confirmation. In the meantime, we can check the confirmation status using this command: $ lncli walletbalance When it finally confirms, you can use the following command to check for how many confirmations your transaction has, among other information: $ lncli listunspentPicking A Node And Connecting To It Every node has a “node ID” (a public key), including ours. When we connect with that node, a secure communication line with that node will be established, which will then allow us to securely create a channel with that node. For the purposes of this tutorial I’m going to connect to ACINQ’s Lightning node. You can choose any node you would like, although for your first channel you’ll want to pick a node with decent liquidity. ACINQ’s public key, IP address, and port number can be found on LN browser sites like 1ml.com: ♦To connect to ACINQ’s node over Tor, enter the following, or replace ACINQ’s public key, IP, and port with your node of choice: $ lncli connect 03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f@of7husrflx7sforh3fw6yqlpwstee3wg5imvvmkp4bz6rbjxtg5nljad.onion:9735 The command format above is [PublicKey] @ [OnionAddress] : [Port] without any spaces or brackets. After entering the command, as seen in the picture below, the LND logs will show you that the connection was established (if successful). ♦This image was taken for the non-Tor tutorial, but the premise is the same.Opening A ChannelOnce the connection is established, to open the channel we’ll need to use the command lncli openchannel, but it will require us to specify what node, and the amount. This will be done using the flags --node_key= & --local_amt=. The following command it what I used: $ lncli openchannel --node_key=03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f --local_amt=10000 When opening a channel, the amount that we enter will specify how large the channel will be, and it will not include the fees required to open that channel. Therefor we cannot use all of the satoshis we just sent to the LN node. The LN requires a channel’s transaction to have 3 confirmations before it can be used. After opening the channel and receiving the transaction ID, we can use LND to check the confirmation status via this command: $ lncli pendingchannels Now that the channel is finally opened, we can begin making payments. You have a functional non-routing LN node. Payments can be made using LND directly, but now we’re going to connect LND to the Zap wallet and use Zap’s interface instead. Part 4 — Connecting Your Phone & Making PaymentsThis section will guide you through connecting the Zap mobile wallet for iOS with our LND node over Tor. If you did not install Tor earlier in this tutorial then you will not be able to do this. The reason we will be using Zap (if you so choose to) is because this is very clearly a Tor-based tutorial, and Zap allows us to connect to our node over Tor while we are on-the-go, away from our computer. Zap can be found on the iOS store. Just download it, launch it, and put it to the side for now. You may also use the desktop version of Zap if you’d like, but this is strictly for connecting Zap to LND remotely over Tor. Alternative methods for connecting Zap will require different configurations that will not be covered in this tutorial.
First we will need to install LND Connect, which is a small piece of software that will generate a QR code we will use to connect our Zap wallet to LND. After that we will need get our onion hostname so LND Connect can generate the QR code, and then scan that with our Zap wallet. Installing LND ConnectTo install LND Connect, just run the following commands and make sure you replace ‘satoshi’ with your username: $ go get -d github.com/LN-Zap/lndconnect $ cd /home/satoshi/go/src/github.com/LN-Zap/lndconnect $ makeObtain Our Onion Hostname Since we’ll be connecting Zap to our node over Tor, we won’t need to forward any ports, but we need to tell Zap what our onion address is so it knows how to reach us. The following command will output the hostname for the LND onion service we are running: $ sudo cat /var/lib/tor/lnd/hostname♦Connecting Zap With LND running, in a terminal enter the following (replace the bold text with your onion address): $ cd ~ $ lndconnect --host=ONIONADDRESS --port=8080 --image♦ This will create a QR code image in your home directory with the name lndconnect-qr.png. From your file browser open the image, and then scan it using Zap. Once it’s scanned Zap will attempt to connect to your node. Since it is connecting over Tor it will take a moment to fully load (see the image in the middle below). If successful you should see a screen showing your node’s current balance: ♦♦♦If Zap cannot connect, you need to review the LND & Tor configuration settings we made earlier. 4-B) Interacting With Your LND Node Via ZapAt this point you may consider the tutorial complete. The remainder of this tutorial will briefly cover using Zap to interact with our LND node, and interacting with the LN ecosystem, such as making payments and balancing our channels. Using Zap To Control & View Our LND NodeOnce Zap connects you’ll be displayed with a Send/Receive screen that shows our node’s total balance, which includes the send capacity of all our channels and whatever remaining Bitcoin we have in our wallet that isn’t currently in a channel. From the Send/Receive screen, swipe right and then select the Channels menu: ♦This will display your current channels, their individual capacity, and how they are balanced. Since all we did so far was open a channel, our channel should only have capacity to send payments, like so: ♦Once you start making payments, you’ll then be able to receive payments as well, and this will be represented like so: ♦You can also open channels by clicking the + sign at the top right, and close channels by click on the one you want to close and then clicking ‘Close Channel’: ♦4-C) Balancing Your ChannelChannel balancing is the act of making sure your channels can both readily send and receive Bitcoin. There are some good explainers on the concept that can be found here, and here. This tutorial isn’t an article on what channel balancing is, but essentially a channel has a total capacity, and the funds are distributed between both ends of that channel. When we opened our channel we funded the entire channel, therefor the capacity is completely on our end. This means we can currently send Bitcoin, but we can’t receive until we either 1) make some payments through the channel, or 2) intentionally balance our channel. Balancing is generally more important for routing nodes since they want to be able to actively route payments in both directions at all times, but regular users of the LN may also want to balance their channels so they can readily receive a payment from another user. Thor from Bitrefill will open a channel to your node with the capacity of the channel on their end, which will allow you to receive payments, or begin your node’s transition to a routing node. Pool from Lightning Labs is another service designed to help provide inbound liquidity. Other solutions for inbound capacity may be found here: Practical solutions to inbound capacity problem in Lightning Network 4-D) Testing Small PaymentsOnce you have a channel, making payments on the LN is very easy. Wherever you go to pay, a LN ‘invoice’ will be provided to you, and you just scan or copy it to your wallet by clicking on the “Send” button. This section will simply provide you with a list of places you can make some test payments. Lightning WebsitesThe following websites are interesting/unique ways you can interact with Lightning. These are not endorsements of these concepts at scale, or the kind of value they actually provide to the network. They’re just interesting ways you can test payments: satoshis.place/ let’s you draw on a public wall and pay via Lightning. pollofeed.com/ has a live stream of chickens that you can feed. yalls.org/ lets you read posts for a small payment. DonationsAlternatively you can make a small donation to the Human Rights Foundation over Lightning: Donate Bitcoin - Human Rights Foundation Extra GuidanceIn the future you may want to upgrade your Bitcoin & Lightning nodes, or you may need to resync Bitcoin Core for this tutorial because you didn’t have the transaction index (txindex=1) that LND uses for performance, or you may need to recompile Bitcoin Core because you didn’t have thelibzmq3-dev dependency required for LND. The steps below will help you for these scenarios. How To Create A Transaction IndexIf you don’t have a transaction index, you’ll need your node to create one before running LND. If you didn’t have txindex=1 in your bitcoin.conf file then you don’t have a transaction index. There’s two scenarios for creating one:
The first thing you want to do for both scenarios is follow the bitcoin.conf steps in this tutorial and make sure you have txindex=1 set in the config file. When that is complete, follow the proper steps below: If your node is pruned: Start bitcoind with a reindex and let it resync the whole blockchain: $ bitcoind -reindex If your node is not pruned: Just start bitcoind normally and let it create the txindex, now that the bitcoin.conf file has the instructions for your node: $ bitcoindHow To Recompile/Update Bitcoin Core Recompiling Bitcoin Core and updating Bitcore Core are essentially the same procedure. We’re going to delete or rename the Bitcoin install directory, and then just reinstall Bitcoin all over again with the newer version. We do not need to:
If you followed this tutorial, the install directory is ~/code/bitcoin The non-hidden folder. If you did not follow this tutorial, the install directory may be ~/bitcoin. In contrast, the data directory is the hidden folder with the period before the word bitcoin: ~/.bitcoin . Do not delete this folder. Leaving this alone will prevent you from having to re-sync or re-validate the blockchain. Your bitcoin.conf file is there, along with your list of peers, among other things. If you’re running and old Bitcoin client and want to follow this tutorial, I recommend renaming the install directory to something like “bitcoin-old”, and then just follow the steps from the beginning. You can double check your client version running this command: $ bitcoind --versionHow To Update LND To update LND, open a terminal and enter the following commands.
$ cd /home/satoshi/go/src/github.com/lightningnetwork/lnd $ git pull $ make clean && make && make install twitter.com/StopAndDecrypt ♦ |
A Complete Beginners Guide to Installing a Lightning Node on Linux (2021 Edition) | |
Running LND With a Bitcoin Core Full Node♦Preface
In 2018 I made a tutorial for getting a Bitcoin full node up and running on Linux, and I provided a complete step-by-step process, along with explainers for how to use & understand the bash shell, and what certain commands and their flags did. I
Running LND With a Bitcoin Core Full Node♦Preface
In 2018 I made a tutorial for getting a Bitcoin full node up and running on Linux, and I provided a complete step-by-step process, along with explainers for how to use & understand the bash shell, and what certain commands and their flags did. It’s been 3 years since, it’s been fully updated here, and what you’re reading now is the new supplementary Lighting tutorial. This tutorial is 1 of 3 being published in tandem. The primary tutorial brings the other two together to run over Tor and connect your phone’s Bitcoin & Lightning wallets to it. The other two (which includes this one) function as standalone tutorials for both Bitcoin & Lightning respectively, and they completely break down the entire node installation process for beginners: Primary:Running Bitcoin & Lightning Nodes Over The Tor Network (2021 Edition) Standalone:
If you followed my Bitcoin tutorial you can just skip straight to Part 1. There’s a few requirements & assumptions this tutorial has if you are arriving here with a Bitcoin node already installed. You may use this tutorial to install Lightning (LND), but this tutorial is meant to follow up the install process detailed in my Bitcoin tutorial. If you did not follow that process, please make note of the details below: 1: You need to have ‘bitcoind’ installed (Bitcoin Core):We’ll be installing the LND implementation of the Lightning Network. LND is compatible with specific Bitcoin node backends, so you will need to have one of these installed for LND to work:
This tutorial requires you have bitcoind installed, also known as Bitcoin Core. 2: ‘bitcoind’ needs to be compiled with ZeroMQ:If you didn’t not arrive here from my Bitcoin tutorial, then it’s possible you did not have a required LND dependency when you installed Bitcoin. You’ll need to recompile Bitcoin after you install the ZeroMQ library: I’ve provided instructions for how to do this here. 3: This guide is designed for Debian based Linux operating systems:I’m working with Kubuntu, which is very similar to Ubuntu, and a Debian based operating system. If you’re using a non-Debian version of Linux then you might have to work the guide a bit to suite your needs. It also uses AMD64 architecture. There are a few steps that will need to be modified if you aren’t using an AMD64 distribution. They will be made clear, but you may also need additional dependencies (that is on you). 4: Install directory can be changed:The install directory (~/code/lnd) used in this tutorial is chosen with my Bitcoin tutorial in mind, and is meant to be friendly to Linux beginners. Feel free to change the install path at your own discretion. I do not recommend changing the default data directory (~/.lnd), it may cause issues. 5: You may want to resync Bitcoin with the configuration txindex=1:LND performs better if your Bitcoin Core node has a “transaction index”. Your bitcoin.conf file should include a line that says txindex=1. If it doesn’t, that’s fine, but you may want to consider syncing your node again with that setting on. I’ve provided instructions for how to do this here. Part 0 — For Those Who Just Want The CommandsYou’ll notice that this section is very short, but the tutorial is pretty long. I’m putting these 8 commands in the beginning to demonstrate that this is all we are really doing (plus copy & pasting text into a configuration file). This tutorial is designed for beginners to Linux, so all facets of the following steps will be explained in detail, and then some. Download & Install Go:$ wget dl.google.com/go/go1.15.6.linux-amd64.tar.gz $ sudo tar -C /usr/local -xzf go1.15.6.linux-amd64.tar.gzPrep for LND Install: $ echo "export PATH=$PATH:~/go/bin:/usr/local/go/bin" >> ~/.bashrcClone the LND Repository: $ cd ~/code $ git clone github.com/lightningnetwork/lndInstall LND: $ cd ~/code/lnd $ git checkout tags/v0.12.0-beta $ make installPart 1 — Installing ‘Go’ & LND Installing LND is pretty quick and simple, but LND specifically needs one more dependency installed other than the dependencies installed for Bitcoin (including the ZeroMQ one mentioned above). Go is the programming language that LND is written in, so we’ll need to install it first. Originally LND needed to be installed within the Go directory, but that is no longer necessary, along with some other steps we can fortunately skip, allowing the bulk of this tutorial to focus on using our Lightning node. Downloading & Installing Go:First we’re going to get the Go package from the Google URL in the command below, then we’re going to verify the SHA256 checksum against what it is supposed to be. $ wget dl.google.com/go/go1.15.6.linux-amd64.tar.gz $ sha256sum go1.15.6.linux-amd64.tar.gz | awk -F " " '{ print $1 }' The output from the sha256sum command should be this: 3918e6cc85e7eaaa6f859f1bdbaac772e7a825b0eb423c63d3ae68b21f84b844 Next we’re going to install Go by extracting (“unzipping”) the .tar.gz package we downloaded. tar , sometimes called tarball, is a file archiving tool, and is very similar to the more familiar zip file format. $ sudo tar -C /usr/local -xzf go1.15.6.linux-amd64.tar.gz The -C flag will instruct the tar command to place the files into the directory specified (/usr/local). The files in this archive will be within a folder named /go when extracted, so the final install path when complete will be /usr/local/go. The -xzf flags are commonly used when extracting & installing software. Just like there is zip (archive) and unzip (extract), the -x flag instructs tar to extract the files. The -z flag tells the tar command that we’re working with a .tar.gz file, which is a compressed archive. The -f flag outputs the files & directories just as described in the archive. medium.com/media/7aeaf344fed7b81a6dcef9dc862dcde9/hrefPrepping & Installing LND:When we install LND, LND will need to reference the Go binaries we just installed, so the first thing we’re going to do is redefine the shell’s PATH variable. When executing commands & scripts, they need to exist somewhere, and the where needs to be defined. The PATH variable tells the shell where to look for commands & scripts. When LND is installing, it will ask the shell something like “can you defrost the steak I bought earlier today?” We know the steak is probably in the freezer. The shell has no idea where we installed that Go binary. If you were to type echo $PATH the output would show you what directories are currently defined: $ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin Each directory is separated by a : , like so: directory1:directory2 . 1: /usr/local/sbin We need to add two other directories to this list. $ echo "export PATH=$PATH:~/go/bin:/usr/local/go/bin" >> ~/.bashrc export will redefine PATH by making it equal to what it already is (that long list), plus the~/go/bin and /usr/local/go/bin directories. echo, the way it’s being used here, will take the output of the export command inside the quotes, and then send it into (via >>) the file ~/.bashrc on a new line. ~/.bashrc is one of a few files that the shell will reference when you launch the shell. If there is ever a time in the future where you need to redefine you PATH variable, you’ll want to open that file and edit the line we just added. Go ahead and close the shell, and then open a new one so it can load the redefined PATH variable we just set. If you were to type echo $PATH again after running that command and opening a new shell, the output would now show this: $ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:~/go/bin:/usr/local/go/binmedium.com/media/1ffccf8fb2e8fadc442592d26d33e448/href Now with the PATH variable defined, let’s move to where we want to clone the LND repository, and then clone it: $ cd ~/code $ git clone github.com/lightningnetwork/lndmedium.com/media/187bcc29d46f9b6f7dea71a6630634c3/href Finally, move into the /lnd directory created from cloning the repository, and then install LND: $ cd ~/code/lnd $ git checkout tags/v0.12.0-beta $ make installmedium.com/media/31bea1d9ec8672e2293d9964548171b9/hrefPart 2 — Configuring LND & Syncing The Graph In this section we’re going to create a lnd.conf file and configure LND to work the way we want it to. Then we’re going to revisit the bitcoin.conf file and modify it so LND will work with Bitcoin Core. Finally, we’re going to launch Bitcoin & Lightning, create a Lightning wallet, and allow the Lightning Graph to sync. Configuring The lnd.conf FileWe’re going to create a lnd.conf file and copy everything below into it. Before we do that though, let’s cover what each setting is doing, and the changes we’ll need to make: ## LND Settings # Lets LND know to run on top of Bitcoin (as opposed to Litecoin) # Lets LND know you are running Bitcoin Core (not btcd or Neutrino) ## Bitcoind Settings # Tells LND what User/Pass to use to RPC to the Bitcoin node # Allows LND & Bitcoin Core to communicate via ZeroMQ ## Zap Settings # Tells LND to listen on all of your computer's interfaces # Tells LND where to listen for RPC messagesLND Settings: These are fairly straightforward settings to explain. LND needs to know a few things before launching:
LND will communicate with our Bitcoin Core node via RPC, and via ZeroMQ. Both the lnd.conf & bitcoin.conf will need to be configured for this, but we will cover editing the bitcoin.conf file after this. The only configuration RPC needs is setting a username & password. This is unrelated to your operating system’s username & password. LND needs to know what that username & password is. Replace the text next to bitcoind.rpcuser= & bitcoind.rpcpass= with whatever you want, just make sure it’s reasonably secure. To configure ZeroMQ, we just need to specify where to send and listen for those messages, and over what ports. No changes to the config text we’re going to copy are necessary for this. Zap Settings:If you’re going to install the Zap mobile wallet, you’ll need to configure LND so you can connect via LND’s gRPC interface. (This will not be the same for the Tor guide. Over Tor, Zap will use LND’s REST interface. Do not worry about this right now.) tslextraip= allows you to set your router’s subnet IP address so LND listens for connections coming from your router. LND uses a TLS certificate to manage these connections. By default LND will create a TLS certificate that only allows connections from the same computer that LND is running on, so we need to specify where else LND should listen for connections before the TLS certificate is created. Connections from Zap on your phone will be over the Internet, so your phone will reach your router first. Then your router will have to forward that connection to your computer running LND. Everyone’s router subnet varies, so using 0.0.0.0 lets LND listen on all possible subnets and helps keeps things simple for this tutorial. It works and you don’t need to change it, but you could. rpclisten= tells LND where to listen for gRPC connections. After including the subnet (or in our case all subnets) above into the TLS certificate, which allows the connections from the router, we now need to specify that gRPC should listen for connections from the router, and over what port. (We’ll cover port forwarding later on.) When we launch LND it’s going to create a hidden /.lnd folder where the node’s data and configurations will be placed, similar to the /.bitcoin directory. We’re going to create that directory in advance, along with the lnd.conf file: $ mkdir -p ~/.lnd && touch ~/.lnd/lnd.conf And then we’re going to paste the config text above into that file: medium.com/media/35f490d2bad896270a9e95faa2af1ede/hrefConfiguring The bitcoin.conf FileIf you followed the Bitcoin Beginners Guide, you only need to add this under the current settings in the bitcoin.conf file located in ~/.bitcoin: # Allows LND to connect to the Bitcoin node via an RPC user & pass # Allows LND & Bitcoin Core to communicate via ZeroMQ Make sure to replace the bold sections above with the RPC username and password you put in the lnd.conf file. These additions to the config file should be self explanatory if you read the previous section. We’re just making sure both config files have the same settings. medium.com/media/ded0646711c8ea7ace609a6193265ed8/hrefIf you did not follow that guide, your bitcoin.conf file will be located elsewhere, and you may want to consider adding txindex=1 and resyncing the blockchain, as LND will perform better. Launching Bitcoin & LNDLaunch Bitcoin if it’s not already running and make sure it’s fully synced. If you started the Bitcoin GUI using bitcoin-qt, go ahead and close out the application, and then relaunch Bitcoin using bitcoind. We don’t need or want the GUI any longer: $ bitcoind Now that Bitcoin is running, wait about a minute (watch the log output) and then open a second terminal and launch LND via the following command: $ lndmedium.com/media/8c2a3b1de76fa8106e9edfbe16f47649/hrefCreating The Lightning Wallet When launching LND for the first time, you’ll be prompted in the terminal to create a wallet before LND can proceed (highlighted at the end of the video above): [INF] LTND: Waiting for wallet encryption password. Use `lncli create` to create a wallet, `lncli unlock` to We need to open a new terminal to enter the command for creating a new wallet (video below). So go ahead and open a new terminal, then enter: $ lncli create When creating the wallet we’ll be prompted for a few different things: 1: Create a password for the wallet file: Input wallet password: 2: Do you have a seed phrase you want to import? (We will choose ’n’ for no.): Do you have an existing cipher seed mnemonic you want to use? (Enter y/n): n 3: Encrypt the wallet seed with a passphrase (also known as a 25th word): Your cipher seed can optionally be encrypted. Whatever you decide to do, write all of this down and keep it safe. medium.com/media/b857c613164676c0615965ea1ab12030/hrefAfter the wallet is created we’ll see more output from the terminal running LND. It will begin finding other Lighting Network peers and gathering node & channel information. You now have a Lightning node! Part 3 — Funding Your WalletWith our Lightning node up and running, and the wallet created, the first thing we’re going to do is generate an address so we can send some Bitcoin to it. LND doesn’t have a GUI, so this will all be through the terminal. Later on the Zap wallet will function as our GUI. Address Generation & FundingTo generate an address enter the following into a terminal: $ lncli newaddress np2wkh (If you want to generate a native Segwit address, use p2wkh instead.) ♦All you need to do now is send Bitcoin to that address. For the purposes of this tutorial I’m going to send 0.0015 BTC. If you’re using a mobile phone to send the Bitcoin, you may find it easier to scan a QR code. If you wish to, at the cost of some privacy, paste your newly generated address into the search box on blockstream.info/, and it will generate a QR code for you: ♦Once the Bitcoin is sent, we’ll need to wait for it to be confirmed into a block. This could take 30 seconds, or a day, depending on the fee that you paid, and the current network conditions. In the meantime, we can check the confirmation status using this command: $ lncli walletbalance♦ Keep checking until the “confirmed balance” changes from 0, to the amount of Bitcoin that you sent. LND will display this in sats (satoshis). When it finally confirms, you can use the following command to check for how many confirmations your transaction has, among other information: $ lncli listunspent♦Part 4 — Opening Channels After a couple of confirmations, we’re ready to begin opening a channel. Before we do so, we need to decide what node we’re going to open a channel with first, then establish a connection with it, and finally open the channel. Picking A Node And Connecting To ItEvery node has a “node ID” (a public key), including ours. When we connect with that node, a secure communication line with that node will be established, which will then allow us to securely create a channel with that node. For the purposes of this tutorial I’m going to connect to ACINQ’s Lightning node. You can choose any node you would like, although for your first channel you’ll want to pick a node with decent liquidity. ACINQ’s public key, IP address, and port number can be found on LN browser sites like 1ml.com: ♦In the terminal, enter the following (all one string), $ lncli connect 03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f@34.239.230.56:9735 The command format above is [PublicKey] @ [IPAddress] : [Port] without any spaces or brackets. After entering the command, as seen in the picture below, the LND logs will show you that the connection was established (if successful). ♦Opening A ChannelOnce the connection is established, to open the channel we’ll need to use the command lncli openchannel, but it will require us to specify what node, and the amount. This will be done using the flags --node_key= & --local_amt=. The following command it what I used: $ lncli openchannel --node_key=03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f --local_amt=10000 When opening a channel, the amount that we enter will specify how large the channel will be, and it will not include the fees required to open that channel. Therefor we cannot use all of the satoshis we just sent to the LN node. The video below will demonstrate the error we receive if we try to: medium.com/media/2597f1d869123407bd92ea57bc7f3892/hrefInstead, use a smaller amount than the total when opening the channel: ♦After opening the channel and receiving the transaction ID, we can use LND to check the status via this command: $ lncli pendingchannels♦ The LN requires a channel’s transaction to have 3 confirmations before it can be used. When the channel is finally confirmed 3 times it is considered opened, and the output from lncli pendingchannels will look like this instead: ♦Now that the channel is finally opened, we can begin making payments. You have a functional non-routing LN node. Payments can be made using LND directly, but now we’re going to connect LND to the Zap wallet and use Zap’s interface instead. Part 5 — Connecting The Zap Mobile WalletThis section will guide you through connecting the Zap mobile wallet for iOS with our LND node. You may also use the desktop version of Zap if you’d like. First we will need to install LND Connect, which is a small piece of software that will generate a QR code we will use to connect our Zap wallet to LND. After we scan the QR code Zap will be connected over the local network, so if you you are using Zap over WiFi at home you’ll be able to interact with LND at this point. After that we can optionally set up port forwarding on our router, which will enable us to connect Zap to our LND node over the Internet. Installing LND ConnectTo install LND Connect, just run the following commands and make sure you replace ‘satoshi’ with your username: $ go get -d github.com/LN-Zap/lndconnect $ cd /home/satoshi/go/src/github.com/LN-Zap/lndconnect $ makemedium.com/media/c1d7577fe40476b04bb1c34c447f6f47/hrefConnecting Zap Zap can be found on the iOS store. Just download it, launch it, and put it to the side for now. Alternatively you can download the desktop version and follow the same steps with a little bit of intuition. With LND running, in a terminal enter the following: $ cd ~ $ lndconnect --image This will create a QR code image in your home directory with the name lndconnect-qr.png. From your file browser open the image, and then scan it using Zap: ♦Once it’s scanned Zap will attempt to connect to your node, and if successful you should see a screen showing your node’s current balance: ♦♦♦At this point you may consider the tutorial complete. If Zap cannot connect, you either need to review the LND configuration settings we made earlier. Using Zap To Control & View Our LND NodeOnce Zap connects you’ll be displayed with a Send/Receive screen that shows our node’s total balance, which includes the send capacity of all our channels and whatever remaining Bitcoin we have in our wallet that isn’t currently in a channel. From the Send/Receive screen, swipe right and then select the Channels menu: ♦This will display your current channels, their individual capacity, and how they are balanced. Since all we did so far was open a channel, our channel should only have capacity to send payments, like so: ♦Once you start making payments, you’ll then be able to receive payments as well, and this will be represented like so: ♦You can also open channels by clicking the + sign at the top right, and close channels by click on the one you want to close and then clicking ‘Close Channel’: ♦Port ForwardingThis section is going to require a little bit of intuition. The main reason for this is everyone has a different brand of router, and I won’t be able to guide you through your router’s settings. If you don’t know what port forwarding is watch this video. Essentially, when our Zap wallet from our phone tries to connect to LND using our IP address, it will reach our router, not our computer. We need to tell our router to send the data to our computer running LND. When you do get to the router’s port settings, here’s the information you’ll need:
To access our router, we simply need to type in the router’s address into our web browser. Since we’re on Linux, we can find that address by opening a terminal and typing route -n, and then looking for the “Gateway” column: ♦The output from this command can be a bit messy, depending on your setup. You’ll want to look for an address that isn’t 0.0.0.0 in the Gateway column, and then paste that into your web browser. My router’s address is 192.168.1.1, which is a pretty common one used by many routers. Another common address is 192.168.0.1. Alternatively you can Google your router’s brand to try and find out what the address is. Once you are able to access your router’s login page, you’ll also need to Google the default username & password for that router. Many of them have both the user & password set to “admin” & “admin”. After logging in, your router should show you all the devices connected to it. Since my laptop’s device name is nakamoto, I can easily identify it in the router settings, and see the IP address associated with your device. That’s the local IP address. Navigate to the port forwarding section of your routers interface and input the required information. I’m not going to be able to guide you any further than this. You’ll need to find instructions for you router if it’s unclear. Enabling The UFW (Uncomplicated Firewall)Port forwarding tells your router to allow connections over the Internet to get routed to a specified port on your computer, in our case: port 10009. Depending on your Linux setup, you may need to tell the computer to allow connections on that port from your router. You may also just want to enable a simple firewall for security, and then open port 10009 for Zap. To enable the UFW and then allow the UFW to listen on 10009 from the router, enter the following (replace 192.168.1.1 with your router’s address we obtained from the port forwarding section above): $ sudo ufw allow from 192.168.1.1/24 to any port 10009 comment 'This allows Zap to grpc to LND from the router' $ sudo ufw enable $ sudo ufw status With the UFW enabled, in the future if you decide to run any other clients, services, or applications that interact over your LAN, you may need to manually perform the ufw allow step for other ports. Just keep that in mind. Testing Small PaymentsOnce you have a channel, making payments on the LN is very easy. Wherever you go to pay, a LN ‘invoice’ will be provided to you, and you just scan or copy it to your wallet by clicking on the “Send” button. This section will simply provide you with a list of places you can make some test payments. Lightning WebsitesThe following websites are interesting/unique ways you can interact with Lightning. These are not endorsements of these concepts at scale, or the kind of value they actually provide to the network. They’re just interesting ways you can test payments: satoshis.place/ let’s you draw on a public wall and pay via Lightning. pollofeed.com/ has a live stream of chickens that you can feed. yalls.org/ lets you read posts for a small payment. DonationsAlternatively you can make a small donation to the Human Rights Foundation over Lightning: Donate Bitcoin - Human Rights Foundation Extra GuidanceIn the future you may want to upgrade your Lightning node, or you may need to resync Bitcoin Core for this tutorial because you didn’t have the transaction index (txindex=1) that LND uses for performance, or you may need to recompile Bitcoin Core because you didn’t have thelibzmq3-dev dependency required for LND. The steps below will help you for these scenarios. How To Create A Transaction IndexIf you don’t have a transaction index, you’ll need your node to create one before running LND. If you didn’t have txindex=1 in your bitcoin.conf file then you don’t have a transaction index. There’s two scenarios for creating one:
The first thing you want to do for both scenarios is follow the bitcoin.conf steps in this tutorial and make sure you have txindex=1 set in the config file. When that is complete, follow the proper steps below: If your node is pruned: Start bitcoind with a reindex and let it resync the whole blockchain: $ bitcoind -reindex If your node is not pruned: Just start bitcoind normally and let it create the txindex, now that the bitcoin.conf file has the instructions for your node: $ bitcoindHow To Recompile/Update Bitcoin Core Recompiling Bitcoin Core and updating Bitcore Core are essentially the same procedure. We’re going to delete or rename the Bitcoin install directory, and then just reinstall Bitcoin all over again with the newer version. We do not need to:
If you followed this tutorial, the install directory is ~/code/bitcoin The non-hidden folder. If you did not follow this tutorial, the install directory may be ~/bitcoin. In contrast, the data directory is the hidden folder with the period before the word bitcoin: ~/.bitcoin . Do not delete this folder. Leaving this alone will prevent you from having to re-sync or re-validate the blockchain. Your bitcoin.conf file is there, along with your list of peers, among other things. If you’re running and old Bitcoin client and want to follow this tutorial, I recommend renaming the install directory to something like “bitcoin-old”, and then just follow the steps from the beginning. You can double check your client version running this command: $ bitcoind --versionHow To Update LND To update LND, open a terminal and enter the following commands.
$ cd /home/satoshi/go/src/github.com/lightningnetwork/lnd $ git pull $ make clean && make && make install twitter.com/StopAndDecrypt ♦ |
{}
|
Stop and Decrypt ( Feed ) |
|
Sunday, 21 February 2021 |
A Complete Beginners Guide to Installing a Bitcoin Full Node on Linux (2021 Edition) | |
Compile Bitcoin on Kubuntu 20.4 Without Linux Experience♦Preface
In 2018 I made a tutorial for getting a Bitcoin full node up and running on Linux, and I provided a complete step-by-step process, along with explainers for how to use & understand the bash shell, and what certain commands and the
Compile Bitcoin on Kubuntu 20.4 Without Linux Experience♦Preface
In 2018 I made a tutorial for getting a Bitcoin full node up and running on Linux, and I provided a complete step-by-step process, along with explainers for how to use & understand the bash shell, and what certain commands and their flags did. It’s been 3 years since, and and what you’re reading now is the updated version. Much of this tutorial you’re viewing currently will be a copy & paste of the older one, although there will be some important changes (especially if you intend on running a Lightning node), and I’ll be screen-capturing all of the steps to accommodate those changes. This tutorial is 1 of 3 being published in tandem. The primary tutorial brings the other two together to run over Tor and connect your phone’s Bitcoin & Lightning wallets to it. The other two (which includes this one) function as standalone tutorials for both Bitcoin & Lightning respectively, and they completely break down the entire node installation process for beginners: Primary:Running Bitcoin & Lightning Nodes Over The Tor Network (2021 Edition) Standalone:
Never used Linux? Don’t know what a “pruned node” means? Perfect. This one’s for you. I want you to learn Linux, and I want Bitcoin to motivate you to switch. This will be as much a “Linux for Dummies” guide as it is a guide to setting up a Bitcoin node. If you already know a thing or two and want to skip all the useless words: Just copy and paste the commands from this section. Many tutorials just give you the steps, and while some are actually pretty good at elaborating a bit this one is literally going to spoon feed you all the questions you might have, down to what each command and flag does. The only precursor knowledge I’ll assume you have is the ability to figure out how to download & mount the ISO image I link below, boot it, and follow the default install instructions. If you don’t, you can follow Ubuntu’s official tutorial for Windows or MacOS. I’ll be making no major changes to the default install configuration to avoid complications, which is why I won’t be installing anything else first besides the screen capturing software, so any dependency issues along the way we should both have. If you run into any other issues, get confused somewhere, or think I should include something, just comment below or reach out to me on Twitter and I’ll try to assist. I still get people reaching out to me 3 years since publishing that original guide, which has partially motivated me put out this updated version. Part 0 — For Those Who Just Want The CommandsYou’ll notice that this section is very short, but the tutorial is pretty long. I’m putting this in the beginning to demonstrate that this is all we are really doing. This tutorial is designed for beginners to Linux, so all facets of the following steps will be explained in detail, and then some. Update The OS:sudo apt-get update Install Git:sudo apt-get install git Make And Move To The Install Directory:mkdir -p ~/code && cd ~/code Clone The Bitcoin repository:cd ~/code git clone github.com/bitcoin/bitcoin.gitInstall libraries: sudo apt-get install build-essential libtool autotools-dev automake pkg-config bsdmainutils python3 libevent-dev sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-test-dev libboost-thread-dev sudo apt-get install libsqlite3-dev sudo apt-get install libminiupnpc-dev sudo apt-get install libzmq3-dev sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools sudo apt-get install libqrencode-devInstall the Berkeley DB: cd ~/code/bitcoin ./contrib/install_db4.sh `pwd`Prepare for installing Bitcoin: cd ~/code/bitcoin git checkout tags/v0.21.0 ./autogen.shReplace /satoshi/ with your username: export BDB_PREFIX='/home/satoshi/code/bitcoin/db4'More preparation: ./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include"Compile & Install Bitcoin: make sudo make installStart Bitcoin: bitcoin-qt & Part 1— Setting Up(Skip this section entirely if you’re already on Linux.) Download Kubuntu ISO imageKubuntu is Ubuntu, but shiny. The most recent LTS release is 20.04.1. (You don’t need to use Kubuntu. Ubuntu will work with this tutorial, or any other Debian based operating system, although you may have to install other packages.) Install ISO image to USB or CDIf you’ve never used Linux, it’s probably safe to assume you’re using either Windows or MacOS. Follow Ubuntu’s official tutorial for Windows or MacOS. Install the Operating SystemYou’ll set up a computer name, user, and password. My username for this tutorial will be satoshi, and the computer name will be nakamoto. Log In And Get AcquaintedAfter installation your desktop should look like the screenshot below: ♦Feel free to poke around and get familiar, but at some point navigate to the Application Launcher (“Start Menu”) and run Terminal (Konsole). We’re going to be working within this single window for the majority of this tutorial until we get to the end, but we’re also going to open up the File Manager, called Dolphin. Navigating this is very similar to the file explorers on Windows & MacOS. ♦Before we enter anything into the terminal let’s take a look at what we already see. At the top of the terminal window it says “Konsole”. That’s just the name of the software specific to this desktop environment. Sometimes you’ll see it referred to as the terminal, command line, shell, or whatever it may be named in another Linux operating system. ♦satoshi is the username. nakamoto is the computer’s hostname and will show up on whatever network you may be connected to. Yours will be whatever you selected during the installation. In between the : and $ you’ll see a ~ . This is an abbreviation for your /home/<username> directory. satoshi@nakamoto:~$ satoshi@nakamoto:/home/satoshi$ Whatever directory the terminal says you are in is equivalent to being there in the graphic based file manager. Part 2— Prerequisites & Dependencies(Skim this section for the commands if you’re already on Linux.) Updating LinuxThe first thing we’re going to do in the terminal is check for updates. Via the command line in the terminal we just opened, go ahead and type the following command to begin updating the operating system. Along the way you’ll be prompted to type “y” for yes, and your password: satoshi@nakamoto:~$ sudo apt-get update sudo is sometimes called “superuser do”. It’s kind of like using “Run as administrator” in Windows, but better. It’s necessary throughout this tutorial because the commands that follow it will try to do things that require superuser privileges. apt-get lets you interface with available software libraries so you can download software straight from the terminal. update is one of a few commands that must follow the use of apt-get, and it will check for updates to any packages you have installed and install them. Installing GitNext we’re going to install Git. It’s widely used open-source software designed for handling other open-source (and closed) projects. We’ll be using Git to access the Bitcoin repository and download its code. satoshi@nakamoto:~$ sudo apt-get install git install should be self explanatory, it’s like update, but for when you’re installing a specific package for the first time. Using it requires a package name. git is the name of the Git package, and is recognized as such by the list of sources the apt-get command refers to. It will also function as a command after it is installed. medium.com/media/1dce5d0ae7b73f75567589493af4df42/hrefCloning The Bitcoin Core RepositoryNow we’re going to make a folder called “code” within our home directory, and then change to that directory. This will set us up for both this tutorial, and later for the Lightning tutorial. We could clone Bitcoin into any folder we want, this is just the path I chose to create within the home folder. First, enter the following line: satoshi@nakamoto:~$ mkdir -p ~/code && cd ~/code Now it should look like: satoshi@nakamoto:/home/satoshi/code$ mkdir makes a directory. This is like right clicking on the desktop or in a window and selecting “New > Folder”. -p is a flag. Flags are command-line options and will start with a — . Each command (like mkdir) has their own set of options, so -p may do something else for another command. In this case -p overrides some errors you might get when trying to create a directory, and actually does what you’d probably want mkdir to do in the first place. If you wanted to create the directory /test1/abc123/haha, without -p, it thinks you just want /haha and you would get an error saying /test1and /abc123don’t exist. With -p those errors are ignored and both parent directories that “don’t exist” are created as well. code is just the directory/folder name we’re going to create. && allows you to execute another command on the same line, but will only execute the second command if the first command doesn’t fail with an error. cd will change the current directory to the one you specify. In this case it will change to the ~/code directory we just created. Then enter: $ git clone github.com/bitcoin/bitcoin.git git clone will copy the Bitcoin repository from Github.com into the directory you’re in when you enter the command. Since were in ~/code, this will create the directory ~/code/bitcoin and place all the necessary files in there. (When we install Lightning, it will go into the ~/code/lnd directory.) medium.com/media/5da2749a977f45e8f2b910addba4aa6e/hrefYou can check to see if the files installed by using the ls command, or you can browse to that directory in the File Manager. $ ls ls will output all the non-hidden folders in the directory you’re currently in. ♦ls bitcoin will look for a /bitcoin folder within the directory you’re in, and then output all the non-hidden folders in that directory. ls -a will output all folders, including hidden folders if any exist. Hidden folders begin with a . and will look like this: /home/satoshi/.abc123 ♦The output from the terminal matches the files shown in the file manager. One is text, the other is graphical.Installing LibrariesNow we need to install some libraries. When installing libraries you can sometimes list many in a single command and separate them with a single space. In this tutorial I’ve split them into groups similar to the build documentation on Github for Ubuntu. Combining certain ones together can produce errors. Libraries: $ sudo apt-get install build-essential libtool autotools-dev automake pkg-config bsdmainutils python3 libevent-dev $ sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-test-dev libboost-thread-devmedium.com/media/9c4c2424a328185b52e9a586805050fe/href Some more libraries: $ sudo apt-get install libsqlite3-dev $ sudo apt-get install libminiupnpc-dev $ sudo apt-get install libzmq3-dev $ sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools $ sudo apt-get install libqrencode-devmedium.com/media/4bf00a0bc3b18e145f595fbb8d7b6926/hrefInstalling The Berkeley Database Next we’ll install the Berkeley Database. Eventually the Berkeley Database will no longer be necessary, but it’s still required for now. There is a script included in the Bitcoin repository we cloned earlier to install it, located in /bitcoin/contrib. To run it, navigate into the /bitcoin directory, then run the script: $ cd ~/code/bitcoin $ ./contrib/install_db4.sh `pwd` (You could also just type cd bitcoin, provided you haven’t changed directories since the previous step. Remember, I’m assuming you’re brand new to Linux.) pwd is a command that simply outputs what directory you are currently in. When the script above is ran it will install the Berkeley DB into the directory specified. In the case above, we have no directory specified, but the command will replace pwdwith the directory we are currently in (home/satoshi/code/bitcoin). This will install the Berkeley DB into /home/satoshi/code/bitcoin/db4 . medium.com/media/02ea8301811c6d41c512e5deca29707f/hrefWhen that completes the output should end with the following instructions, which we will use in the next section: ♦That concludes the prerequisites, now onto actually installing Bitcoin. Part 3— Compiling Bitcoin Core 0.21.0(The version installed in this section may change with new releases.) After completing the Berkeley DB step, we should be in the /bitcoin directory, but just in case, let’s make sure we are there and then begin compiling & installing Bitcoin. $ cd ~/code/bitcoin $ git checkout tags/v0.21.0 $ ./autogen.sh git checkout tags/v0.21.0 will reference a specific specific tag that was “commited” from the git history. “Branches” can change as updates occur so referencing a branch may make the command not work in the future. ./autgen.sh will, simply put, prepare the build files for install. This is another script included in the Bitcoin repository we downloaded. medium.com/media/56afe7d6345d2d4b6f3399762f4b5a00/hrefPay attention to this step.export is going to define the variable BDB_PREFIX as the full Berkeley DB install directory specified: /home/satoshi/code/bitcoin/db4 You are not satoshi. If your user is John, change the next line to: /home/john/code/bitcoin/db4 $ export BDB_PREFIX='/home/satoshi/code/bitcoin/db4' That command is the only command in this tutorial where the username (and the correct one, yours) needs to be specifically provided. As mentioned in the beginning, ~ is equivalent to /home/<your-username> , so all of the other commands we enter will just use ~ instead. That specific export command above requires the full path to be typed out, which is why we aren’t using ~/code/bitcoin/db4 instead. $ ./configure BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" BDB_CFLAGS="-I${BDB_PREFIX}/include" ./configure and the additional text on that line (notice the BDB_PREFIX) will amend the configure.ac file in the Bitcoin repository with the Berkeley DB directory above. This allows the install process to know where we installed the Berkeley DB. medium.com/media/e9343dd849058ad64f0129c90b5afdae/hrefNow for actually compiling and installing. This will take the longest time out of them all. Just let it run and complete: $ make $ sudo make install The make command will compile, and be the longer of the two. When that is complete, don’t forget to run sudo make install afterword, so the software is actually installed. (I’ve received messages where this was the case.) ♦♦Once that completes you have Bitcoin Core installed! Part 4— Configuring And Familiarizing Yourself With Your New Node(Much of this section isn’t required to just run the software, but we still need to create the bitcoin.conf file so do not skip this. In the future you’ll likely just run it in the background and let it be. This is all to help you get a feel for what’s going on behind the scenes, not just trusting a background process to work.) Before we launch Bitcoin and let it sync, we need to create & configure the bitcoin.conf file. But before we configure Bitcoin, let’s start & stop the software a couple of different ways to get a feel for what we are doing. Launching The Bitcoin Core GUI And Viewing LogsThe first thing I want you to do is set up a few windows before we run Bitcoin for the first time. We’re going to run the GUI version first, called bitcoin-qt, then we’ll exit it and run the non-GUI version called bitcoind, and then back to bitcoin-qt, with some steps and configuration in between so you can understand what’s really happening and feel comfortable starting and stopping the software when you need to. Close all open windows, and open two brand new terminal windows and the file manager. In the file manager navigate to /home/satoshi. Pressing Home on the sidebar will take you to /home/satoshi. Then from the menu bar at the top check the box for Show Hidden Files: ♦You’ll know it’s been selected because more files will appear, and you’ll notice they all have a “ . ” in the begging of their names.We’re going to create another hidden file (the Bitcoin data directory). In one of the terminal windows we opened, enter the following: $ mkdir ~/.bitcoin $ cd ~/.bitcoin You should now see a folder named .bitcoin appear in the file manager as well. Navigate into that folder, and we’re now redundantly in this directory both in the terminal and file manager, but for a reason. medium.com/media/efe64bc65cf26fe2f7192d0fc09e4662/hrefNow we’re going to create a file called debug.log. When you first launch Bitcoin, both this hidden folder, and the debug.log file are automatically created, but you’ll see why I want to do this ahead of time in a moment: $ touch ~/.bitcoin/debug.log touch will create the file we specify (debug.log) into the directory we specify. Now we’re going to tail the debug.log file. Log files get updated continuously with new lines of information as the program takes a log of its actions. The tail command shows you the most recent entries into that file, but only once. Using the -f flag will give you a continuously running stream of those updates. We can’t tail a file that doesn’t exist, which is why we created debug.log ahead of launching Bitcoin Core for the first time. When you enter the following command you’ll see nothing because Bitcoin isn’t running yet, but we’ll leave it like this for now: $ tail -f ~/.bitcoin/debug.log In the other terminal window we opened, run Bitcoin by entering the following: $ bitcoin-qt You’ll see the loading image, and then a setup window prompting you to select where you want to store the blockchain and the node data. We’re going to use the default directory. Go ahead and click OK, and you’ll start to see activity in the terminal where you tailed the debug.log file. All of the above should look like this on your screen: medium.com/media/c4df6b88a708a0e712a15036f3db8024/hrefNormally when launching Bitcoin Core for the first time, it will ask you where you want to install the data directory (/.bitcoin). Since we already created it ahead of time to tail the debug.log file, the application detected that and skipped asking us. You can watch this for however long you want because it will take a long time to sync, but we still need to change some configurations and restart. At some point, in the same terminal where you entered bitcoin-qt, now press CONTROL+C. You’ll see the GUI close down, and the log file will stop. You can read the exit messages in the log, and you can scroll up and read all the different events that occurred. Now that it’s stopped, close all windows. Launching Bitcoin In The TerminalThe purpose of this short section is to demonstrate how to we’ll run Bitcoin when we move on to the Lightning tutorial. Bitcoin can be launched via the GUI using bitcoin-qt, or via the terminal using bitcoind. Open a new terminal and type: $ bitcoind Bitcoin is now running via the terminal, and outputting the logs on its own. Press CONTROL+C to stop it again. Bitcoin will shut down and you can see the log output as it shuts down: medium.com/media/d8b2d3a09c417d1a43fe890e6c0e81c2/hrefCreating The bitcoin.conf FileWe need to create a configuration file now, so in the file explorer create a file called bitcoin.conf . Open it, paste the following, and save the file: # Needed for full validation # Improves LND performance # Not needed, but will show us useful info later in the tutorial Alternatively, this next config is exactly the same but without the comments: assumevalid=0medium.com/media/0d78c574b9afdc02a0e9f5c8fbad3a1c/href debug=net will just show us some extra network activity in the log output. This can be left out if you really don’t care, or removed after you are done with the tutorial. By default, not all of the debug information is included in the log file. Setting it to 1 will include all of it, but there’s way too many lines and all the info flies by too fast when tailing the log. It’s useful for diagnostic purposes, but we’re not going to use it. All the debug config options you can set are: net, tor, mempool, http, bench, zmq, db, rpc, estimatefee, addrman, selectcoins, reindex, cmpctblock, rand, prune, proxy, mempoolrej, libevent, coindb, qt, leveldb. Disclaimer: Do not leave debug set to 1 indefinitely or your log file will grow larger than the entire blockchain and fill up your hard drive. It’s happened to me. txindex=1 will create a transaction index as the blockchain syncs, which will ready the node for my Lightning tutorial that follows this. assumevalid=0 will force your node to validate every transaction & block from the Genesis block (the very first block mined). This is also where you can optionally set your node to prune the blockchain as it goes along. Right now the entire blockchain is about 160 GB in size. If you don’t have enough storage space, you could prune the data down to under 5 GB at the moment. I don’t recommend doing that unless you need to, but this is what you would enter on its own line to bring it down to 10 GB: #(Example config) debug=net If you’re going to follow the Lightning guide, do not prune your node. Your config file can have many options set, and it doesn’t matter what order they’re in, so it could also look like this if you hypothetically want to restrict your node’s mempool to 100 MB worth of transactions: #(Example config) debug=net Or like this if you want to (and should) force your node to check the validity of every signature. The definition of a full node is contested, but my stance is a full node is one that has fully validated the entire blockchain, so this “assume valid” setting in the config file will be necessary. Setting it to 0 tells your node to not assume anything. Without this set your node will skip over validating older blockchain data: #(Example config) debug=net For now just save the bitcoin.conf file with debug set to net, txindex set to 1, add a prune value if you need it, along with assumevalid set to 0 if you want your node to fully validate the blockchain (recommended, and it shouldn’t add too much time to the syncing process unless you’re on very low end hardware). Again, the order they are listed in the config file doesn’t matter. Alternatively you can use something like Jameson Lopp’s config generator if you’re interested in setting additional config options. We’re going to relaunch the Bitcoin GUI, but this time the command will be slightly different. Before we do that, let’s make sure we still have two terminal windows open (video further below). In the first terminal, enter the following: $ tail -f ~/.bitcoin/debug.log | grep "UpdateTip:" Again because it’s a tail, you’ll see nothing until you re-run bitcoin-qt or bitcoind. grep is a command that has a few functions, but in this context, it will take the output from the first command and filter for it so it only shows lines that include the text within the quotes. They way we’re using it here will take the output of tail -f (all of the logs) and only show lines that include the text “UpdateTip:”. UpdateTip: is specific verbiage that only appears when a new block is added. The | is commonly called a “pipe”, and all it really means is “take the output of the first command and send it through the second command”. You’ll hear people say terms like “pipe it to grep” or “pipe it to more”, and this is what they mean. In somewhat simpler terms: tail -f will output the log as it updates, pipe will send that output to grep, and grep will filter out all the lines that don’t include “UpdateTip:”, and then show you the remaining lines (that do include UpdateTip:) in the terminal. In the 2nd terminal we opened, launch Bitcoin by typing the following: $ bitcoin-qt & The & symbol will allow it to run in the background, so we can continue to make use of that terminal. After launching Bitcoin, in that same terminal enter the following: $ tail -f ~/.bitcoin/debug.log | grep -v "UpdateTip:\|Requesting block\|sending getdata\|received block\|received: block" This is the same grep command but with the -v flag, and will do the opposite of the previous command and filter out any line with the text we specify. UpdateTip: is included first, because we’re already pulling that specific information into a different window. What you’ll see next are the two symbols \|and what these do is tell the grep command “filter out x and y and z and …” So now we’ve effectively split a single log file up into two outputs so we can more accurately watch what’s going on, and filter out some other info I’ve chosen so you have a slower scrolling output. This way you can keep direct track of the blocks coming in with the first tail command without it forcing the other information out of the way. Feel free to play around with what you want to include and exclude until you’re comfortable using the command. Now you should have Bitcoin syncing, and two terminals with tail commands running. One showing you the new blocks coming in, and the other showing the rest of the log output. medium.com/media/68aabb75667cd91604ab36a67cdc8a82/hrefThat’s it! Just let it sync. Depending on your hardware & bandwidth it could take anywhere from a handful of hours to multiple weeks (unlikely). When it’s finally synced, blocks will start coming in once every ~10 minutes on average and the the debug.log file will start showing a lot more activity, including transaction relaying information which doesn’t begin until after the Initial Block Download (IBD) period. One final thing that is specific to laptops:Debian based operating systems running on laptops (like Ubuntu & Kubuntu) may enter sleep mode if the laptop is left unattended too long. This will cause the sync to stop, delaying the overall time you’ll need to wait before it can finish. The Power Management settings are just a layer on top of the operating system. Those settings only let you customize additional power management functionality, they don’t turn it off at the system level. To prevent this, you’ll want to enter this command: $ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target $ systemctl restart systemd-logind.service If you’re going to be running your node nonstop you’ll want to keep this set, but to reverse these settings at any time, just enter: $ sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target When you’re ready you can proceed with installing Lightning: A Complete Beginners Guide to Installing a Lightning Node on Linux (2021 Edition) Extra GuidanceIn the future you may want to upgrade your Bitcoin node, or you may need to resync Bitcoin Core for this tutorial because you didn’t have the transaction index (txindex=1) that LND uses for performance, or you may need to recompile Bitcoin Core because you didn’t have thelibzmq3-dev dependency required for LND. The steps below will help you for these scenarios. How To Create A Transaction IndexIf you don’t have a transaction index, you’ll need your node to create one before running LND. If you didn’t have txindex=1 in your bitcoin.conf file then you don’t have a transaction index. There’s two scenarios for creating one:
The first thing you want to do for both scenarios is follow the bitcoin.conf steps in this tutorial and make sure you have txindex=1 set in the config file. When that is complete, follow the proper steps below: If your node is pruned: Start bitcoind with a reindex and let it resync the whole blockchain: $ bitcoind -reindex If your node is not pruned: Just start bitcoind normally and let it create the txindex, now that the bitcoin.conf file has the instructions for your node: $ bitcoindHow To Recompile/Update Bitcoin Core Recompiling Bitcoin Core and updating Bitcore Core are essentially the same procedure. We’re going to delete or rename the Bitcoin install directory, and then just reinstall Bitcoin all over again with the newer version. We do not need to:
If you followed this tutorial, the install directory is ~/code/bitcoin The non-hidden folder. If you did not follow this tutorial, the install directory may be ~/bitcoin. In contrast, the data directory is the hidden folder with the period before the word bitcoin: ~/.bitcoin . Do not delete this folder. Leaving this alone will prevent you from having to re-sync or re-validate the blockchain. Your bitcoin.conf file is there, along with your list of peers, among other things. If you’re running and old Bitcoin client and want to follow this tutorial, I recommend renaming the install directory to something like “bitcoin-old”, and then just follow the steps from the beginning. You can double check your client version running this command: $ bitcoind --version twitter.com/StopAndDecrypt ♦ |
{}
|
Nic Carter ( Feed ) |
|
Wednesday, 17 February 2021 |
On Writing | |
♦Barnhill, the cottage on the Scottish isle of Jura where George Orwell wrote 1984
A few years ago, I realized that I was writing for myself rather than others. As a kid, I had a bit of a reputation as a writer, having written short fiction stories from a young age. These were mostly rip-offs of bo
♦Barnhill, the cottage on the Scottish isle of Jura where George Orwell wrote 1984
A few years ago, I realized that I was writing for myself rather than others. As a kid, I had a bit of a reputation as a writer, having written short fiction stories from a young age. These were mostly rip-offs of books I was reading at the time. From the ages of seven to ten, I was obsessed with a series called The Edge Chronicles, and I wrote a shallow recreation of Beyond the Deepwoods called Into the Thick Woods, if my memory serves. I submitted it to a short story contest under my little sister’s name and “she” won a $50 Barnes and Noble gift card, which I used in turn to buy more Edge Chronicles books. Whenever I had to write a short story for class in grade school, I’d lift the plot of whatever I happened to be reading at the time. I went to French school, so I was particularly fond of Asterix et Obelix, Tintin, Les Schtroumpfs (the Smurfs), and Benoît Brisefer, and I’d write thinly-veiled adaptations. Great artists steal, right? In my early teens, I would write chapters of an original novel called The Magic of the Desert and give them to family members as Christmas gifts. These were wordy affairs stocked with the latest delights pulled from my trusty thesaurus. The plot itself was a shoddy mashup of Eragon and the Lord of the Rings, two of my youthful favorites. Words were competitive for me; I felt that accumulating as many as possible might give me an edge, somehow. I was a quiet, short kid who, due to family circumstances, bounced around between schools. Consequently, I didn’t have many long-term friendships. For those of you that didn’t go to French school (Lycée), they place an extremely strong focus on dictation (dictées) in primary and middle school. Since French grammar and conjugation is substantially more complex than in English, French children face weekly ordeals in which the teacher recites a text and they have to spell it out correctly. Easy, right? Well, miss an accent aigu here and, a silent feminine e here, and an accent circonflexe there and all of sudden you have failed and are rewarded with deux heures de colle (two hours of detention, literally “glue”). This all made a very strong impression on me. The dreaded troika of conjugaison, grammaire, and orthographie imparted in me the feeling that words were of paramount importance. One particularly vivid memory dates to my time at the French international school in Warsaw, Poland, where my family relocated in the early 00's. I was about 11 at the time, and had moved there the year prior, friendless, a strange hybrid british-american kid in a french school in Poland. My teacher was castigating my classmates for their poor performance on a dictée: l’anglais vous a battu encore! (the English kid has beaten you again!) While her outburst did not help my popularity with my classmates, I did take some pleasure in beating the native speakers at their own game. In a tumultuous world, grammar was definite and predictable. I liked that. Like lot of other bookish kids, I found in novels a ready substitute for reality. Fantasy and sci-fi were particular favourites. JRR Tolkien, Terry Pratchett, C.S. Lewis, Brian Jacques, Douglas Adams, Orson Scott Card, and Frank Herbert were my companions. People sometimes ask how and why I accumulated so many esoteric words. It started simply enough. When I came across a word or phrase I liked, I’d write it down in a notebook or on a scrap of paper. I wanted to cram as many into my head as possible. I’d later rationalize this as enabling me to communicate with precision, but the motivator was simply curiosity and a competitive instinct. I took pride in my vocabulary, as if a large inventory of words was something I would be able to redeem for a plastic toy at an arcade later on. At first an externality of a bookish childhood, the practice later grew into an obsession, as my interests deepened into etymology, typography, and grammar. I’m ashamed to admit that at one time, I genuinely prided myself on knowing the differences between various style guides. I have spent more time than I would care to admit designing fonts from scratch, investigating the origins of words, and trying to popularize neologisms that I had coined. Knowing a smattering of various romance languages helped. Beneath the surface, a few core proto languages explain a huge fraction of lexical variation. A surefire way to identify someone who has learned most of their words from a lone bookish childhood is mispronunciations. If you’ve only ever read a word, and never heard it spoken, you are liable to pronounce it wrongly. I’ll never forget a moment during a high school debate competition in which I plucked “anathema” (anna theema) out of my repertoire and the judge kindly corrected my pronunciation. Humiliation. Despite these shortcomings, there really is a thrill in finding precisely the right word or phrase in context. The right insertion almost makes a satisfying clunk in my brain. Words have feelings to me, their very construction and form has a synesthetic nature. Susurrus. Expunge. Melancholy. Glottal. Clarion. Even words that sound nothing like what they mean have an irresistible sardonic flavor to them. Pulchritude (beauty?). Felicific (relating to happiness?). When I’d read a passage with a particularly delightful turn of phrase, I’d find myself impressed and envious. I hated that I couldn’t perform at an elite level like these authors could. And I wanted to be like them. But this tendency would cause me much grief later on. Much of my early writing found a home in various school newspapers. I wrote ghastly op-eds on forgettable topics, but did so with ostentatious, flowery prose. This impressed some people, but informed few. In time, I became a caricature of myself, leaning in to the stereotype of that “dreadfully clever boy” and my writing became a semantically empty mess — the equivalent of an ornate, but non-load-bearing, corinthian column. As Orwell says, “all writers are vain, selfish, and lazy, and at the very bottom of their motives there lies a mystery.” Well there was no mystery in my case: through insecurity, I wanted to appear clever. And I suppose this worked, but I doubt anyone was particularly impressed by my writing. Today, when I notice other writers producing overly ornate prose, I feel pity. I don’t exactly recall when the revelation ultimately hit me. I think it was sometime in my undergraduate years. I read philosophy: the faculty was perched, almost precariously, on cliffs overlooking the North Sea on the east coast of Scotland. My primary memory of that period involves being repeatedly upbraided for compromising clarity in favor of style. I eventually learned my lesson and realized that writing ought to be primarily an exercise in transporting meaning into the mind of the reader. Anything else is largely unnecessary. While carefully crafted sentences can be engaging and enhance a text, only the merest ornamentation is necessary to break the tedium. Thus I decided that I would surrender, or at least cut back, those tendencies accumulated over my first two decades. I had to unlearn everything I had sloppily taught myself about writing. Orwell was a guru to me in that transition. In his essays about writing plainly, he makes it clear that his stylistic choice is not a gambit to appeal to the common man. Instead, his famously plain style was a consequence of his view that complexity in language was an instrument of obfuscation. No surprise that his books are taught in grade school today, as his writing is innately accessible. That gives it an enduring strength. Although I’m sure that resisting the aesthetic impulse gave him a pang or two during that tuberculotic sojourn on Barnhill, the Jura cottage where he penned 1984. For me, the struggle of writing is chiefly one of vanity versus utility. Being concise is hard. It requires painfully shedding text that you’ve sweated and labored over. Being sufficiently humble that you are willing to convey ideas into the heads of your readers at the expense of demonstrating your skill with words — that is the challenge. But as with all asceticism, there’s a sublime joy in restraint. The best writers must learn it. Writing is for the reader, after all. ♦ |
{}
|
Nic Carter ( Feed ) |
|
Tuesday, 16 February 2021 |
Elemental Bitcoin is Money | |
♦Gold ore in quartz. Credit: JXSC
During a recent debate between myself and hedge fund investor Mike Green, Mike insisted that Bitcoin should not be considered money by virtue of my comparisons between Bitcoin and gold, because gold itself was not money. This led me to ponder why gold was not
♦Gold ore in quartz. Credit: JXSC
During a recent debate between myself and hedge fund investor Mike Green, Mike insisted that Bitcoin should not be considered money by virtue of my comparisons between Bitcoin and gold, because gold itself was not money. This led me to ponder why gold was not money. If I’ve understood him correctly, Mike is right when it comes to gold. Gold, in its elemental, disordered form, should probably not be considered money. If you were a miner standing above some gold trapped in the bedrock, you might say “there are precious metals below,” and “there’s a rich seam of ore beneath us,” not “there is a pile of money down there.” The reason that I don’t consider raw, atomic gold to be money is that gold in its elemental form is disorganized. It’s useless for commerce in nugget form. It has to be weighed and evaluated for purity each time it changes hands. To become useful in commerce — to become a “generally accepted medium of exchange” — it must be rendered fungible. Thus it is standardized into specie: coins or bars. It was the process of stamping the king’s head on a standard coin that monetized gold. To standardize is to monetize. In so doing, the sovereign (or in some cases, the private mint) reduced uncertainty in commerce and lowered transaction costs. No assaying or weighing necessary. You trusted the physical fixedness of the minted coins. So for something to be useful in commerce, it has to be fungibilized into a set of weights. It’s no coincidence that the etymology of sovereign currency derives from words for weight or shape. Pound, livre, lira, and peso originate from various words related to “weight”. Mark and markka — more units of weight. Same with ruble. Yuan, yen, and won all mean “round” — another kind of physical standard. To become a currency or money, the coins were standardized into specific shapes, specific weights, and imprinted with images of the king (hence the other class of currency names deriving from ‘Royal’ like real, riyal, and rial). This process of standardization worked best with commodities that people already considered valuable. Gold and silver were best because of their atomic stability and scarcity. Gold’s superior scarcity and difficulty of extraction means that it has a high “economic density” — that is, you needed relatively small amounts of gold to instantiate a lot of purchasing power. So prior to being rendered into coinage, these precious metals could be considered monetary commodities, or proto-monies. But few would consider gold or silver nuggets money, even back when gold and silver were explicitly monetized. Enter Bitcoin. Bitcoin achieved spontaneous value in 2010 with that pizza transaction. But as we’ve established, something can have value without being money. Barrels of oil or truckloads of lumber are valuable but are not considered money, because they are not useful media of exchange. But I would contend that ever since Bitcoin attained its spontaneous, market-derived value, it did in fact become money. Its 0 to 1 moment of being worthless to having value not only established it as a monetary commodity, and hence something with the capacity to be money, but a genuine money in of itself. How so? Because Bitcoin is innately standardized. As a dematerialized monetary unit, it does not require a sovereign to assemble it into standard units. As it is innately digital, it avoids the problems of assayability and verifiability that physical commodities suffer from. So Bitcoin could monetize without being standardized, because it is standard by definition. Bitcoin contains its own standard unit: we call it Bitcoin, and it’s one twenty-one-millionth of the total quantity of Bitcoin that will ever be created. For convenience, Bitcoin has a smaller denomination, like the dollar has the cent and the złoty has the grocz — the satoshi. A satoshi is one one-hundred millionth of a bitcoin, or roughly one two-quadrillionth of the total supply. That there are more orders of magnitude between the two than normal is irrelevant. The point is that bitcoin is natively denominated. Units of bitcoin are fungible by design. Once they came to have value, they were instantly useful in commerce. There was no assaying, no anti-counterfeiting measures. To use bitcoin is to assay the entire stock of bitcoin, all the time. Running a full node accomplishes this. Thus, there is no distinction between bitcoin in its raw, elemental form, and bitcoin in its money-ready form. The two are one and the same. Thus we resolve the puzzle of bitcoin as a gold-like money. Bitcoin is natively standardized. The same cannot be said for gold. ♦ |
Generic Bitcoin Headline | |
Okay, Bitcoin needs to stop going up. I am living proof that free money turns people into lazy degenerates. (Or maybe I was born a lazy degenerate, and it was only the threat of poverty that made me get out of bed every morning.) Since I’m too lazy to produce new content, here is some […]
Okay, Bitcoin needs to stop going up. I am living proof that free money turns people into lazy degenerates. (Or maybe I was born a lazy degenerate, and it was only the threat of poverty that made me get out of bed every morning.) Since I’m too lazy to produce new content, here is some old content.
Other Crypto Stuff
♦ |
A Tale From Bitcoin’s Future? | |
♦“He has erected a multitude of new offices, and sent hither swarms of officers to harass our people, and eat out their substance.”
Here is a story from a man in a dystopian future…or is it? Read on, and imagine yourself living as a Bitcoin user where this person lives. My country is currentl
♦“He has erected a multitude of new offices, and sent hither swarms of officers to harass our people, and eat out their substance.”
Here is a story from a man in a dystopian future…or is it? Read on, and imagine yourself living as a Bitcoin user where this person lives. My country is currently in the throes of a major Bitcoin crackdown. Almost a thousand people have been hired whose only job is to identify and track Bitcoin users. Once identified, a person is fined (for “failure to disclose”), forced to provide their Bitcoin address(es), to list these Bitcoin addresses on all future tax returns (my country taxes savings & requires all savings reported, however small) and to register with financial supervisory authorities as a financial services provider even if one simply purchased Bitcoin and has no intention of reselling the amount. It does not matter how little one holds. Most of what the authorities are doing here is in a legal grey zone. There will be many interesting cases clogging the legal system in years to come. They will probably find in favour of the government. They are freezing business bank accounts, confiscating all financial records and forcing businesses to identify all users of Bitcoin, and are issuing very large fines. The only way to use Bitcoin is to be completely under the radar. They’re not able to detect individual users who are silent. If you live outside the capital, you are more safe; all of the new people hired to identify Bitcoin users are in the capital. Businesses that use Bitcoin must be careful not to not draw attention to themselves. The authorities here are implementing a draconian regime for Bitcoin. The first cases are starting to move through the courts, but there is no outcome yet. Many Bitcoin users are attorneys and barristers, judges, etc. And we are on friendly terms with them. The legal professionals we deal with suggest that my country will ultimately be forced to back down (at least when it comes to small amounts, the notion that any holder is a ‘financial services provider’, etc), because there is legal basis, or precedent, for what is being done here. Unfortunately, we’ll have to wait for the courts to settle these matters. If we get caught the authorities will investigate us, likely freeze our bank account (at least until we identify all our transactions, amounts, etc. and likely pay a fine) and try to make an example of us. And I WILL NOT co-operate in identifying Bitcoin users, even if the authorities themselves would likely identify them from records of bank transfers for our frozen account. They may shut us down, but I’m a Bitcoiner, and I agree with Satoshi’s pseudonymous protocol. I will uphold it. This is not a tale from some dystopian future; it is an account of what is happening in a European country right now. The people in it are real, and the army of “Bitcoin Inspectors” is real. This is not a cautionary tale, extrapolation or other literary device. These people are under a Soviet Style regime right now, simply because they use Bitcoin. They’re frightened to show that they use it, refrain from talking about it, and certainly can’t openly sell it. When they get caught, they’re forced to reveal all their private keys and incriminate themselves. It’s an intolerable situation, and yet, Bitcoin is so compelling and useful and valuable, there are people willing to take the risk of storing their money in Bitcoin. Even people from the legal profession are breaking the law, just as it was in the U.S.S.R.. Everyone broke the law, everyone knew everyone was breaking the law, but the façade of the State remained in place…until the economy collapsed, and it was all swept away. People in comparatively free countries think Bitcoin is about memes, Virtue Signalling on Twitter and other inconsequential things. Having fun is important, but facts about people suffering open tyranny as described here needs to be widely disseminated, exposed, and roundly condemned. The people doing this must be shamed into total submission, their ambassadors openly ridiculed and their national pride wounded. South Africa was called, “The Skunk of the World” and the international shame of being a South African was very painful for the people who mislead that country. The same must happen with any country that denies people their right to do math. Which country is it that’s described here? You already know it’s a European country; Can you discover which one it is? ♦A Tale From Bitcoin’s Future? was originally published in The Startup on Medium, where people are continuing the conversation by highlighting and responding to this story. |
{}
|
Nic Carter ( Feed ) |
|
Tuesday, 02 February 2021 |
Assessing Bitcoin’s liquidity with Coinlib data is indefensible | |
Please do better, journalists♦
In mid-January, a blogger writing under the moniker ‘Crypto Anonymous’ published an article in which they claimed that the price of Bitcoin was supported by unbacked Tether issuance. This analysis relied in part on data from a provider called CoinLib purportedly showi
Please do better, journalists♦
In mid-January, a blogger writing under the moniker ‘Crypto Anonymous’ published an article in which they claimed that the price of Bitcoin was supported by unbacked Tether issuance. This analysis relied in part on data from a provider called CoinLib purportedly showing the flow of money within the crypto ecosystem. As I will demonstrate, this data is not sufficient to make the case that Bitcoin liquidity is dominated by Tether, and relying on it is liable to mislead. Unfortunately, the mainstream financial press is now amplifying these erroneous claims. (Note: this article is not a debunking of the ‘Bit Short’ article, which has already been done capably here, here, and here.) Fake volume is a well-documented problemWhen I read the ‘Bit Short’ article, I immediately knew that the author Crypto Anonymous was not, and had never been, a serious crypto market participant. If they were a real trader with meaningful capital at risk in crypto markets, they would have known that many of the exchanges composing the CoinLib sample are not credible, and that the resultant data was thus completely unreliable. My credentials on this topic? I am the cofounder of Coin Metrics, a data business that licenses crypto market data to financial institutions, asset managers, and banks. The CM team is well aware of this exchange data quality problem, and has developed a 36-point whitelisting framework which applies quantitative and qualitative tests to exchanges to determine whether they are providing honest data. Naturally, many exchanges fail these tests. Quite frankly, there aren’t many exchanges or trading venues in the industry that meet the standards that public markets investors expect from a data quality perspective, although this is changing. Coin Metrics isn’t the only entity to point out that exchanges suffer from data quality issues, and that a robust whitelisting framework is required to obtain reliable volume assessments. Asset manager Bitwise famously determined in a report to the SEC that 95 percent of claimed crypto volume was fake, drawing a sharp distinction between credible, onshore exchanges (with fiat connectivity) and offshore exchanges (which often use Tether). Bitwise maintains an index of credible volume figures based on a whitelist framework. Alameda Research, one of the largest market makers in the industry, supported the Bitwise research with a report of their own on junk data, and administers their own fake exchange volume monitor. Data provider Messari also takes the whitelist approach to derive “real volume” figures, pointing out in their methodology that “[it] is widely known that many exchanges conduct wash trading practices in order to inflate trading volume.” Similarly, industry trade publication The Block manages an exchange whitelist of their own, which is more expansive than the one devised by Bitwise. Coin rankings site CryptoCompare equivalently publishes an exchange benchmark seeking to contextualize claimed volumes. In short, this problem is well-understood by anyone paying the slightest amount of attention to the industry. It beggars belief that a longtime crypto trader would not be aware of this fact. And this information isn’t new. Industry leader CoinMarketCap’s struggle to derive reliable volume figures has been well documented in the mainstream press. I discussed the perverse incentives at play which cause rankings sites to uncritically accept faulty exchange volume back in 2018. In short: start-up exchanges fake data so they look liquid and active, both to encourage tokens to pay listing fees, and in an effort to get traders on the platform. Rankings sites often have financial relationships with the exchanges they cover and have little incentive to denoise the data. The problem is endemic to crypto markets. Anyone paying the slightest amount of attention to the industry would have known that the Tether-based exchanges were prone to overstating volume. This naturally skews assessments of market liquidity and consequently has the effect of overstating Tether’s influence on the market. Remember, it’s the offshore, generally non-fiat connected exchanges that tend to fabricate volume, so uncritical aggregates will end up overstating Tether’s role in Bitcoin price formation. Now why is this a problem? Because CoinLib is taking the data outputs from marginal exchanges as face value, and unsophisticated analysts like CryptoAnon are using it to disseminate a narrative about Bitcoin’s liquidity. ♦CoinLib’s main exchanges include the uncredible HitBTC, Bit-Z, LBank, and ZBIf you consider the seven most liquid exchanges according to CoinLib, only Binance, Coinbase Pro, and Bitfinex would pass muster with most of the whitelisting frameworks listed above. In the Coin Metrics trusted volume framework, Lbank, ZB, and HitBTC — three of the largest exchanges in the CoinLib sample — do not pass the filter. They are not considered credible. Data provider Nomics, which filters exchanges for credibility, gives Lbank, ZB.com, and Bit-Z a C, and HitBTC and A-. Cryptocompare gives ZB.com, Lbank, and Bit-Z a C, and HitBTC a B. Messari and Bitwise only include data from Binance, Coinbase, and Bitfinex in the top 10 exchanges cited by CoinLib. The Block’s index of 24 legitimate exchanges only considers 4 of the top 10 presented by CoinLib to be credible. We’re talking about billions upon billions of fictitious USDT volume. So if you actually dig into the CoinLib data, the crucial error becomes starkly clear. Each of Lbank, ZB, BitZ, and HitBTC are USDT-only exchanges. And each of them gets consistently poor grades from the data aggregators or is excluded from the whitelists. But CoinLib takes a naive view, uncritically accepting their claimed volume figures as fact. A fact-checking failure by the WSJNow, anonymous posters on Medium are one thing. For all we know, Crypto Anon could have a massive short position and could be talking their book. We have absolutely no reason to trust them: caveat emptor. But when those claims get rebroadcasted and treated as factive by mainstream financial publications, we cross into the domain of journalistic malpractice. Unfortunately, that’s what happened today. Andy Kessler, Wall Street Journal columnist, wrote a piece entitled ‘Behind the Bitcoin Bubble’ [archive link]. In the piece, he repeated the claims made by CryptoAnon, effectively endorsing them. In support of his argument that “Bitcoin is nothing, it’s vapor, a concept of an idea” Kessler wrote: [A] poster named Crypto Anonymous (for what it’s worth, know your customer) did some digging and found that as much as two-thirds of bitcoin buys on any given day were purchased with tether […] Now normally, if you are a columnist writing in one of the most respected financial publications, you might try and evaluate the data behind that claim, instead of just uncritically accepting it. But Mr. Kessler did no such thing. He just blindly repeated a fanciful claim from an anonymous blogger in order to imply that Bitcoin’s price was somehow dependent on Tether. Kessler’s misunderstandings are numerous. First of all, the CoinLib data is simply not indicative of Bitcoin’s liquidity profile. Bitcoin has extremely deep direct fiat liquidity. The asset is not dependent on Tether to trade. Virtually none of the U.S. based exchanges — where the plurality of the world’s crypto trading occurs — employ Tether. These exchanges are directly connected to banks like Silvergate, Metropolitan, and Signature. Exchanges Gemini and Coinbase even boast on JP Morgan as a service provider. A number of highly-regulated entities like the CME, ErisX, and the Intercontinental Exchange (via Bakkt) host the trading of Bitcoin derivatives under the watchful eye of the CFTC. Other entities like Cash App, Paxos, Paypal, BlockFi, Robinhood, Bitwise and Grayscale all facilitate various forms of exposure to Bitcoin and are connected to the commercial bank system and in some cases publicly-traded companies. No Tether present. And lastly you have crypto firms like Avanti, Kraken Financial, and Anchorage which boast shiny new bank charters (whether through states like Wyoming or at the national level). Suffice to say, in the U.S., crypto markets are tightly integrated with the commercial bank system and have no dependency whatsoever on Tether. Stablecoins, while an increasingly vibrant financial infrastructure, are not necessary to support the trading of Bitcoin in the U.S. Today, Bitcoin has robust, surveilled, and capacious USD liquidity. Tether could evaporate overnight and change absolutely nothing about the Bitcoin markets in the U.S. The second mistake Kessler makes is in confusing volume with flow. Volume simply means trading in an asset. The CoinLib charts purport to demonstrate the “Money flow from/to Bitcoin” but they do nothing of the sort. Rather, they show an (extremely noisy) compression of where volumes are occuring. But CoinLib, and by extension Crypto Anon and his unwitting acolyte Kessler, conflates exchange volume with actual inflows. Leaving aside the junk data element for a second, exchange volume is heterogeneous. A retail brokerage transaction bearing a 200-bp fee at Coinbase is much likelier to represent an inflow of capital than a leveraged BTC-USDT futures trade on FTX, Binance, or Huobi. Real inflows are hard to directly measure, but some proxies are available. Grayscale BTC acquisitions are indicative of actual inflows into the asset. ItBit data is considered by some to be a proxy for Paypal BTC purchases. Square publishes client BTC purchases in their quarterly reports. It’s a matter of fact that the publicly-traded company Microstrategy acquired 70.8k BTC. Coinbase will shortly publish an S1, giving investors an even better idea of the relationship between their volume and inflows. And we keep hearing about multi-hundred million dollar buys facilitated by NYDIG, Coinbase Prime, and my former colleagues at Fidelity Digital Assets. The point is, there is a provably large onshore BTC/USD market, and its scope can be ascertained through a patchwork of public sources, if you care to look. Additionally, exchange volumes must be contextualized, as exchanges vary dramatically in the sophistication of the client base and fee structures. ♦BTC held by GBTC — real inflows (The Block Data)Tether is undeniably important within crypto markets. It’s the main (but not sole) currency that traders use to settle and hold a balance on exchanges, especially those without connectivity to the U.S. banking system. It denominates derivative contracts on many offshore crypto exchanges. But it is simply erroneous to treat Bitcoin liquidity as homogenous, and moreover to claim that liquidity constitutes inflows. Grayscale’s Bitcoin purchases (with real US dollars) constitute inflows. Offshore USDT-denominated crypto exchanges fabricating orderbooks and creating wash trades so they appear liquid couldn’t be more irrelevant to price formation. It’s just noise. Mr. Kessler had the time to contact the NYAG and ask about the status of their investigation into iFinex Inc. But he didn’t bother vetting the extravagant claims made by anonymous bloggers relying on junk data. He could have spent five minutes and called any crypto trader or market participant and asked them if CoinLib was a reliable source, or if ZB.com was a credible exchange. But he didn’t, because he wanted to believe a contrived narrative and the data presented by the anonymous blogger fit that narrative. (If you want to know what is really driving this rally, read my recent explainer on the topic.) Look, I get it. Crypto data can be confusing. But to comment on crypto issues, in particular extremely complex ones like the liquidity profile of Bitcoin and other globally-traded cryptoassets, you cannot rely on surface-level data analysis. If you take assumptions from traditional markets and transpose them, you will go wrong. Now if the WSJ is willing to uphold their editorial standards, they will retract the erroneous claim and issue a correction. A shadow edit, the all-too-popular method that the press uses to slyly cover up its blunders, won’t suffice (I’ll be watching). The Tether story may well have legs, but skeptics do themselves a disservice by enlisting the help of unsophisticated, anonymous bloggers and by relying on easily-debunked data. Tether is a story worth covering. The case of the world’s largest stablecoin is, indeed, an interesting story. But wild theories relying on data that everyone in the crypto industry knows to be erroneous do no one any good. ♦ |
Man From The Future Shares His Story | |
♦“Man From Tomorrow”
Here is an article by Michael Suede, published in 2011. When it was written most people reading it were openly hostile and dismissive to its thesis. Now many people can understand that it is not only plausible, but very probable. What did Michael Suede and many others know that
♦“Man From Tomorrow”
Here is an article by Michael Suede, published in 2011. When it was written most people reading it were openly hostile and dismissive to its thesis. Now many people can understand that it is not only plausible, but very probable. What did Michael Suede and many others know that you don’t know, and how were they able to predict how Bitcoin would change everything, even back in 2010? The question is interesting. What matters now is who knows what’s coming next. I assure you, the people who said Bitcoin would never work do not know. June 29, 2011By michaelsuede MS: Today I’m speaking with Dr. Hannes Alfven of the Tesla Electric Power Collective. Dr. Alfven joins us from the future to discuss events that will soon be unfolding in our time. Dr. Alfven please introduce us to yourself. HA: I’m a plasma physicist from the year 2090. I have a doctorate in electrical engineering from Intel University. I did my undergrad at the Tesla Electric Power Collective. Currently I’m employed with Tesla Electric working on the development of teleportation devices, which is how I came to be speaking with you today. MS: Thanks for taking the time to speak with us today Doctor. I noticed you mentioned you got your doctorate from Intel, is that the same Intel chip manufacturing company that is around today? HA: Indeed it is. MS: That seems so incredibly odd to me. Why did Intel decide to open a college? Were they having trouble finding qualified applicants? HA: Well, after the State was eliminated, private industry was forced to pick up the tab for educating their own employees. A lot of the major high tech manufacturing organizations opened up educational facilities on their campuses to train their own workforce. MS: Wait a minute, back up. Did you just say the State was eliminated? How in the world did that happen? HA: In a few years from the present time, the current Anglo-European monetary empire will come to an end as the debt Ponzi comes unraveled. The States ended up trying to print their way out of the Ponzi fractional reserve debt scheme they had created and wound up destroying the value of their money. When they could no longer pay their bureaucrats, police forces and armies with money that had value, they collapsed. As the fiat money of the world was devalued into worthlessness, people began looking for alternative currencies that could retain their value. The electronic currency that was struck upon by the markets was called Bitcoins. Basically they act like a digital commodity; so in the future, monetary transactions are conducted using what you might call “virtual gold”. MS: So why didn’t the populations of the world simply reconstitute new States that operated under this new monetary system? HA: Well, you can’t loot other people’s Bitcoins. This makes it impossible to have a coercively funded State government. What ended up happening was people became responsible for their own security and subscribing to their own “public” services. So there are no police, only private security guards. There are no “laws” per se, but most people deal with trade disputes through private “loser pays” arbitration courts. So contracts between organizations and people define what the “law” is. Murder, rape, and other violent crimes are basically non-existent, but when they do occur, communities typically ensure justice is swiftly dealt. You might call it vigilantism by community consensus. People don’t take very kindly to murders, thieves, and rapists in their neighborhoods if you catch my drift. Since everyone is usually armed, robbing or hurting someone typically winds up like a gun store robbery today. The person attempting the crime gets gunned down rather swiftly or driven out of town by private security. Lord help them if they kill someone. Private insurance companies basically deal with private property protection in the future, just as they do today. So most people subscribe to an insurance contract which indirectly funds their local security and fire\emergency protection services. Engaging in a crime voids your insurance protections, which typically doesn’t end well for the criminal. MS: Fascinating. And the public is fine with this? HA: For the most part. Since victims don’t like paying to put their assailants behind bars, the prison industry evaporated. This left justice to be dealt with at the individual and neighborhood level. It is important to note that reputation plays a massive role in your future society. People don’t rob or harm others because a bad reputation can force you into total poverty. If you become notorious, you’ll end up either getting hunted down and shot, or people will refuse to do business with you, which means you will typically end up starving to death. A bad reputation can be more brutal than a life sentence in a prison today. MS: So Doctor, tell me more about this monetary system that makes it impossible to have a State. HA: The monetary system is an encrypted peer-to-peer electronic currency with a distributed transaction database. Basically it is a system of encrypted tokens that are used as money. The tokens can’t be reproduced or inflated, but they can be infinitely divided. Because there is no central authority that can issue the coins, and because new coins can not be arbitrarily created, fractional reserve banking is impossible and the coins constantly gain value as the economic productivity of the world expands. In my time, a full Bitcoin can buy you nearly an entire city block worth of property and merchandise. Today the currency is still in its infancy, but its value will grow exponentially over time until all the goods and services that exist on the planet Earth are represented by the currency. People also use gold and silver as cash substitutes or as a secure store of wealth, but the vast majority of retail transactions take place in Bitcoins because they are much easier to work with than physical metals. MS: Wow, that is incredible. So what does the future look like for us in the short term and the long term? HA: Well let me start off with the good news first: Since there are no violently funded States to squander wealth in the future, global productivity in my time is so incredibly high that most people only work a few hours a week. All of humanity’s energies are directed into private markets that serve consumer interests. For example, since there are no shipyards building aircraft carriers for State governments, those same ship yards are now building cruise liners for the public. With the State out of the way, people were forced once again to only produce things that individual consumers actually desire. Obviously it goes without saying that there are no wars or military dictatorships since they can’t exist without the ability to steal wealth from the public. The defense industry was wiped out when the States of the world collapsed, which also freed up an absolutely tremendous amount of resources for the production of consumer goods. Raytheon is now the number one producer of plasma convection ovens in the world. McDonald Douglas went out of business and was folded into General Electric. Their old plants are now producing personal flying vehicles for the public. They actually use TEPC’s plasmERG engines that I helped refine. Consider that all of the hundreds of millions of men and women who work for military organizations, prisons, bureaucracies, defense industries, intelligence agencies, etc.. etc.. in your time today will be released into the private sector in the future. This massive addition of highly skilled and motivated labor to the private markets drastically increased global productivity. In your time today, the workforce of the United States is only devoting about 60% of its energies into private consumer markets, with the other 40% being controlled by State spending. That will ultimately change to a 100% consumer market driven economy. The elimination of centrally planned interest rates with the implosion of the central banks also drastically reduced the misallocation of resources within the private sector. So really, the economy you are experiencing today is only a fraction of its real potential to produce wealth and an abundance of consumer goods for the masses. In the future, following the elimination of the State, the full potential of the economy to produce wealth will be realized. I suppose I should now move on to the bad news: In the near term, many people will end up starving to death. There will be massive political upheavals. There will be much weeping and gnashing of teeth as the violent system of State sanctioned looting comes to an end. Many of the people who have become dependent upon the redistributed stolen wealth of the State will engage in violence to protect their paychecks and handouts. It will not be a pleasant experience. When States hyper-inflate their currency, what they are really doing is transferring the ownership of wealth within a society to those who get the new money first. Since printing money doesn’t actually create new wealth, all it does is change who can buy what little remains within the economy. A State undergoing a hyper-inflationary scenario can expect that common consumer goods, food stuffs, and energy costs will skyrocket since they are necessities that everyone must purchase. This state of affairs will continue until the money finally becomes totally worthless. At which point society will devolve back into a barter existence like they did during the dark ages. This is why the dark ages followed the collapse of the Roman empire, and so too will the people of the world experience a similar “dark ages” today. However, the dark ages that will soon befall you will not last very long at all. If you are young, you will live to see an age of prosperity emerge from the ruins of civilization. So take heart, unless you are old and poor. In which case you are basically SOL. I’m sorry to inform you, but your governments already spent the money they promised they were saving for your retirement. It doesn’t exist, and you’re not going to get any of it. If you do get any of it, it will be in an amount that will not buy you a loaf of bread. MS: That is a lot for me to digest Dr. Alfven. I’m curious about the plasmERG engine you mentioned earlier. Could you tell us more about what future products await us? HA: Certainly. The PlasmERG engine uses expanding plasma to drive pistons in the same way a combustion engine does, but it does so using a very tiny fraction of noble gases which cost virtually nothing to produce. This is just one of many technologies that will explode on to the market in the wake of the State collapsing. You see, a tremendous amount of innovation is stifled by patents and copyright law. When the State collapses, people will be free to produce whatever they like by copying others. When people are free to copy the ideas of others, it means the economy can produce more things more rapidly. Competition will become very fierce and trade secrets will become tightly guarded. Those who are first to market with a new idea stand to make a tremendous amount of money, which is reward enough for those who innovate. In the future, the ability to take others’ ideas and improve upon them will become central to building a prosperous society. It is a backwards archaic notion to think that inventors need State protection in order to come up with new ideas. Consider that patent law is intentionally designed to create monopolies which harm consumers. Also, an absolutely enormous amount of waste comes from the legal battles that revolve around patent laws. With the elimination of patent laws in the future, companies will not have to worry about defending themselves from lawsuits, which means they can take that money and put it towards building better products. MS: Thank you Dr. Alfven for your time today. I look forward to meeting with you again in the future! (LOL). HA: My pleasure Michael. I plan on bringing Dr. Alfven back for continuous series of interviews. Consider this part 1. See the original article archived here. ♦Man From The Future Shares His Story was originally published in The Startup on Medium, where people are continuing the conversation by highlighting and responding to this story. |
Clubhouse is Awesome | |
Why is Clubhouse so awesome? Because you’re not there. And by “you”, I mean me, the normies and the riffraff, and most importantly, the journalists. I wouldn’t want to belong to a club that would have me as a member. –Groucho Marx Here’s a former attorney who’s made it her mission to invi
♦ Why is Clubhouse so awesome? Because you’re not there. And by “you”, I mean me, the normies and the riffraff, and most importantly, the journalists.
Here’s a former attorney who’s made it her mission to invite as many journalists as possible to Clubhouse. For “accountability”. It reminds me of 15 years ago, when some Facebook exec said, “Hey, TheFacebook is fun and awesome, but you know what would make it even better? If we invited all our Moms to sign up!” Clubhouse is an invitation-only voice app where Silicon Valley people talk about tech trends, and journalists are mad because they aren’t in charge of the conversation. Why is there so much animosity between journalists and VCs? Because both groups fancy themselves the arbiters of new trends. VCs talk about picking successful startups like it’s a passive exercise, but the biggest determinant of success is a lead investor from Sand Hill Road. It’s not just the money, it’s the network. Anyone can make a social iPhone app, but only an a16z portfolio company can seed the app with Marc Andreessen and Felicia Horowitz. Here’s NYTimes tech reporter Taylor Lorenz: ♦ VCs dismiss this comment as self-important hogwash, but Lorenz is not completely wrong. Except that journalists don’t identify emerging trends, they create them. Everyone in MSM knows that endless bleating is a sure way to shape public opinion: “Mostly peaceful protests! White supremacist armed insurrection! Clubhouse is full of Nazis!” They want to get more journalists on the Clubhouse app to amplify their own opinions. Would we have had all those BLM protests if NYT hadn’t spent a whole year pounding the 1619 Project into our brains? (Speaking of which, has the NYT been charged with inciting a riot?) I mean, we were all a little stir-crazy from the lockdowns, but maybe we could have protested something more productive, like Universal Healthcare. It’s the new Eternal September. An internet community does not die when the college freshmen show up, but when the Karens do. Aside: This investor offered to donate $1000 to St. Jude for every VC that boycotts Forbes’ Midas List, but it looks like he got zero takers?
|
Snitch Culture | |
I’m thinking about taking up cockfighting. Sure it’s illegal, but who isn’t these days. The Founding Fathers were into it, as were the ancient Greeks and Romans, and they seemed a classy bunch. Cockfighting ceased to be an aristocratic pastime around the same time gentlemen stopped settling personal
I’m thinking about taking up cockfighting. Sure it’s illegal, but who isn’t these days. The Founding Fathers were into it, as were the ancient Greeks and Romans, and they seemed a classy bunch. ♦Roman rooster money, AD 138Cockfighting ceased to be an aristocratic pastime around the same time gentlemen stopped settling personal conflicts with a duel, and opted to take their opponents to court instead. The new high society preferred sports with rules and referees, where the loser doesn’t die, but goes home and has the opportunity to redeem themselves in the next match. The progression mirrors our cultural shift from one of honor to dignity. Honor Culture arises in lawless societies, where people rely on their buddies to get their back. Violent retribution demonstrates your value as an ally, and deters future attacks. In Dignity Culture, the state has a monopoly on violence. Vigilante justice is not tolerated, thus the desire to punch the guy who insulted your mother must be sublimated into a stiff upper lip. Society values thick skin and self-restraint. ♦ In the 60s, a new phenomenon emerged where sports players pretended to suffer a foul inflicted by the opponent. In basketball it’s known as a flop, in soccer it’s a dive. The goal is to feign injury so that the ref will issue a penalty to the other team. Where it was once a point of pride to take your knocks with dignity, now it’s more rewarding to collapse and go into death throes. Scholar‘s Stage describes this as Victim Culture. The purpose of a moral culture is to come to consensus when resolving disputes, but as industries grow, people spend more time interacting with faceless bureaucracies than other humans. Conflicts that once settled with a face-to-face chat now now require an appeal to authority. More administrators are hired to deal with complaints, and people are conditioned to become whiny and helpless in the face of an amorphous blob. Competitive victimhood ensues. ♦The Original KarensBut Victimhood is only half of the equation. Remember the first lesson we learned on the schoolyard? Don’t snitch. If the class bully just gave you a beatdown, that’s a normal part of sorting the pecking order. Tattling to the yard teacher is a betrayal, not just of the bully but of the entire class tribe. In a culture of Honor, the only thing worse than losing is being a snitch. Snitches get stitches. That’s how drug lords and crime bosses avoid being outed by captured henchmen. Detainees know that any punishment meted by the criminal justice system is nothing compared to the retaliation that awaits. (That’s why CIA interrogators resort to torture.) Cops have the Blue wall of silence; the mafioso have Omertà. Even in the corporate world, silence was self-enforcing. Employees who expose their boss’s dirty laundry would never find another job, because no one wants to hire a traitor. ♦TIME magazine promotes the sexist “Karen” stereotypeIn modern society, we’ve dressed up snitches and deemed them whistleblowers. White House leakers used to get prison time; now they get book deals. Disgruntled tech employees used to end up in the unemployment line; now they take their grievances to the New York Times and get diversity offers. The SEC has paid out $330 million since the pandemic started, for people to rat out their bosses. This should be a sign of serious dysfunction, but the result of societal atomization is that no one is loyal to anyone, except perhaps the State*. ♦ Feeling left out? Join the #CitizenArmy where you, too, can help doxx your seditious friends. In short, we’ve adopted the moral values of a middle-aged spinster, pretty much the paragon of social isolation. The good news is, other countries have been through this and managed to recover. The bad news is, there was a lot of death and destruction along the way. *Don’t get me wrong — Edward Snowden is a hero and martyr. Objectively, Snowden did betray the trust of the American Empire, and exile to Russia is pretty much what you’d expect from a vengeful State. |
Guilt by Association | |
Guilt by association is a relatively modern concept. Back in the olden days, people were free to fraternize with criminals and terrorists, as that was our First Amendment right. This was primarily a consequence of the unreasonable burden of trying to police such activity. A self-interested government
♦ Guilt by association is a relatively modern concept. Back in the olden days, people were free to fraternize with criminals and terrorists, as that was our First Amendment right. This was primarily a consequence of the unreasonable burden of trying to police such activity. A self-interested government tries to maximize economic output, to generate more tax dollars to pilfer. A ban on doing business with Bad Guys imposes transaction costs, as every business would have to conduct a background check before accepting a customer. In fact, the government was so adamant in prioritizing free-market trade that even social justice warriors were told to stand down. In 1966, the NAACP tried to organize a boycott of racist businesses in Claiborne County, Mississippi. The merchants sued for tortious interference (the boycott interfered with the merchants’ business relationship with their customers) and won in the Mississippi Supreme Court1. BUT! In 1982, the US Supreme Court reversed that decision. ♦ A lot happened between 1966 and 1982. Information moved from filing cabinets to IBM mainframes. Businesses began collecting vast quantities of location data, spending history, and demographic information, all in a conveniently searchable database. By 1970, it was no longer unreasonable to expect banks to record the source of customer funds. So money laundering laws were invented to create Guilt by Association. It costs nothing to deputize the banks, and the War on Drugs is more important than our First, Fourth, and Fifth Amendment rights. The internet further changed our notions of indirect liability. Lack of knowledge has always been an affirmative defense to possession of illegal contraband (“These aren’t my pants, officer. I had no idea there was a sack of freebase in the back pocket!”). But that doesn’t work if you’re an internet service provider with activity logs. If illicit data passes through your servers, you knowingly possess that data. By 1998, “I had no idea my customer was downloading Metallica bootlegs” was not an affirmative defense2. Even if Googlebot comes across child porn when crawling the web, it has a legal duty to report3. Indirect liability may violate our Fifth Amendment rights, but you want to stop Child Porn, don’t you? Anything that can be deputized will be deputized. We take it for granted that businesses know about every criminal that uses their service. But wait — Big Tech companies have made a business of predicting exactly what people want. It’s no longer unreasonable to expect companies to detect when people are wanting to do Terrorism. That was the justification for the NSA’s warrantless wiretapping after 9/11. We were outraged when word first got out, but now it’s accepted as a part of life. In fact, we literally demand that social media platforms police people who think Bad Thoughts. ♦ Laws are a codification of social norms. If technology changes those norms, then it’s inevitable that laws soon follow. “Federal law enforcement is currently working to identify any suspected extremists who may pose a threat at the planned armed demonstrations.” —FBI Bulletin, January 12 2021 Preemptive policing! Lock up those criminals before they even commit a crime. You want to stop Domestic Terrorism, don’t you?` References: |
When Dissent is Labeled as Domestic Terrorism, only Domestic Terrorists will Dissent | |
I was innocently browsing the internet yesterday when I came across the first sensible column describing recent events. Over the past few months, the internet has become unreadable. My Twitter newsfeed is a nonstop freakout, as if costumed Trump clowns were really going to seize control of the govern
I was innocently browsing the internet yesterday when I came across the first sensible column describing recent events. Over the past few months, the internet has become unreadable. My Twitter newsfeed is a nonstop freakout, as if costumed Trump clowns were really going to seize control of the government. And somehow even ice cream brands are weighing in? It feels like everyone’s on an acid trip and I wasn’t invited. ♦ And finally a voice of reason. I scrolled up to find the author of the piece — To my shock and horror, it was a neo-Nazi. My web browser had unwittingly strayed to a white supremacist website (why doesn’t Google Chrome block hate sites by default??). I immediately deleted my browser history, sprayed my eyes with Lysol, and donated all my money to the ADL as penance. But wait a minute. Assuming I haven’t completely lost my mind — is the Daily Stormer seriously the only sane thing left on the internet? I’m not going to link to it, but here are some excerpts:
♦ |
{}
|
Cryptosovereignty ( Feed ) |
|
Friday, 08 January 2021 |
The Concept of the Political Hidden in Bitcoin | |
“Every religious, moral, economic, ethical, or other antithesis transforms into a political one if it is sufficiently strong to group human beings effectively according to friend Continue reading » The post The Concept of the Political Hidden in Bitcoin appeared first on Crypto S
♦The Battle of Rocroi
This essay seeks to apply the concepts from Carl Schmitt’s essay The Concept of the Political to Bitcoin and the wider crypto cyberscape. By looking at Bitcoin and other crypto projects through Schmitt’s lens of what ‘The Political’ is (as opposed to party politics) we can start to understand the task at the heart of Bitcoin is not a technological one, but a political one. Only by understanding Bitcoin as a methodology of grouping friends and enemies according to the principals of robust, private, secure, unconfiscatable money and what that functionally means using cryptography in the world of today; Bitcoin unveils its hidden political agenda of crypto-anarchy. The Political Hidden within CryptoIt is important to understand that the essence of bitcoin, while posing as something technological, is really political. The technical and cryptographic aspects of Bitcoin are just a means to an ends–they are not inherently related to the essence that is Bitcoin. This essence, discovered and unveiled through the questions of what Bitcoin’s essence is, reveals itself in the final Turning to be none other than The Political itself. By The Political, we are referring to that which Schmitt describes as the friend / enemy distinction. This is the formula of categorization that seeks to imposes its will upon that of the other–any Other–to subject them to their ways, and to be the determinant force in which the Other is politicized. It is by this method–how any other person may be labeled and grouped as being part of the enemy class–that the new Political formulates itself and imposes itself upon the world as something fundamentally political. This political nature is found in the fact that everything within Bitcoin that makes it functionally operate is hidden behind cryptography. Why? Because it is through cryptography that every facet of the state can be challenge and overcame. By allowing for Bitcoin and the cryptography that powers it to become the preeminent questions of organizing, Bitcoin opens the path towards the politicizing the internet directly; an existential challenge to states everywhere. This politicization is not for the agenda of any contemporary form of party politics, or to dominate any national legislature, but is something beyond all of them–a totally new form of the political through the creation of new classes of both friends and enemies through the lens of cyberspace. The mission of Bitcoin is intentionally obscured, as its real purpose is only for those who have been chosen and seek to understand Bitcoin in its wider historic, social, and philosophical context. It is only through this deep process of questioning and searching does an understanding of the truly political nature of Bitcoin exposes itself; decrypting its true nature of being the most political object to ever exist. To be clear, the purpose of Bitcoin is fundamentally different from all other ‘crypto’ projects. The importance of this cannot be understated as it is the demarcation line between the friends and enemies of Bitcoin. The mission of Bitcoin is wealth freed from the restraints of the state and their last vestiges of slavery, fiat money. Unequivocally, Bitcoin is the enemy of any and all modern states because of how it charges its economic context with political meaning by extricating the power of money and wealth from the hands of all states once and for all. Every other crypto project is little more than a money grab to enrich its founders under guileful promises that some ludicrous technological feature will somehow make it better money then Bitcoin. At best, these other crypto projects are reformist because they seek only to change the existing fiat and banking systems, not to overthrow them. At worst, they are active plots against Bitcoin–wolves in sheep’s clothing saying trust us, but don’t verify–buy our shitcoin because we like Bitcoin too. It is here that we start to see see where exactly the line between friendship and enmity within Bitcoin is drawn, and why understanding Bitcoin in this context of the friend-enemy distinction is so necessary. While these other project may seek to create change in new ways, they seek to downplay Bitcoin’s direct mission, to obscure it from the general public, to shy away from the real existential threat that it is to all states, and the state’s ability to control money. These other crypto projects will never have the same vanguardist revolutionary nature that is Bitcoin’s essence because they do not approach the issue politically, but only technologically. They lack the full understanding of why Satoshi choose to launch Bitcoin as he did, and why the whole concept of PoW is so necessary to how Bitcoin operates. The enemies of Bitcoin fail to understand that the creation of a new standard of digital ordering is a promethean production of value itself–it cannot be duplicated transient, fleeting, and pathetic cause of just making money. When we start to look closer at how Bitcoin functions, we start to understand its whole purpose is to organize people according to classes of friends and enemies grouped around cryptographic means. Though this understanding we start to see its political agenda not just as a new form of money, but as the destruction of the old order of politics all together. On one side are the statist and reformist who recognize the state as the only bearer of legitimacy to create, print, control, surveil, issue and regulate not just money, but value and wealth itself. On the other side, are the crypto-anarchist who seek to free all wealth from the yoke of despotism that fiat money and contemporary banking are and allow for the birth of something truly valuable and scarce: Truth. Raw, naked, unabashed, unadulterated truth. The rarest of things in this day and age. As I have said and pointed out before, it comes down to the inverting of the Hobbesian dictum of sovereign power (“Auctoritas, non veritas facit legem” (Authority, not truth makes legitimacy) in De Cive) into: “Veritas, non auctoritas facit legem.” (Truth, not authority makes legitimacy) The political essence that is BitcoinWhat the blockchain bros of other crypto projects fail to realize is that what makes Bitcoin the best money the world has ever seen is not a technological feature, but a political one. The hidden political essence that lies at the core of Bitcoin is the utilization of cryptography in order to organization against any state, and all of its various appendages of control, domination, and exploitation. It is the oath of the machine to itself to create a new social contract built on top of cryptography. It is only through a strategy that rejects the legitimacy of the state’s authority for the truth of Bitcoin that The Political may actually be reengaged in the world of today and through the internet as its means of production. It is Bitcoin’s political demand not just for the end of fiat money, but from governmental interloping of all kinds that composes of its radical power. It is the very real political apparatus that allows for political organization around the internet itself. But not organized like a machine or a corporation, but more like a mob or a dance party. This power is radical because it is not part of the oscillations of constituting political power, but is a final technologically destituent power that uses cryptography to forbid and banish the state from existing in this space at all. Bitcoin is the final form of The Political in the digital age, where the new technologically superior order will wipe away the old to make way for the new. As Schmitt says, “No matter how large the financial bribe may be, there is no money equivalent for political freedom and political independence.” Through the radical idea of wealth that is no longer accountable to any state, combine with the God-like power of cryptography to demand the sacrosanct of its word, we are offered a kind of protection and assurance that can be offered by no sovereign, no institution, and no individual alive. Bitcoin opens the truly political to man once again. Here before us lies the opportunity that presents itself maybe once a millennia; and only for the briefest of time, and only for the boldest of participants–it is the opening of the truly political and the destiny that awaits those who believe they can change the world for the better. The post The Concept of the Political Hidden in Bitcoin appeared first on Crypto Sovereignty. |
{}
|
Nic Carter ( Feed ) |
|
Thursday, 07 January 2021 |
FinCEN Comment Letter | |
Castle Island Ventures recently submitted a letter to FinCEN regarding their proposed rules on digital assets. The following is the contents of the letter: Re: FinCEN Docket Number FINCEN-2020–0020, RIN 1506-AB47, “Requirements for Certain Transactions Involving Convertible Virtual Currency orCastle Island Ventures recently submitted a letter to FinCEN regarding their proposed rules on digital assets. The following is the contents of the letter: Re: FinCEN Docket Number FINCEN-2020–0020, RIN 1506-AB47, “Requirements for Certain Transactions Involving Convertible Virtual Currency or Digital Assets”To Whom it May Concern: Castle Island Ventures welcomes the opportunity to submit this letter for consideration by the Financial Crimes Enforcement Network (“FinCEN”) with respect to the Notice of Proposed Rulemaking regarding “Requirements for Certain Transactions Involving Convertible Virtual Currency or Digital Assets” (the “NPRM”). We respectfully request that FinCEN extend the comment period for this NPRM to 60 days in order to allow greater industry participation and dialogue around this issue. About Castle Island VenturesCastle Island Ventures was founded by Matt Walsh and Nic Carter and is an early-stage venture capital firm based in Cambridge, MA. We are focused on supporting businesses that are building infrastructure products and services in the public blockchain ecosystem. We believe that public blockchains are a breakthrough new technology that will have a transformative impact on a wide variety of industries, in a similar way that the commercial web has transformed nearly every industry since its deployment in the late 1990s. Like in the early days of the commercial web, we believe that the United States can lead the way and establish itself as the premier jurisdiction for entrepreneurs to build companies in this category. We are hopeful that regulators will work collaboratively with companies and policy groups in this emerging field to ensure that these breakthrough companies can thrive in the United States. CommentsCastle Island Ventures supports FinCEN’s objectives to combat money laundering, terrorist financing and other types of illegal activities. We believe that these objectives are aligned with the goals of the overwhelming majority of market participants in this industry. Castle Island Ventures has several concerns with the NPRM, and also supports the comment letter put forth by the Chamber of Digital Commerce, of which we are members. Among our highest concerns with the NPRM:
Castle Island Ventures appreciates the opportunity to provide this public comment. Respectfully Submitted, Matt Walsh, Founding Partner Nic Carter, Founding Partner ♦♦FinCEN Comment Letter was originally published in Castle Island Ventures on Medium, where people are continuing the conversation by highlighting and responding to this story. |
Bitcoin’s Tipping Point is Here | |
♦The Beginning
Years ago, on a day that changed my life forever, my late father gave me a lecture about the true nature of the United States Dollar. I can see the scene in my mind’s eye as clearly now as the day it happened. In his sitting room, he pulled a five dollar note and a ten dollar note ou
♦The Beginning
Years ago, on a day that changed my life forever, my late father gave me a lecture about the true nature of the United States Dollar. I can see the scene in my mind’s eye as clearly now as the day it happened. In his sitting room, he pulled a five dollar note and a ten dollar note out of his money band, and the conversation went like this…(his voice is in italics)… “What is the difference between these two notes, my son?” I was horrified. The money I had used all my life, was prepared to accept and chase after, which was, “Just the way things are”, was irrefutably proven to me to be worthless garbage and a fraud in under thirty minutes. The moment I saw, understood and accepted this shocking truth, the first thing that came to my mind was, “How can we possibly escape from this, and have real money?” From that moment on, the dollar never looked the same again. Everyone accepted this fraud, propped it up and was prepared to live and die by it and for it. It seemed like an insurmountable problem. Every time I used the dollar, it chafed at my consciousness. Everyone everywhere was colluding with a gigantic fraud, hypnotised by what today is widely called “fiat”, and there was nothing I or anyone could do about it. My father didn’t know about the Austrian School of Economics; he had figured out the nature of the fiat fraud for himself. Years later, thanks to Ron Paul and Lew Rockwell, I would read Murray Rothbard, and have formally confirmed to me that everything my father said was in fact correct. The only distinction was that the true fiat situation was orders of magnitude worse. A Decade LaterI became a PGP user when it was first released, downloading it from a BBS. I made myself familiar with all of its concepts. This was a crucial step in what was to follow in subsequent years; an understanding of Public Key Cryptography, Clear Signed Digital Signatures, Key Management, and the fact that it, PGP (now GPG), is absolutely unbreakable. The case against Philip Zimmerman for exporting PGP from the USA (because it was defined as “munitions”) was also a critical stage in my education, laying the foundations of an understanding that software is text only, and 100% guaranteed protected speech. Later in the 1990s, I stumbled upon David Chaum’s e-cash, and ran the client. ♦The simple interface of e-cash.Thanks to my background, I instantly knew that this was the solution to the “fake paper money” problem. All we had to do was denominate e-cash in real money (gold) and then e-cash could be transferred between computers over the internet carrying that value as a promise like the old silver certificate dollar. There would then be a sound money in the world on a global scale with all the utility of sending email. And we could make a fortune being the administrators of it. I prepared a short introductory document describing what we were planning, and started exploring how we would structure a business built on it. This is a PDF of the actual outline document I created to introduce the idea. Dau Proposal | Gold | Gold As An Investment When this document was circulated, the web was in its infancy. Most companies were not on-line, and very few people used email. Cellphones were large “bricks” used only by the business class. No one knew what the internet was, and only insiders and futurists had an inkling of what impact it would have on society. It is hard to imagine what the world was like back then; it was the last days of the pre-internet world, where services everyone takes for granted today were literally unimaginable. Pioneers were building the tools and services that would become mainstream, and it was obvious to me that the internet would eventually have it’s own native money that was cash like. Then the e-cash company…went away. Ecash was an idea decades ahead of its time; the world wasn’t ready for it, let alone buying books and other goods online. What it did do, however, was show that a system like it was possible and inevitable. It was a matter of getting the software right, and the correct market conditions being in place. Fast forward to 2010. I had been using IRC clients… ♦mIRC IRC client developed by Khaled Mardam-Beythen Napster… ♦Napster 2.0 Beta 7 developed by Shawn Fanningthen Gnutella… ♦Gnutella 1.1.11 Stable developed by Yann Grossel and subsequently Raphael Manfrediand then BitTorrent… ♦BiglyBT Azureus / Vuze clone by parg and TuxPaperto move files around. The problem of a centralised single point of failure that Napster represented was solved by a single genius, Bram Cohen, with his breakthrough BitTorrent protocol that split files up between connected peers, making it impossible to stop files being shared while at the same time dramatically increasing the efficiency and speeding up the rate of distribution. All of these clients share common features:
Anyone who used these programmes was prepared for the subsequent iteration because the leap between them was negligible in terms of the mental framework you need to navigate and make use of them. The leaps in the capabilities of the underlying software architecture between each stage on the other hand, were very large, sometimes bearing no relation to previous stages. Then it happened. One day, through a forum post, I read about “Bitcoin”. Given my exposure to all of the above, My first reaction was…“No way”. I instantly knew that if someone had really solved this problem, it would literally be one of the most important innovations ever, on the level of Movable Type, the Transistor and Assembly Lines. The dream of electronic money would actually come to pass, and because it was truly peer to peer like BitTorrent, there would be nothing anyone could do to stop it. Billions of people would use it. Its limited supply would have beneficial effects across the entire economy. It would change everything. BitTorrent works by everyone in the network having a copy of the same file; the BitTorrent client slices up the file into tiny parts that are reassembled in order by clients downloading the file. For Bitcoin to work, it would have to mean that its author had removed the central server single point of failure through some mechanism like that, sharing the transaction database amongst the peers, resolving The Double Spending Problem that made a central server necessary by everyone watching the network…but had he actually done it? I had to find out! I immediately downloaded Bitcoin and started mining it. I sent it and received it. It appeared to work. It was literally unbelievable. ♦The Bitcoin-Qt wallet version 0.11.0 running on Linux“I started writing about what this would mean in practice on December 10th, 2010 at the blog I was running. This is an excerpt from my first writing on Bitcoin: ♦“LOIC, Wikileaks, boycotts, Bitcoin and game changing” from my blog BLOGDIAL, December 10th, 2010BitTorrent proved how ineffective measures to stop file sharing were, now people would be sharing Bitcoin instead of files, and because the files being broadcast in Bitcoin were tiny, the entire network would be reconciled very quickly. Moving a 758-megabyte AVI file could take hours over a 128k modem; a Bitcoin transaction being only a few bytes of text reached every node in seconds. What was going to happen next was obvious to me; everyone would be running their own copy of the Bitcoin software, and managing their money themselves. The network would have all the incentives of the Warez scene, but with a much wider, powerful and deeper reach, since everyone uses money. They would be able to buy and sell with Bitcoin globally, and the amount of money would be irrelevant to the speed of transfer, because a Bitcoin transaction is just an insignificantly small piece of digitally signed text being stored by every client, orders of magnitude smaller than a movie file, software application or MP3. Bitcoin was it. Bitcoin is what I had been waiting for. Bitcoin put together all of the battle-hardened software techniques, peer to peer architecture from file sharing, sound monetary theory from the Austrian School, a predictable emission curve, balanced adversarial incentives and infallible cryptography in a tour de force of techniques to create a single brilliant and robust system that required only user participation at any level to be a success. Anyone who had run all the software listed above as I had done, and had the other elements of my background would have been able to see this. The problem with Bitcoin was not how it worked, but how to turn the plague of worthless, fraudulent fiat into Bitcoin; how to bootstrap the system so that it replaced money. In a sentence, “How to Get Bitcoin”. Subsequently, MtGOX appeared as a way to get Bitcoin. They required a username and password to use their service, an offer which I point blank refused. After having spent years on IRC, Napster, Gnutella, and BitTorrent, I was used to not having an account and getting exactly what I want immediately, no questions asked; why should I now “sign up” for what is essentially another type of BitTorrent, and allow them to store my Bitcoin to boot? Their offer was absurd on its face, and their subsequent collapse proved that stance to be the correct one. I took the plunge with Amir Taki’s Intersango service however, as a means of buying bitcoin, and bought my first batch of Bitcoin at £7 each, immediately offloading it on to my own Bitcoin client. ♦My first purchase of Bitcoin, from Amir Taki’s ”Intersango”Buying Bitcoin that way was hard, and took an absurd three days for the process to complete. That’s when it came to me…
The answer was, “There is no reason why not”. That was when I decided to write Azteco. I had trained myself to develop with LAMP (Linux, Apache, MySQL and PHP), and had written a very complex SMS broadcast project called Upingme, that relied on telecom provider APIs, and the Bitcoin Reference Client provided a rich API to programme against. It was just a matter of working out the details. As a proof of concept, I integrated Bitcoin payments into Upingme, allowing users to buy SMS credits with Bitcoin. Adding Bitcoin payments was a straightforward task. After completing that concept, I started working on Azteco full time. Without users to account for, the entire Azteco process was simplified and streamlined across the board. Now you know (if you have been following me on Twitter or reading my Medium posts) why I have been dismissive of “Bitcoin backed by Gold” and the other things people keep coming up with; they are all old ideas that are inferior to pure Bitcoin. History is repeating and rhyming because there aren’t very many people who’ve seen the whole picture. They arrive as latecomers and do what makes sense to them, just as people did in the 1990s, without knowing what has been tried before. It’s very hard to find even a screen-grab of the Chaum’s e-cash client running; how can people new to “The Money Problem” even begin to think about good solutions and services that use Bitcoin by its nature? The majority of them never thought fiat was a problem in the first place. They don’t encrypt their email. They don’t know about “The Crypto Wars”. They think legitimacy in software comes from ridiculous, insulting and anti-American “BitLicenses”, Cargo Cult “Foundations” and other worthless nonsense. How can they possibly get any of this right, right out of the box? The answer is, they can’t. It also explains why many immature people are impatient with the speed of changes to Bitcoin. None of them have the background to understand just how long it takes to get from one major innovation stage to another. Nor do they understand how difficult it is to produce these software clients, the underlying concepts and the networks they sit on top of or the withering attacks they inevitably come under from hostile actors both on and off-line. The Year of BitcoinNow that Bitcoin is old and totally established, we can see many of my predictions have come true. Here is just one of them from 2011, anticipating “Satoshi Pay”: ♦Satoshi-Pay prediction from BLOGDIAL, August 12th, 2011 irdial.com/blogdial/?p=3144My contention that saying “Bitcoin is not money” is the best way forward was only understood after the disaster of BitLicence. Subsequently, Token sellers claimed that what they were selling was not money or a Security, and Lightning payments are explicitly denied to be money (quite sensibly). ♦irdial.com/blogdial/?p=3334There have been many such posts from this author, but perhaps the most important was one of the earliest examples debunking the “Blockchain not Bitcoin” fad, the narrative for which has now totally collapsed: ♦“Grundsaudaag, Jour de la Marmotte, Groundhog Day” from Apr 2, 2015. For three years, the entirely false “Blockchain not Bitcoin” narrative slowed the progress of Bitcoin’s adoption by diverting money and development into worthless, dead end projects and anti-Bitcoin experimentation. Now that these false narratives are discredited, it will be hard to mount another attack like it. This meeting at the Brookings Institute is a case study in how legacy thinkers consistently fail to understand Bitcoin.There are many examples, and I can’t go through them all here. Time and again anti-Bitcoin people fail to produce anything as powerful as Bitcoin with its balanced incentives and unencumbered entry into the market, and in each instance, had they read BLOGDIAL or this Medium account, they could have avoided wasting their time. In the end, they will all come to Bitcoin, or end up on their bespoke systems that will never approach Bitcoin’s utility or value. body[data-twttr-rendered="true"] {background-color: transparent;}.twitter-tweet {margin: auto !important;}function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height);resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}twttr.events.bind('rendered', function (event) {notifyResize();}); twttr.events.bind('resize', function (event) {notifyResize();});if (parent && parent._resizeIframe) {var maxWidth = parseInt(window.frameElement.getAttribute("width")); if ( 500 < maxWidth) {window.frameElement.setAttribute("width", "500");}} Bitcoin is not dead, as the R3 people claimed. It hasn’t frozen up or done any of the things its detractors claimed would cause its demise. Bitcoin is more powerful than ever, with new features being added and new services coming on line to serve the public. It isn’t too late for a jurisdiction to become the natural home of Bitcoin, but for it to do so, it must adjust to the new reality, because Bitcoin will not be changing to accommodate Computer Illiteracy and Luddism. America has the best chance of doing this, if it follows The Constitution. The Here and NowFast forward to today. Azteco has six year Google Product Manager veteran Paul Ferguson as co-founder, Tom Dobbels, seasoned and relentless Head of Sales who has just completed a very large deal with Xoxoday in India, and killer Business Development man Jordan Miles, who just brought in a 100 outlet deal. We have two senior global executive class advisers, and a slew of enthusiastic interns doing heavy lifting. This is a world-class team, and our sales are doubling every month. Everyone who tries the Azteco service is shocked at how fast and simple it is, and the common refrain is, “Why isn’t every service like this?”. We’re partnering with the world’s best Bitcoin wallets in the form of Pine, medium.com/media/71d406aec09abfcfcef946d8b441dee1/hrefBluewallet, Edge and others so that you can redeem your voucher with a single motion, and we have other very neat things in store. We are, naturally, quite excited. ♦The answer to “Why isn’t every service like this?” is that Azteco is different because we started from a correct set of fundamental principles and understanding. We work only from these first principles, and not from wrong conventions. We have extensive first hand experience in previous peer to peer services of different kinds; we know exactly what we are dealing with, why it was created and what it looks like when these services go global. If you don’t come from the right background, have never run the related predecessor software (like GPG or file sharing clients), don’t have a grasp of the correct economic theory or mentality about software, lack understanding of cryptography and the principles behind why privacy is important, it is difficult to synthesise a proper understanding from nothing, and much harder to design a correct business model. You have to have a strong mix of everything, or you’re lost. Big NumbersThere are many people without access to financial services who Azteco will serve. Did you know that there are one million (1,000,000) people in the UK who don’t have a bank account? Sixty million (60,000,000) in Mexico? Twenty five million and twenty five thousand (25,025,000) in the USA? And two billion (2,000,000,000) globally? By serving a fraction of these people we are set to become a huge service. Then of course, there are hundreds of millions of people who will just want to use Bitcoin because it is fantastically convenient, and easy to use; orders of magnitude easier than using a credit card online, whilst totally eliminating payer fraud. Azteco serves the banked and the unbanked. Azteco serves you. Azteco serves you quickly. Azteco will change your thinking about Bitcoin. Once you use Azteco, you will never tolerate anything less. Why would you? Follow Azteco on Twitter for updates. Beautyon image by Ben Drury. Listen to the “Bitcoin Matters” Podcast for short, easy to digest pieces on Bitcoin. ♦Bitcoin’s Tipping Point is Here was originally published in The Startup on Medium, where people are continuing the conversation by highlighting and responding to this story. |
{}
|
Jimmy Song ( Feed ) |
|
Saturday, 26 December 2020 |
The Moral Case for Bitcoin | |
The Bitcoin Times, Ed 3 ♦There’s no morality in fiat.One of the most important parts of the Bitcoin journey is learning to talk about Bitcoin in a way that connects with people. There have been a lot of approaches. There’s the investment case for bitcoin, the self-sovereignty case for The Bitcoin Times, Ed 3 ♦There’s no morality in fiat.One of the most important parts of the Bitcoin journey is learning to talk about Bitcoin in a way that connects with people. There have been a lot of approaches. There’s the investment case for bitcoin, the self-sovereignty case for bitcoin and even the societal case for bitcoin. What there hasn’t been is the moral case for bitcoin. The moral case for anything is a different beast than the others because we’re not appealing to self-interest, we’re appealing to something that’s deeper in the human soul. For this reason, a moral argument resonates deeper and trumps other arguments. By making this argument for Bitcoin, we’re taking the moral high ground, an argument that’s stickier and more lasting. So how do we make this moral case? Any talk of morals has to start with a framework to decide what’s right and wrong. There are two theories of individual rights that we’ll cover. Natural Law and positivism. From there we can proceed to the government’s role. There are two possibilities here:
Next, we can proceed to how money fits into both these systems of morals and government. Specifically, we’ll contrast fiat money versus Bitcoin. Finally, we can explore the second-order effects, or what we can expect under both systems in terms of incentives, virtue and the character of society. Let’s start with a little bit of philosophy. There are two theories of individual rights. Natural Law and positivism. The first is the theory of Natural Law. This is the idea that rights are something we already have; that if they’re violated by anyone including the government, that it is wrong. This view is ancient, but probably the clearest expression of this is in The Declaration of Independence: “We hold these truths to be self evident that all men are created equal. That they are endowed by the Creator with certain unalienable rights that among these are life, liberty and the pursuit of happiness.” Life, liberty and the pursuit of happiness are three rights mentioned by the writers of the Declaration of Independence, but they’re by no means the only ones. There’s the right to property, the right to free speech, the right to religion and so on. The reason why the colonists felt justified in declaring independence was because their natural rights were being violated by England. The English king was violating their already existing rights and therefore the government was doing something wrong and therefore was not a legitimate government. That was their argument. In other words, a government that does not respect natural rights no longer deserves to govern. That’s the basis of Natural Law. Individuals already have certain rights and any government that violates those rights is an illegitimate government. The other view of individual rights is called positivism. This is the idea that the government grants individuals certain rights, and that the government is the arbiter of what an individual can and cannot do. Generally, this means that unless the government explicitly gives you a right, that it is not a right you have. An example of this is a license to cut hair. Individuals do not have the right to cut hair unless you get the government’s permission first. Essentially, in this framework, the government determines what’s right and what’s wrong. Why do people follow Natural Law?First, it’s common sense, like the tract from 1776 by Thomas Paine. Saying something is common sense is another way of saying it’s inborn or intuitive. Natural Law says that it is wrong to murder people because people have a right to life, for example. That’s hopefully inborn or intuitive for you. Second, Natural Law is just. Natural Law treats people equally, not based on wealth, ethnicity or political savvy. We don’t give certain people one set of rights and deny it to another set of people. Third, Natural Law is individual-centric. Individuals have the right to life, liberty and the pursuit of happiness. Individuals have freedom under Natural Law. Why would anyone like positivism? Unsurprisingly, those who like positivism are people in power. First, positivism is much easier to enforce. Positivism defines rights each individual has so if the right is not explicitly given, then the individual is in violation. If you don’t have a license to cut someone’s hair then you are in violation. Judging right and wrong under positivism is much much easier. Second, positivism is great for those in power because they can treat people differently. Think of the scene from Braveheart where nobles are given the right of “prima nocte”, or the right to sleep with commoner’s wives on the first night of marriage. Prima nocte is a flagrant violation of Natural Law, but under positivism, any rights, even one to rape, is something the government can give. Third, positivism allows those in power to set the rules. They don’t have any restrictions on those rules because they are by definition moral under positivism. There’s no higher authority that you can appeal to and say this is unfair. At this point recognize that Natural Law is moral and positivism is highly immoral. Looking throughout history, all of the worst governments with the worst atrocities, every single one of them was positivist. All of them operated under the idea that the state gives you the right to do something. The state gives you the right to cut someone’s hair, own property or even live. And they can take stuff like your life, your liberty and your property. If you look at Nazi Germany, Stalinist Russia and the Reign of Terror with disgust, you do so because they’re all positivist and believe to some degree in Natural Law. So, if you’re a believer of positivism you can stop reading this article because I don’t really have anything more to say to you. But if you’re a believer in Natural Law, please continue. With this distinction in mind, let’s talk about the role of government. Government can take two possible roles: protecting individual liberty or pursuing a utopian vision. If you believe in Natural Law, that we already have rights, then the government’s job is to protect those rights. The opposite is the pursuit of a utopian vision. Marx’s workers paradise and Hitler’s racially pure world are two visions that led to mass slaughter. But those aren’t the only possibilities. a utopian vision can be something as simple as not ever having any sort of terrorist attack on a plane. This is how we get ridiculous policies like the TSA. Another utopian vision is preserving the status quo. That’s how we get bailouts and too-big-to-fail. Conservatives are much more prone to this sort of vision which isn’t surprising since preserving the status quo is literally conservative. The sad reality of today’s political discourse is that we’re not arguing about protecting individual liberty, we’re arguing for different utopian visions. When the government’s role is to protect individual liberty, we get a lot of good things. There’s a lot more entrepreneurship because no one needs permission. And that ultimately leads to civilization being built up by sovereign individuals. When the government’s role is pursuit of a utopian vision, we get lots of bad things. There’s a lot less stuff being built because there’s permission required. There always needs to be some sort of bureaucratic stamp of approval on whatever it is that anyone wants to do. Violations mean you lose your property, your liberty, and possibly even your life. Ultimately individuals become slaves to the state. When the government protects individual liberty then the state takes the proper role of being a servant to the people. But when the government pursues a utopian vision, individuals become the slaves of the state. What we’re seeing in the last 200 years is that governments around the world have moved from protecting individual liberty towards pursuing utopian visions. ♦A positivist pursuit of a utopian vision has its own money: fiat. A Natural Law protection of individual liberty has its own money: bitcoin. We can see that clearly in its properties. Fiat money is clearly centralized, with control of money from a powerful central entity, like the Federal Reserve. Bitcoin is decentralized with every individual having power, through running a node. Fiat money requires permission to possess it. Bitcoin is better than even gold in the sense that it is unconfiscatable. Fiat money can be devalued at will, giving positivist governments the funds to pursue their utopian vision. Fiat lets governments tax without the consent of the governed. Bitcoin gives power back to the individual not allowing this stealth taxation and respects individual property. Fiat money uses violence to get its ends. Fiat is a zero-sum game where the state benefits at the expense of individuals. Bitcoin is voluntary and positive-sum because people only trade when it adds value to both parties. Fiat money is a positivist money, a tool of governments pursuing a utopian vision. Bitcoin is a Natural Law money, a tool to protect individual liberty. Bitcoin is therefore the more moral money. The second order effects of Bitcoin are in the realm of individual character. We can look at this in terms of the four classical cardinal virtues. Prudence, Temperance, Justice and Fortitude. Prudence is what we in bitcoin call low time preference, that is planning for the future. Fiat money is the opposite and you can see it in the enormous amounts of debt everyone has. Individuals become more high time preference and become slaves to their debt. Temperance is doing things the right amount. Fiat money encourages consumption and thus, individuals are not incentivized to learn self-control. This causes everything from materialism to obesity to addiction. Bitcoin is the opposite and causes people to save and measure their consumption. This means there’s more self-control and more temperance. Justice is doing things fairly. Fiat money is unfair in a whole host of ways. Politically connected people get rich through rent-seeking. Bitcoin is much more fair because there’s no apparatus to rent-seek from. Instead, we get a free market and a meritocracy. Fortitude is courage or guts. Unfortunately, fiat money and positivism means a highly politicized environment since the government is in control. Fiat money incentivizes rent-seeking, not risk taking entrepreneurial endeavors. Positivist change is brought about by force and violence. Bitcoin incentivizes entrepreneurship and new goods and services. In other words, Bitcoin induces Natural Law change, which is brought about by creation and innovation, not government decree. Prudence, temperance, justice and fortitude. The moral case for Bitcoin is that Bitcoin aligns with Natural Law. Bitcoin gives us protection for individual rights, something most governments are slowly abandoning. The sad reality is that the world is becoming more and more tyrannical. Those in power both on the left and right pursue utopian visions instead of protecting individual liberty. If you care about protecting individual rights, then Bitcoin is what we must pursue and fiat must be destroyed. Fiat delenda est. By Jimmy Song The Bitcoin Times Ed 3 is now live. Each section will be released on Medium as a free long form article, and the full, compiled version of the Bitcoin Times will be available for free at the link below. We will release a limited edition hard cover collectible, for purchase, which you’ll be notified of by email if you download the free pdf. If you found value in this or any of the other essays and articles, please support each of the contributors by sharing it out & following their work. Download the full guide at:The Bitcoin Times The ₿itcoin Times Written By:twitter.com/jimmysong Jimmy Song - Medium ♦The Moral Case for Bitcoin was originally published in The Bitcoin Times on Medium, where people are continuing the conversation by highlighting and responding to this story. |
{}
|
Nic Carter ( Feed ) |
|
Sunday, 13 December 2020 |
Nic’s 2020 Bitcoin Esoterica Compendium | |
Nic’s 2020 Bitcoin Esoterica CompendiumAnswer key and references for the Very Hard Bitcoin Holiday Quiz
So for this holiday season, instead of talking about all the coins I thought would die, I decided to undertake a brain dump of some of the Bitcoin trivia I’ve picked up over the years. I’ve been
Nic’s 2020 Bitcoin Esoterica CompendiumAnswer key and references for the Very Hard Bitcoin Holiday Quiz
So for this holiday season, instead of talking about all the coins I thought would die, I decided to undertake a brain dump of some of the Bitcoin trivia I’ve picked up over the years. I’ve been accumulating niche and esoteric information about Bitcoin and altcoins for quite a long time now, and it’s time to let it out. Recently, The Block’s Larry Cermak made a great (and challenging) quiz covering crypto markets to filter prospective interns. I was inspired by this and decided to make an even harder quiz, focusing mostly on half-forgotten moments from Bitcoin’s history. If you haven’t taken the quiz yet, stop reading and take it first: Nic's Very Hard Bitcoin Holiday Quiz The first objective for the quiz was to make something that would be extremely challenging, even for the most seasoned Bitcoiner. If you score more than 50% (22 correct), you should be very happy with your performance. It’s meant to be damn hard. Seriously. The second objective was to remind Bitcoiners of a few entertaining vignettes from Bitcoin’s history. There’s so much amazing stuff that newcomers didn’t have the benefit of living through, and I wanted to dredge some of it up. Bitcoin hasn’t always been an orderly and financialized market. It has been utter chaos for the better part of 12 years. So the quiz was an excuse to resurface some of these wacky tales from earlier days of Bitcoin. Here I’ll add a bit more context on the questions, and add some references so you can learn a bit more about the events being referenced (and verify that I’m not just making stuff up). Note: the rest of this article spoils the quiz, so do the quiz first before reading. People♦
Earlier Chaum was contacted by the unavoidable Bill Gates of Microsoft. He would integrate ecash in every copy of Windows 95. Rumor had it, the giant from Seattle offered something like 100 million dollars. David Chaum refused to sell it for less than 1 or 2 dollars per sold copy and that stubborn attitude killed another agreement. “A really sad story,” reflects Stofberg. Chaum killed an agreement with another American company, Netscape, in the same way, by insisting straight away that everybody sign non-disclosure agreements, even before negotiations had started. Exit Netscape.♦ 2. Before becoming a Bitcoin Baron with his DCG conglomerate, Barry Silbert ran a company called SecondMarket. They helped make shares in private companies liquid pre-IPO. They were later acquired by Nasdaq Private Market. The Bitcoin Investment Trust, today a gargantuan black hole sucking in all the Bitcoins, has its origins in SecondMarket. ♦3. So Zooko has really been around the block. He’s been involved in a ton of cypherpunk, p2p, and digital cash projects. Famously, he worked at DigiCash. Mojo Nation is an underrated file-sharing project where he worked with Bram Cohen who would later leave and start Bittorrent. Although Zooko knew the folks at e-Gold, he never worked for them. ♦4. Another crypto luminary who has worked all over the place is CZ, the founder of Binance. Unknown to many, he worked at Blockchain.info before joining OKCoin where he was CTO. He never worked at Huobi though. ♦5. This is fairly well known, but Vitalik cofounded Bitcoin Magazine and wrote quite a few articles before starting Ethereum. ♦6. If you ever followed Roger Ver on Reddit, you would know him by his handle /u/memorydealers. So what memories was he dealing in exactly? Well memorydealers was a rather pedestrian online shop selling used computer parts. Roger DID briefly sell fireworks (which won him a felony), but that wasn’t his main pursuit. ♦7. Many Bitcoiners will know this one. While Ross Ulbricht got double life for his creation of the Silk Road, the murder-for-hire charges that swirled around the case were never actually included in the final set of charges. In that context, the double life sentence with no parole is more than a little mystifying. Exchanges♦8. The oldest continuously operating orderbook exchange in the entire industry is the Bitstamp, founded in Luxembourg in August 2011. Great job guys! This is why many Bitcoiners refer to Bitstamp prices for continuity’s sake. Although I did get a couple DMs claiming that Tradeogre is actually the longest continually operating Bitcoin exchange. It’s a close one. ♦9. Ah, Bitcoinica. The genesis of the term ‘Zhou Tonged’. It was horribly run and yet despite — or perhaps, because of this fact — many Bitcoiners remember the derivatives exchange fondly. It was hacked three times. The last time, suspicions abounded about an inside job. In total, around 120k BTC were stolen from the exchange. Where is Zhou Tong today? Who knows. ♦10. This shouldn’t be too difficult. It’s the last initial of the three original cofounders — Arthur Hayes, Ben Delo, and Sam Reed. ♦11. Some more Bitcoinica lore. According to Vitalik writing in Bitcoin Magazine, Bitfinex’s original codebase was partly inherited from Bitcoinica, as dysfunctional as it was. ♦12. While p2p Bitcoin trades took place on various auction sites like Ebay in the early days, as far as I can tell, the earliest continuous, dedicated Bitcoin exchange was Bitcoinmarket.com. ♦13. This is one of my favorite tidbits. The first Bitcoin ‘price’ was derived by NewLibertyStandard who computed the cost of mining his Bitcoins based on his electricity costs. He derived a unit price of 1 USD = 1309 BTC, or $0.00076 per coin. This was a bit theoretical, because Bitcoin wasn’t meaningfully trading at that time. But I like to think of this as Bitcoin’s first price. BlockchainOn to my favorite section, weird artifacts found in Bitcoin’s blockchain itself. I owe a lot to Coin Metrics engineer and veritable Blockchain Indiana Jones, Antoine Le Calvez, for some of the findings in this section. He has found some astounding stuff by poring through Bitcoin’s blockchain over the years. Antoine & team share a lot of these hidden gems in the Coin Metrics substack. ♦14. Man, I love this damn piece of trivia. This was the first question I wrote for the quiz. The answer is two! There are two instances of identical transactions in Bitcoin:
This has the practical effect of destroying one UTXO from each transaction. This means that there’s 100 less BTC in existence than you thought there was. Antoine covered the topic masterfully here. There’s no risk of this happening today, due to BIP-34, which required that coinbase transactions include the block height. ♦15. Another piece of trivia I absolutely love. As some of you may know, miners don’t have to claim the full coinbase reward. They can award themselves less, if they want to. This means that the designated Bitcoin never actually come into circulation. This means that Bitcoin’s supply is slightly less than what it was intended to be. So far, this has happened 1,221 times. As Antoine says in his piece on the topic: According to Bitcointalk user midnightmagic, the first instance was done on purpose as a tribute to Satoshi Nakamoto, on a suggestion of Bitcoin developer Matt Corallo. For the other cases, given the amounts lost by some miners, they are most likely attributable to bugs in the software used by miners to create the coin generation transaction.♦ 16. Easy one to cheat on if you want! Just go to blockchair and sort transactions by size. The biggest transaction took place in Nov. 2011, outputting 550,000 BTC. At the time, that was worth only $1,265,000. ♦17. Another one that might be surprising. As some of you know, transactions can bundle together many, many individual transfers. This is called batching. So transactions can bundle up lots of individual UTXOs and output lots of UTXOs, too. The limit is block size. The most input-heavy transactions have 20,000 inputs. Wild. (This is another reason why transaction count isn’t a great way to measure payment activity). ♦18. If you know a thing or two about LukeJr you can probably guess this one. In 2011, LukeJr’s pool Eligius inserted prayers into Bitcoin. Specifically, he added the divine praises. A few users got fed up and also broadcasted messages on chain admonishing him for it. ♦19. Most Bitcoiners should know this! It was 184 billion BTC. But don’t worry, that chain was discarded. ♦20. SatoshiDice was an infamous early usage of Bitcoin, created by Erik Voorhees, whereby you could make bets that would pay out on-chain. It consumed a lot of blockspace in the early days. In 2012 it accounted for a full 40% of all Bitcoin transactions, when counted on a daily basis (although a greater share of some individual blocks). The Mt Gox SectionMt Gox is such an incredible, epic, and chaotic story that it deserves its entire section in the quiz. Whole books could be written about the Gox story. I’m surprised there aren’t any yet. ♦21. Simple enough. Gox opened its doors in July 2010. There’s some disagreement over whether it was the 17th or the 18th. Either way, Gox rapidly became the biggest Bitcoin exchange, and retained that crown until it collapsed spectacularly in 2014. ♦22. One of my favorite tidbits. Gox was actual insolvent when Jed McCaleb (who later created Stellar) sold it to Mark Karpeles. It’s not clear Gox was ever actually fully reserved. In 2011, skeptical users demanded an informal ‘proof of reserve’ and Gox owner Mark Karpeles conducted a self-send totaling 424,424 BTC, as a sly reference to the Hitchhiker’s Guide. Seriously. Mark was a bit of a peculiar fellow, as you’ll see. Don’t come after me claiming we have no coins,” Karpeles said, according to a transcript of that online discussion. “42 is the answer.”♦ 23. Another one of my favorite pieces of Bitcoin trivia, period. Karpeles named the Mt Gox parent company after his cat, Tibanne. Tibanne sadly passed away last year. Rest in peace, Tibanne. You were a important cat in Bitcoin history. ♦24. Because Gox never registered as a money transmitter, DHS shut down their payment processor relationships, and seized funds being held on their behalf by Dwolla. ♦25. So aside from the whole “losing 800,000 BTC” thing, another move Mark Karpeles made that really earned him the ire of Bitcoiners was initially blaming the Gox hack on a Bitcoin protocol-level exploit, known as transaction malleability. In reality, Gox was hacked in a much more straightforward way — hackers simply gained access to cold storage, and siphoned the wallets over a period of years. Wrongly blaming the Bitcoin protocol led to a flurry of Bitcoin headlines about Bitcoin itself being insecure. Not the case: a paper from a team at ETH Zurich found only de minimis losses from malleability, which was never a significant issue on Bitcoin. SegWit subsequently fixed malleability, too. AltcoinsI get it, this is a Bitcoin quiz. But there’s so much entertaining trivia to do with altcoins, especially early PoW alts. The first few years from 2011 to 2014 were absurd — there was virtually no innovation, just copy pastes of the Bitcoin source code with new names. Let’s dive into the history of alts a little. ♦26. So the first ICO was Mastercoin. It really is an amazing story, and I can’t do it justice here. Here’s a fun thread recapping the history. JR Willett devised the idea, imagining ways to extend Bitcoin’s protocol. It later became the Omni protocol, which is what Tether was initially built on. So really, the first ICO was one of the most successful, in that it build something pretty useful for Bitcoiners. That said, the token did not share in the success of the protocol, and is effectively worthless today. Lesson in there! ♦27. This one is a gimme. The first true altcoin was Namecoin. (Granted, Bitcoin Testnet actually gained a financial value for a second there, and so has a claim to the title of being the first altcoin, too). Originally conceived as BitDNS, and actually discussed by Satoshi on BitcoinTalk, Namecoin was meant to extend the use of Bitcoin as an immutable ledger for domain resolution. Namecoin domains ended with .BIT. As far as I can tell, they don’t really work today. Numerous projects that have taken this idea further since then, including Blockstack, Ethereum’s ENS, Immutable Domains, and Handshake. ♦28. So Luke-Jr and his mining pool Eligius appear again in the annals of Bitcoin history. So one thing Luke did aside from posting text to the blockchain, was kill off an altcoin known as CoiledCoin with 51% attacks. (This was one of the hardest questions on the quiz, judging by your responses). ♦29. So this will trip up a lot of people. The correct answer is actually Ripple. Each of those other coins has suffered an inflation bug — some permanent, some remediated. Many other coins have had inflation bugs too. In fact, look hard enough, and you can probably find unanticipated inflation on almost any public blockchain. I’ll link to coverage of each inflation bug, although each has a fascinating story which is worth diving into (especially Stellar, in my opinion, because they basically concealed it, and never really undid the bug). Auditability matters!
30. Should be easy enough! Launched in Aug. 2012 by the pseudonymous Sunny King, Peercoin was the first proof of stake coin. PoS was meant to be superior to Proof of Work, but like a lot of PoS experiments, it merely introduced new, more complex problems. To solve the nothing at stake problem, Peercoin introduced centralized checkpointing. ♦31. So this one is tricky if you know the history. Many people that are familiar with Litecoin’s launch believe it’s a fork of an early PoW altcoin Tenebrix, on account of Litecoin inheriting Tenebrix’ Scrypt hash function (which was meant to be ASIC-resistant). However, the vast majority of Litecoin’s codebase was inherited from Bitcoin, not Tenebrix. (I actually double checked this with Charlie Lee before writing the question.) So, Litecoin — fork of Bitcoin. ♦32. Ah, airdrops. They were all the rage from 2013–17. Each of Ripple, Stellar, and Byteball had prolonged airdrop campaigns to try to get Bitcoiners (and others) on board. I don’t think it worked — although Bitcoiners who collected their 2013 1000 XRP airdrop and held on to it saw a nice windfall. (Ok, you can quibble on this, because technically it was an airdrop to BitcoinTalk users, not Bitcoin holders). In this sample, Steem did not conduct airdrops to Bitcoiners. MiscellaneousOk, that’s enough about alts. Back to king corn. ♦33. Ok, I slipped up on this question. I thought that the first properly documented instance of a pool commanding 51% of BTC hashrate was Ghash.io in June 2014, but it turns out Deepbit was probably first in 2011. Either way, when Ghash gained so much market share, it caused a fair amount of concern. High profile Bitcoin developers like Peter Todd expressed their misgivings about the protocol itself when this happened. Hashrate quickly deserted Ghash after it hit this threshold. ♦34. Physical bitcoins are incredibly cool Bitcoin artifacts. Casascius coins are physical metal coins with embedded private keys, which cannot be extracted without peeling off a sticker. There’s currently just under 50,000 BTC held in physical Bitcoin format. Because FinCEN warned Mike Caldwell for being a money transmitter, and he stopped selling them, all the Casascius coins that will ever exist have been minted. A collector’s item arguably more scarce than Bitcoin itself. ♦35. Now this one you will likely only know if you actually bought Casascius coins. (Although some issues of the coins did include the phrase ‘Vires in Numeris’, which tripped a few of you up on this question). The bumper sticker that Mike included with orders read ‘I believe in honest money; gold, silver, and bitcoin’. Those are probably collector’s items now, too. ♦36. Bitcoin OG’s will remember this one. One of the first big Bitcoin ponzis was the Bitcoin Savings and Trust. Spoiler: it did not save BTC, and it was not trustworthy. Trendon Shavers promised interest of 7% per week. The scheme collapsed in August 2012 and Mr. Shavers was convicted of securities fraud in 2016. ♦37. One of my favorite pieces of Bitcoin trivia and an incredibly poignant one. Some of the earliest text content in Bitcoin is a tribute left by infosec expert Dan Kaminsky, commemorating his late friend Len Sassaman. He also includes an ASCII portrait of Ben Bernanke, laughing about Bitcoin’s new ‘dependency’ on the former Fed reserve chair. And he spent 1 BTC to do it! See slide 13 here. Full text of the tribute here. ♦38. Everyone knows that Laszlo made the first BTC transaction by buying pizza. Not everyone knows the details. He bought two Papa John’s pizzas for 10k BTC. And then, reportedly, ran that same transaction three more times. It’s unclear how many times he bought pizza, but his wallet had 80k BTC, so it could have been as many as eight. ♦39. So here’s another twist in the Laszlo tale. Aside from pizza, we know that Laszlo was one of the pioneers of Bitcoin GPU mining. That’s how he got his hands on so many BTC in the first place. We also know that he was the first to port Bitcoin Core to MacOS. And we know that Satoshi emailed him, asking him not to hoard all the BTC (via GPU mining). So putting the pieces together, Laszlo might actually be a more complex figure than we initially believed. I think it’s entirely possible that he felt a bit guilty about collecting so much BTC through GPU mining, after Satoshi emailed him, that he decided to effectively distribute his newfound gains into the community via the pizza transactions. ♦40. Lifetime membership for individuals for the Bitcoin Foundation was a whopping 25 BTC at inception in 2012, although it subsequently declined in BTC terms as Bitcoin appreciated against USD. Quite a few people signed up. Industry membership tiers went up to 10,000 BTC per year. Suffice to say, lifetime members of the Foundation are probably regretting their purchase today. Bitmex Research estimates that the foundation collected 27k BTC in membership dues by spring 2013. ♦41. In 2013, Bitcoin accidentally underwent a prolonged chainsplit when some node operators upgraded Bitcoin Core to version 0.8, which was incompatible with the 0.7 version. The crisis was resolved by having miners downgrade, allocating hashpower to the 0.7 chain and orphaning the 24 blocks on the 0.8 chain. As it became obvious that the 0.8 chain (which had been as much as 13 blocks ahead) would ultimately be discarded — it was just a matter of time — an opportunity emerged to commit double spends. And indeed, during this disorderly transition, BitcoinTalk user macbook-air claimed to have successfully double-spent the payment processor OkPay to the tune of $10,000, by making a deposit on the 0.8 chain shortly before it was erased by the miners. While double spends aren’t visible in the final blockchain (because the first double spent transactions are, by definition, not included in the final chain), this was the first documented evidence of the attack taking place. ♦42. Coin Artist’s awesome puzzle contained the clues to spend 5 BTC held at an address beginning with 1FLAMEN. This is the puzzle. Can you see it? ♦♦43. One of Satoshi’s last public pronouncements was a plea to not “kick the hornet’s nest,” at a time when Bitcoiners were considering promoting the cryptocurrency by donating to Wikileaks, which had been the target of deplatforming from traditional payments providers. Satoshi urged Bitcoiners not to garner negative attention by donating to Wikileaks: No, don’t “bring it on”. The project needs to grow gradually so the software can be strengthened along the way. I make this appeal to WikiLeaks not to try to use Bitcoin. Bitcoin is a small beta community in its infancy. You would not stand to get more than pocket change, and the heat you would bring would likely destroy us at this stage. Bitcoiners were undeterred and donated over 4,000 BTC to the Wikileaks address. That is equivalent to $75m today, although it’s not known whether Wikileaks held on to the BTC or not. (Yes, this is kind of an unfair question, but the quiz isn’t meant to be easy, mmkay?) ♦44. The Bitcoin Alert System was designed to alert node operators when something was critically awry, like the various chainsplit events we’ve covered in this article. However, it was also a critical point of centralization, because a small number of individuals had the keys to broadcast messages to all nodes running Bitcoin Core. This was clearly a vector for potential abuse, and was done away with in Bitcoin Core 0.13. Satoshi had a key, as did Theymos (the moderator for r/Bitcoin and the BitcoinTalk forum) and Gavin Andresen. Others may have had Bitcoin Alert keys — it was rumored that Mt Gox had one, which could have fallen into the hands of the Japanese police. Either way, the system was deprecated, and Brian Bishop eventually published the keys, so that no one could benefit from their use. That about wraps it up. If you get above 50% on the quiz, you should be pleased with yourself. It’s designed to be completely impossible to get a perfect score on. Although a couple people have astonishingly come close. Without having written it, I wouldn’t get a perfect score either — a lot of these facts I had to check sources for and ask experts about. The real point is surfacing some interesting tidbits from Bitcoin’s history, and externalizing this trivia from my brain to the wider world. Happy holidays, God bless, and see you all next year! I’d like to thank Antoine Le Calvez, Dan Matuszewski, and Dan McArdle for their invaluable assistance and suggestions. It wouldn’t have been half as interesting without them. ♦ |
{}
|
Nik Bhatia ( Feed ) |
|
Wednesday, 09 December 2020 |
Worlds Collide: Bond Issuance and Bitcoin Buying | |
♦
At last, my worlds have collided. No, not in the way they collided for social miscreant George Costanza, but rather in a beautiful and harmonious way. Software company MicroStrategy will soon issue a $400 million bond in order to purchase Bitcoin only weeks after it converted $250 million of its
♦
At last, my worlds have collided. No, not in the way they collided for social miscreant George Costanza, but rather in a beautiful and harmonious way. Software company MicroStrategy will soon issue a $400 million bond in order to purchase Bitcoin only weeks after it converted $250 million of its treasury reserves from dollars to Bitcoin. And with that, the bond markets and the Bitcoin market will merge, and the two parallel careers I’ve built for myself will suddenly become one. Bonds and BitcoinI spent my youth aspiring to participate in the financial markets, learning how to analyze charts and observe linear trends before my teenage years. Eventually I realized my dream and became a US Treasuries trader for an institutional asset manager in 2016. I safely guided enormous client portfolios in and out of positions in the dollar’s “risk-free” asset on behalf of my former employer, trading over $100 billion notionally per year. Much of that volume occurred in Treasuries, which were treated as “cash” on the balance sheet of each institutional client. These Treasuries (T-Bills and T-notes with less than 2 years until maturity) lacked any quantifiable risk to us and our clients because Treasuries are still the safest way to store dollars in a broken dollar system. The volume I traded was personally staggering but existed simply because corporations, universities, and governments have so much cash they literally have nowhere else to put it. I didn’t mind: the volume I traded with the world’s largest investment banks gave me access to some of Wall Street’s finest minds. But the sheer volume of money sloshing around the financial system steered me toward an even more important path: it pointed me down the Bitcoin rabbit hole, a world previously unfamiliar to me that possessed a much stronger gravitational pull on my intellectual curiosity than any other macroeconomic market I had experienced prior. Little did I know, bonds and Bitcoin would be entirely joined at the hip only half a decade later. Corporate New IssuanceOne of the most interesting things I saw during my time on the fixed-income trading desk was massive corporate bond issuance to the tune of trillions of dollars annually. But what do those corporations do with all that cash once they issue bonds? Until they’re ready to spend it on projects, research and development, or share buybacks, a lot of the money ends up in Treasuries and other interest rate markets. I had a front seat to the flurry of fixed-income market activity revolving around corporate new issuance. Corporations and banks constantly place hedges via interest rate swap, foreign exchange swap, and Treasury futures markets in order to quantitatively manage their newfound balance sheet expansion. This finally brings us to MicroStrategy, which won’t need to hedge its interest rate position upon its new issue but instead will need to purchase an enormous slug of Bitcoin. Anticipating FireworksWhen MicroStrategy successfully prints its debt issue and takes custody of $400 million later this month, it will bolster its cash position which it proudly denominates in bitcoin (BTC) rather than in dollars (USD). What ensues might be the most fascinating market activity in Bitcoin’s young history. While traditional economic and financial theory suggests that the news of an incoming $400 million purchase of Bitcoin in the open market has already been priced into the market, reality might tell an entirely different tale. Never before in Bitcoin’s history has such a gargantuan purchase been pre-announced, and never before has such a wave of buying hit the market all at once. Even the staunchest “efficient-market-hypothesis” adherents will eagerly observe the subsequent price action to see just how a purchase of 20,000 BTC is met by the readily available (or not so available) supply across Bitcoin exchanges. Acquiring it will certainly put pressure on the price, regardless of one’s opinion on the speed at which markets adjust to news. ♦graphic by twitter.com/YungGucciTEven more interesting than the BTCUSD price impact of MicroStrategy’s bond issuance is the linkage between the bond and Bitcoin markets that will undoubtedly blossom as a result. Just as corporate new issue and interest rate swap markets are linked (a process called rate-lock explained here), corporate new issue and Bitcoin markets will now be linked going forward. Investment banking trading desks will be forced to offer clients financial products that allow Bitcoin hedging and conversion for clients looking to replicate MicroStrategy’s effort. By converting a balance sheet liability (its bond offering) into Bitcoin as an asset, the company is betting that its cost of borrowing will pale in comparison to the time value of money associated with holding Bitcoin. And the world will be watching to see the result. Layered MoneyMicroStrategy’s poetic and wildly enthusiastic-about-Bitcoin CEO Michael Saylor deemed the dollar an inferior cash instrument to Bitcoin in a flurry of tweets and media appearances over the past few months to justify the allocation. He might be the first CEO of a large corporation to engage in this type of treasury reserve allocation, but he definitely won’t be the last. In my forthcoming book Layered Money: From Gold and Dollars to Bitcoin and Central Bank Digital Currencies, I examine how Bitcoin has already achieved legitimacy as a global reserve currency and will continue to drive corporations like MicroStrategy into a state of balance sheet denomination duality in which entities hold cash denominated in both USD and BTC. MicroStrategy’s share price, denominated in USD, has partially morphed into an expression of the BTC/USD price as a function of this duality because so much of its assets are held in Bitcoin. This enigma will leave executives and policy makers scratching their heads in the years to come as they try to decide how to denominate their reserves, especially if the Bitcoin price reverts to its parabolic roots. ♦I spent this year weaving both of my worlds into one because the blurred line between Bitcoin and macroeconomics frankly disappeared in 2020. I did this by writing a book about the international monetary system that includes a vision of the future with Bitcoin at the center. Bitcoin won’t replace all currency on this planet, but it will serve as the reserve asset of all digital currencies just as it serves as the reserve currency in the cryptocurrency world today. Central banks are about to launch their own crypto-competitors, and banks will certainly follow suit in order to stay relevant in the rapidly changing monetary environment. But all new digital currencies, from central banks and banks alike, will eventually face final settlement versus BTC as the only digital currency on our planet immune to supply manipulation. I am beyond excited to share my vision for our monetary future in only a few weeks: Layered Money will be available on Amazon worldwide on January 26, 2021. The Kindle version can be pre-ordered here, and print and audio versions will be available on the release date. Please visit my website LayeredMoney.com for more information and follow me on Twitter. ♦ |
Azteco Takes it to the Edge | |
♦
Azteco expands its market penetration in its goal to create new service category “Consumer Bitcoin”. To do this, we are integrating out service with partners who want their users to be able to redeem our vouchers with a simple gesture. Edge wallet is just one of many forthcoming integrations, hel
♦
Azteco expands its market penetration in its goal to create new service category “Consumer Bitcoin”. To do this, we are integrating out service with partners who want their users to be able to redeem our vouchers with a simple gesture. Edge wallet is just one of many forthcoming integrations, helping streamline and “Consumerise” the process of getting Bitcoin. The Rise of Consumer BitcoinEncryption in chat was brought to over 300,000,000 daily users through WhatsApp. Before that, the billions of messages sent by the vast majority of chat apps were easy to read in transit and not private. There were a few previous attempts to encrypt chat through apps that worked as privacy tools, but it took a “Consumer Grade” messaging app to bring this essential feature to hundreds of millions of users. ♦An Azteco VoucherThe same effects will happen in Bitcoin services: it’s all about usability; an app or a class of “Consumer First” app will emerge that is designed to fit the needs of consumers, and that wallet and service has the potential to sweep the entire world as WhatsApp did. Azteco is integrating with wallets and other consumer services globally, so that getting Bitcoin is as easy as buying an Amazon or iTunes Gift Card. Part of the task of making Bitcoin universally and easily accessible is making it trivially simple to put it into your phone, and our wallet integrations do exactly that. Once you have your voucher from one of our outlets, all you have to do is point your phone at the QR Code on the receipt and like magic, the Bitcoin is on your phone in about three seconds. That’s all there is to it. Azteco is putting Bitcoin where the people are, and where they are perfectly comfortable. We’re removing the need to learn anything about Bitcoin in order to use it, and fitting it into an intimidation free mental model and context that billions are already familiar with. Internal growth numbers are showing us that our hypothesis is correct. Follow Azteco on Twitter. Azteco Takes it to the Edge was originally published in Decentralize.Today on Medium, where people are continuing the conversation by highlighting and responding to this story. |
{}
|
Rafael Schultze-Kraft ( Feed ) |
|
Tuesday, 17 November 2020 |
Quantifying Short-Term and Long-Term Holder Bitcoin Supply | |
We introduce a new methodology to classify Bitcoin supply owned by long-term investors and short-term traders, and show when these two investor types are in a state of profit or loss.♦
To understand investor behaviour from an on-chain perspective, it is crucial to differentiate between Long-Term Ho
We introduce a new methodology to classify Bitcoin supply owned by long-term investors and short-term traders, and show when these two investor types are in a state of profit or loss.♦
To understand investor behaviour from an on-chain perspective, it is crucial to differentiate between Long-Term Holders (LTH, “investors”) and Short-Term Holders (STH, “traders”). While traders aim to “beat the market” and exploit price fluctuations on short time scales, long-term investors have a low time preference and are in for the long haul — remaining of the conviction that BTC will see future price appreciation. These market participants HODL over long time frames ( A True HODLer Does Not Sell Their Coin), or only temporarily decrease their bitcoin positions in bull markets for profit-taking (“Swing HODLers”). But how can such different behaviours be quantified, and what conclusions with respect to the market can be drawn from this? In the present work we introduce a new methodology to classify the amount of Bitcoin supply owned by these two investor types, and we create a set of on-chain metrics that show when long-term and short-term holders are in a state or profit or loss. Classifying Long-Term Holders (LTH) and Short-Term Holders (STH)In previous works, we looked at the probability that an Unspent Transaction Output (UTXO) is spent within a certain time window, and identified 155 days as the threshold at which the slope of this probability flattens out — marking the level that classifies whether a bitcoin (UTXO) is being held by a long-term or short-term investor (Figure 1). For more information, please refer to our previous work: Breaking up On-Chain Metrics for Short and Long Term Investors.♦Figure 1 — The probability that a UTXO is spent within the specified time window (denoted in days) as a function of its coin age. In the present work, we take this approach a step further. Instead of simply looking at UTXOs, we analyze Bitcoin entities and the supply held on their respective wallets. To determine the amount of BTC owned by long- and short-term holders, we first considered the time since the (averaged) purchasing date for each entity: If this duration exceeds 155 days (the above-mentioned threshold derived in our previous analysis), then the entity is considered to be a long-term holder. In a second step, we refined this sharp classification threshold and turned it into a smooth curve of weighting factors. In particular, we used a logistic function with a midpoint of 155 days and a transition width of 10 days. ♦Figure 2 — The weighting factors used for the classification of long-term and short-term holders. A logistic function centered at 155 days and a transition width of 10 days is used.As a result, an entity’s balance now equally contributes to LTH and STH supply at 155 days, each with a share of 50%. In contrast, at around 177 days (around half year) after an entity acquires its BTC, 90% is attributed to the LTH supply. Using such a continuous transition between STH and LTH has the advantage that the resulting metrics are smoothed and don’t suffer from artifacts related to a few hodlers suddenly crossing the sharp threshold. Note: To further improve the data and better reflect the real hodler behaviour, Bitcoin supply held on exchanges is excluded from the analysis.Long-Term Holder Supply As of writing, the current LTH supply is 12.3M BTC — that is around two thirds (66%) of the circulating supply. The amount of BTC held by long-term investors follows a regular pattern over the course of Bitcoin’s history (Figure 3). Specifically, LTH supply tends to decrease during bull markets. This is expected, and a clear indication of profit-taking from long-term holders. At the time of writing, the LTH supply has started to decline — pointing to the early stages of a new bull market. ♦Figure 3 — Long-Term Holder (LTH) Bitcoin supply. (Live chart)Looking at the monthly change of the LTH supply (Figure 4, Long-Term Holder Net Position Change) shows how the LTH supply increases and decreases at different times in the BTC market cycle. In particular, the chart clearly visualizes changes in on-chain behaviour of long-term investors, and paints a clear picture of accumulation periods during bear markets and decreasing positions in bull markets. The absolute LTH supply numbers in Figure 3 above include not only hodled coins, but also coins that have been lost. LTH Net Position Change on the other hand eliminates the contribution from lost coins, as it depicts relative numbers by computing the 30 day changes in LTH supply. Currently, we are seeing a downward spike, pointing to the fact that BTC from hodlers started to move on-chain, as a reaction to the recent price appreciation. Note that this has been commonly observed in previous cycles as well, and indicates that we are potentially at the early stages of a bull run. ♦Figure 4 — Long-Term Holder (LTH) Net Position Change. (Live chart)Short-Term Holder (STH) SupplyThe amount of Bitcoin supply held by short-term traders increases as BTC’s price appreciates — a clear indication of older bitcoin stashes being reactivated in bull markets for trading. Over the course of the past month the amount of STH supply has increased by more than 500,000 BTC and sits currently at around 3.7 million BTC — 20% of the circulating supply. (Note that bitcoins sitting on exchanges are treated separately and not included in this number.) ♦Figure 5 — Short-Term Holder (STH) Bitcoin supply. (Live chart)Long-Term and Short-Term Holder Supply in Profit/LossBy not only looking at the average purchasing date for each entity, but also at their averaged purchasing price, we can determine whether the current LTH and STH supply is in a state of profit or loss. Currently, 12 million BTC of the LTH supply (~97%) and 3.5 million of the STH supply (~97%) are in a state of profit. ♦Figure 6 — The total amount of BTC in profit held by long-term and short-term investors.Looking at the Relative LTH/STH Supply in Profit/Loss (Figure 7) shows, as expected, that during bull markets, as prices reach for new all-time highs, most LTH supply is in profit. ♦Figure 7 — The relative supply held by Long-Term Holders (LTH) and Short-Term Holders (STH) in profit or loss. (Live chart)In contrast, a considerable amount of LTH supply is at a loss in a bear market and decreases as a new bull cycle arrives. There are different ways how LTH supply at loss can build up: On the one hand, in cases of sudden price drops such as “Black Thursday” in March 2020, LTH supply that was previously in profit can enter the loss zone. On the other hand, new investors from the STH domain can cross over and become long-term holders. The latter case is well visible in the latest “valley of loss” ( Figure 8), starting in mid 2018: It implies that a lot of BTC were purchased by investors which entered the space in late 2017 around the peak of the bull run. Unfortunately, the subsequent bear cycle caused them to enter the LTH zone “at loss” and not “in profit”. However, by now almost all of the long-term investors’ supply is back in a state of profit, including that of the 2017 investors. We believe this results in a generally positive sentiment across BTC holders and points to a favorable outlook. ♦Figure 8 — Long-Term Holder (LTH) supply in profit/loss. The “Valleys of Loss” periodically occur when LTH supply moves into a state of loss as Bitcoin enters a bear market. (Live chart)Comparison to Previous MetricsTo evaluate the present approach, we can compare our new data with previous metrics, such as Hodled or Lost Coins and Hodler Net Position Change. (These metrics were created by Adamant Capital — for a detailed description, see their blog post here). We observe a very good agreement of the general trend as well as in the ups and downs of the respective metrics. However, there is one qualitative difference when looking at the position change data: In the traditional Hodler Net Position Change metric, the positive values (in contrast to the negative ones) tend to be capped (see the comparison in Figure 9). In contrast, with our new approach, the metric is unbounded in both directions - providing a much clearer signal. ♦Figure 9 — Comparison between “Hodler Net Position Change” (black line) and the new “Long-Term Holder (LTH) Net Position Change” (red/green). While the former has capped positive values due to its derivation from Bitcoin’s “Liveliness” metric, and thus provides a skewed view, our new approach is more balanced giving a clearer picture of the BTC position change of long-term investors. (Live chart)The capped values in the Hodler Net Position Change metrics can be understood in the following way: It is based on the Liveliness metric, which due to the cumulative sums in its definition can exhibit sudden increases, but a decrease in value can only occur slowly, over much longer time periods. Since Hodler Net Position Change is based on the negative Liveliness, the argument reverses and positive changes become visible only after longer time scales. Consequently, it's impossible for the monthly differences to skyrocket and big changes in the hodler behavior might become apparent only after a certain amount of time - in contrast to our new proposed metric based on the LTH supply. SummaryWe introduced a new methodology to differentiate Bitcoin supply that is held by long-term investors and short-term traders. The separation of these market participants on a network level is crucial in order to gain a deeper understanding of investor behaviour during different periods of the BTC market cycle. The supply distribution among investor groups can serve as a proxy to investor sentiment and sheds light on the primary usage of Bitcoin (e.g. store of value). With this work we introduced a new set of on-chain metrics that quantify the supply held by these two investor types, and their current trends strongly support the narrative of an onset of a bull market. All metrics introduced here are available live in Glassnode Studio:
The present work was done in collaboration with Swissblock Technologies. A big, big thank you goes to my great colleague Kilian for the amount of effort put in this work. ♦
Disclaimer: This report does not provide any investment advice. All data is provided for information purposes only. No investment decision shall be based on the information provided here and you are solely responsible for your own investment decisions. Originally published at insights.glassnode.com on November 17, 2020. ♦Quantifying Short-Term and Long-Term Holder Bitcoin Supply was originally published in Glassnode on Medium, where people are continuing the conversation by highlighting and responding to this story. |
|