Lightning: March 24, 2019 Snippets
As always, thanks for reading. Want Snippets delivered to your inbox, a whole day earlier? Subscribe here.
This week’s theme: what is the Lightning Torch? For that matter, what is the Lightning Network, what is its relationship to Bitcoin, how does it work, and why do we need it?
Those of you on Twitter may have noticed something interesting over the past several weeks: something called the “Lightning Torch” that’s getting passed around the world. People like Jack Dorsey and Reid Hoffman have each taken their turn with the torch, and its passage through regions like Iran and Venezuela prompted a good deal of celebration and hope among the community. What is it, and why is it a big deal?
Over the next couple weeks in Snippets, we’re going to talk about the Lightning Network: the first time a second layer on top of Bitcoin has started to gain some real traction. If you only read the headlines around the crypto world, all you’ll see is bad news: crashing prices, levered crypto companies falling apart, scams getting revealed, and the general fallout of the post-2017 hangover that’s now reached its second year. But the real story has actually been full of exciting and hopeful news. Products are being built that make real technical progress, and will make a big difference for real people; especially in places like Venezuela where Bitcoin has actually been put to its first real-world use case test. Lightning is one of them. So we’re going to learn about it.
Before we begin, if you’re not familiar with the basic technical mechanics of how Bitcoin works, have no fear. I wrote something for you!
(This is something I’d been looking for for a long time, and finally just decided to write myself: an introductory, but technically accurate introduction that doesn’t focus much the WHYs of Bitcoin, but instead goes step by step through the HOW in a way that’s accessible to anyone. Please forward along to anyone you know who’s curious and would like to learn.)
If you are familiar with the basic technical mechanics of how Bitcoin works, then you’ll have a general appreciation for how the Bitcoin protocol and network is very good at creating scarcity and maintaining overall network integrity. But it’s pretty impractical for everyday transactions, especially during busy periods. The problem has to do with the way transactions on the Bitcoin network are published, validated and “entombed” in the blockchain: by miners who are continually racing to complete proof-of-work problems in order to add blocks and make past transactions out of reach for potential tampering. (If you didn’t understand that sentence, go click the link above!)
The critical parameter here that’s become a problem is something called the Block Size: miners can only process blocks that contain a certain critical number of transactions. Any overflow transactions past that limit will have to wait until there’s room in a future block. Since security on the Bitcoin network depends on your ability to wait until several blocks have gone by (so that your transaction is safely buried in the past), then you may be forced to wait for an annoyingly long time for your transactions to get confirmed. If you’re doing a large money transfer, or buying something big like a car, then this is probably an annoyance you can tolerate. But for everyday transactions, it won’t fly. You could increase the size of each block that gets processed, which is tempting but dangerous: it makes running a full Bitcoin node much harder. Fewer people will have the technical resources to do so, and Bitcoin will become more centralized. (By the way, this is what’s happened to Ethereum. The total state of the Ethereum blockchain has become so immensely inflated and unwieldy that almost no one can act as a genuine full node. Let’s hope they figure it out!)
The basic idea of Lightning has been talked about for several years: maybe not everything needs to be settled on the main bitcoin network. Suppose you and I have a regular lunch date, where one day I buy lunch and another day you buy lunch, and we want to settle with each other using Bitcoin. Over time, it’ll just be a bunch of transactions going back and forth between the two of us. Is it really necessary for us to settle this on the main Bitcoin network every time? Why can’t we just open a “channel” between the two of us, where we just have a balance that we continually update every time it needs to be updated? From time to time, we’ll settle up our debts (however they end up) and post a final “summary transaction” to the main Bitcoin network that clears the final balance of what we owe each other.
There’s nothing stopping two people who know and trust each other from doing this today. You can do it in a shared Google Doc if you want! The basic principle of the Lightning Network isn’t actually all that different. Lightning is a network of user-established payment channels that sits on top of the Bitcoin network (or other cryptocurrencies like Litecoin) and uses cryptography to ensure good behaviour. Formally opening a Lightning “channel” between two people requires either or both of the participants to commit a certain amount of Bitcoin to serve as liquidity in the channel; this is called the channel’s “capacity”. You can commit as little or as much as you want; a channel where both users have committed 1 BTC will have a greater bandwidth than a channel where both users have committed .1 BTC. There’s no obligation for both users to commit the same amount; it could be all on one side or all on the other, or mixed. An uneven balance may restrict the direction in which you’re able to process transactions; a balance that’s accumulated all on one side of a channel can now only send BTC in the other direction: it’ll have a capacity in one direction of 1 BTC and a capacity in the other direction of 0. So long as the balance due on either side never exceeds the capacity of the channel, then you can transact back and forth as many times as you want, for essentially zero cost. (It’ll cost you a trivial amount of computing power and network bandwidth, but these costs are so minuscule they can be safely ignored.)
One big difference between using Bitcoin versus using the Lightning network has to do with what it means to be a “node” in the network. On the full Bitcoin network, transaction processing and integrity depends on decentralized computers running nodes that sync data across the entire P2P network; you don’t need to run a full node if you just want to have a Bitcoin wallet and be able to transact with your coins. In contrast, on the Lightning network everyone is a node: they’re the node of a two-person network. The nice thing about two-person networks is that they’re pretty easy to maintain! We can just keep a balance between the two of us that gets instantly updated back and forth any time we want to make a transaction. There’s no consensus to establish; no mining; no proof of work that’s necessary. (Of course, this couldn’t work if the Bitcoin network wasn’t there, underneath, doing those things in order to get the Bitcoins to exist and to hold their scarcity and price in the first place.)
The biggest challenge for the Lightning Network is that running a node isn’t easy. It’s a lot more complex than simply holding a Bitcoin wallet. Can we really expect that ordinary users will be able to run one, or that someone will be able to create a nice, friendly abstraction of a Lightning Node that won’t break all the time when faced with real-world edge cases? By the end of our discussion in a few weeks, we’ll be able to see how the Lightning Torch is more than just a fun exercise; it’s actually been an interesting way of stress-testing the realities of running a node in the real world.
Now what if I want to transact with someone new using the Lightning network? Establishing a payment channel with every single person you’d like to transact with isn’t practical. But if you have a friend in common who runs a lightning node, you can transact through them, if they’re kindly willing to “forward along” your balance. (Or, perhaps, if you’re willing to give them a small transaction fee for their trouble.) As more people join the Lightning network and we begin to create a genuine mesh network of connectivity, transacting between any two parties on earth becomes a routing exercise of finding the best path between these two points, optimizing for bandwidth, shortest connection, and lowest transaction fees. We’ll talk about this multi-transaction routing more in a future issue, because at scale it becomes a phenomenally interesting computer science problem.
What about security, though? There’s one potential problem with this setup, which has to do with people acting fraudulently when they close their channel and post the balance to the main blockchain. What’s to stop someone from posting a prior balance (which has since been eclipsed) but that benefits them advantageously? There needs to be a system whereby we can collectively keep watch to make sure this doesn’t happen. They’re called Watchtowers, and they’re a very interesting new development in crypto network security; we’ll talk about what they are and how they function next week.
In this week’s highlighted reading list, this short but sobering piece from Cory Doctorow cuts right to the heart of one of the biggest moral dilemmas of capitalism: the necessarily relationship between ownership and erasure. Doctorow starts off by taking us back to the 17th century, when John Locke published his famous Two Treatises of Government where he proposed a resolution to an apparent conflict: between individual property rights on the one hand (which he supported) and the Christian principle that God created everything in the world, for the bounty of everybody. How can we reconcile these two things? Can a Christian ever own property without being heretical in their belief?
The result was something called the Labor Theory of Property: private property as the result of “upgrading” something naturally existing with your own labor and ingenuity, into some “more valuable” form of property that could be claimed as yours. So the idea was that an acre of wilderness belonged to nobody; but if you cleared that land with your own labor and turned it into a working farm, then you could own that. Seems reasonable; it’s analogous to starting a business today where you transform a bunch of unorganized starting materials and people and, though your own effort, transform them into an organization that produces goods and services, has value, and belongs to you as your reward. No problems there.
The problem is: well, what about everything that came before? People lived in that wilderness, after all. The dark side of Locke’s Labor Theory of Property is that it explicitly casts what came before “the labor”, whatever it might be, as valueless: Terra Nullius; unimproved earth. As you can imagine, this set a pretext for some of the darkest chapters of human history: invasions, genocides, and environmental pillages in the name of “improvement” of the Terra Nullius. It set a psychological precedent that the more monumental the “improvement”, the more valueless the Terra Nullius. Fast forward to today’s tech companies that are Disrupting industry after industry, or even more benign examples that Doctorow sites like the Chicago Poke franchiser who tried to trademark the phrase “Aloha Poke” and forbid anyone in Hawaii from using it: having trademarked the phrase, he clearly “Did the improvement” on the word Aloha, according property law; therefore, the thousand year history of the word Aloha must, logically speaking, be valueless. Right? Let this piece sit for a while; it’ll make you uncomfortable.
People say that nothing is a surprise in today’s weird news environment, but this was a genuine stunner: Beto O’Rourke was a member of Cult of the Dead Cow? Anyway, congratulations to Beto for winning back the Silicon Valley Elders vote, I guess.
Some opinion writers who live in big cities have Opinions about Rural America:
Twitter isn’t just for tweets, it’s also for learning:
What’s Old is New in energy:
Other reading from around the Internet:
And finally, one of the greatest and most beloved athletes of our time finally retires:
In this week’s news and notes from the Social Capital family, we’re going to check in on the most secretive (for a good reason!) company in the family: Cryptomove.
Every time we get to talk about Cryptomove in Snippets, I feel like I’m sharing some sort of deep and special recipe about Secret Management. Their moving target defence approach to secret management and enterprise security is straight out of advanced warfare tactics: always keep the crown jewels in motion, in millions of different pieces, in order to keep them safe. What does Secrets Management look like for modern enterprise businesses? All kinds of things: managing containers, cloud infrastructure, API keys, file protection, edge devices, secure storage, and far more. Late last year, Cryptomove made a big product launch for key security called Tholos: a key vault and secrets management platform that uses Cryptomove’s moving target defence technology to protect cloud and container secrets.
Cryptomove launched Tholos at AWS re:Invent a few months ago, where CryptoMove was featured as one of the most important new startups now working in partnership with AWS. Since then, Tholos’s beta rollout has quickly expanded to hundreds of enterprise companies, in areas including media, finance, health care, insurance, and other industries. One of the fun things about these kinds of Beta rollouts, especially for services that are so new and different like Cryptomove, is that you get to see what kind of unexpected use cases are getting surfaced by engineers in wild who are trying to solve their own problems. And that’s exactly what has happened here: developers, DevOps and security engineers of all kinds at these companies are using Cryptomove in all kinds of unanticipated and useful ways, which in turn is greatly helpful for Cryptomove as they continue to make the product better, easier and more secure. It isn’t just companies, either: CryptoMove has partnered with many different governmental organizations who have some very intense Secret Management needs, where they have an absolutely rigid requirement to work only with the best.
You can learn more by going straight to the source: Cryptomove CEO Mike Burshteyn as a fantastic webinar series on security you should check out, starting with this one on API key management that’s a great watch for anyone interested in modern enterprise security:
Finally, we’re very excited to share that Michael Roytman has joined Cryptomove’s board as Social Capital’s newest Board Partner. Michael is an extremely accomplished and knowledgable security expert, and currently serves as Chief Data Scientist at Kenna Security. His work focuses on cybersecurity data science and Bayesian algorithms, and he serves on the board of the Society of Information Risk Analysts. He is also a technical advisor in the humanitarian space, having worked with Doctors Without Borders, The World Health Organization, and the UN. If you’re ever in Chicago, you can check out Michael’s homegrown coffee roasting operation, Sputnik Coffee.
Have a great week,
Alex & the team from Social Capital