Steve Lee joins me in the first official Square Crypto podcast appearance! We talk about how he got into Bitcoin, and Square Crypto’s focus on supporting Bitcoin and Lightning open source development. We talk about: 

  • The Square Crypto team and their focus
  • Lightning Development Kit
  • BTCPayServer
  • Zman
  • Supporting bitcoin development
  • UI and UX issues with bitcoin today


Sponsor links:

Stephan Livera links:

Podcast transcript:

Stephan Livera: Steve, welcome to the show.

Steve Lee: Thank you so much for having me.

Stephan Livera: Steve, We’ve been trying to make this happen for a while. But I’ve been very excited about what’s happening with Square Crypto, and actually I was following some of your work before you actually got involved with Square Crypto as well. So I know you were kind of like a product manager for Bitcoin. Let’s start with what you were doing before all this Bitcoin stuff.

Steve Lee: Sure. I’ll give a little bit of background on myself. I grew up in a small town in Iowa, so I’ve been in the Midwest in the United States. And as a kid I programmed Apple computers and Commodore computers. Eventually went to undergrad and studied Computer Science and Computer Engineering. And then throughout my 20s I worked for a company that was working on Java.

Steve Lee: It was writing the Java language that introduced by Sun Micro-systems and I built a realtime Java virtual machine for embedded systems. I eventually made my way up to the Bay Area in San Francisco and got my MBA at UC Berkeley. And then spent almost a decade at Google. And at Google I was a product manager, so I didn’t do coding there.

Steve Lee: And I think the most relevant lesson I learned at Google that applies to Bitcoin is decentralized leadership. As a PM at Google you work with many, many engineers all over the world. You work with people in a variety of different functions, including legal and marketing and business, and you’re not their manager or their boss, so you don’t…

Steve Lee: You’re not in a position of authority, but you are responsible for moving the ball forward and making progress and getting everyone on the same page. And I’ll speak a little bit more to that as part of my Bitcoin journey, and how I think you can apply that to Bitcoin. Yeah. So as far as my Bitcoin journey… I read the white paper in 2013 during that hype cycle, that’s when I was first introduced to it.

Steve Lee: But I was gainfully employed and focused on Google and other things in life at that point. So it wasn’t until three years ago right at the beginning of 2017, actually before the market really took off and got crazy, I stumbled upon Ethereum and I actually got really excited about the Ethereum messaging at the time. And I had no job, so I had all the time in the world to study this stuff.

Steve Lee: So I spent the next several months really diving into cryptocurrency and blockchain and everything. And by June of 2017, I’d really come full circle back to Bitcoin and gained a much greater appreciation for what Bitcoin is, what it can become, the culture of Bitcoin, and it’s like many people studied the history of money, and even though I have an MBA, I didn’t know anything about Austrian economics, or many of the things I’ve learned since learning more about Bitcoin.

Steve Lee: So by the end of 2017, I decided I don’t want to just sit on my couch and learn about Bitcoin, I’d like to actually contribute to Bitcoin. So while I could code for Bitcoin, I don’t think I would really move the needle much. Where I saw an opportunity is to contribute to open source in non-coding ways, and I’m calling it a Bitcoin PM. And by that I don’t mean defining a product roadmap for Bitcoin.

Steve Lee: I mean more of a more decentralized leadership, like connecting the right people and coordinating folks on various focus areas. And so I thought the… I didn’t work for an organization, or… So I figured that the best way to get involved is to start meeting people and find ways I could contribute. And I found the Bitcoin community incredibly welcoming and inviting and helpful.

Steve Lee: John Newbery from Chaincode Labs is one of the first people I met, and he told me about he was going to create this thing called Bitcoin Optech, that’s about two years ago and it sounded like exactly the kind of thing that I’d want to help and contribute on. So from the beginning, I helped John and I just sought ways I could help. So business development was an area that was needed initially with Optech, because we needed to reach out to companies to become members and get engaged.

Steve Lee: So I put on my BD hat and reached out to dozens of different companies in this space. I also immersed myself in the Bitcoin Core project, and I’ve tried to do a number of things. Fast forward to a year ago I was chatting with the folks at Chaincode and I had an interest in creating something similar to Chaincode, but independent from Chaincode. And I was in the middle of pitching this to different funders.

Steve Lee: I was calling it Bitcoin Works. And then in March of last year, Jack Dorsey tweeted out about Square Crypto, and his description in the tweets mirrored what I was imagining of Bitcoin Works in an uncanny fashion. It was very similar with a design focus, and PM, and developers. So then I wound up chatting with Square and started this past summer.

Stephan Livera: Right. And I think many people who are not as into the open source ethos, they might think, “Well, hang on, Square is like funding a competitor kind of thing.” Or, “Square is like kind of funding this sort of open source that’s not necessarily like directly monetizeable.” Can you elaborate a little bit on what’s the thinking behind that and obviously we’re supportive of that, but what’s some of the thinking around that?

Steve Lee: Yeah, I think Square’s view is that they’re taking a long term view to cryptocurrency and are really believers in Bitcoin long term. So I really like… And one thing that drew me to joining Square is that just the attitude and approach of being very hands off. So Square’s commercial interests in Square corporate has no role in terms of setting the priorities of Square Crypto.

Steve Lee: Jack has said that really our boss is the Bitcoin community. So you’re my boss Stephan. We very much want to do what is right for open source Bitcoin in the Bitcoin community. And I think the strategy for Square is that if Bitcoin can become a widely used global currency, lots of business opportunities arise.

Steve Lee: And by being early and learning about Bitcoin, years before that might occur, Square will be well positioned as an organization to capitalize. And fortunately Jack understands that the best way to approach Bitcoin is through open source.

Stephan Livera: Excellent. And one thing that really sticks out to me from what you were just saying there is this concept from Terence Kealey, the Economic Laws of Scientific Research, And one point that he’s making in that book is like this idea that by contributing into this commons, you actually have more skilled engineers and people who know the space well, and that you need to stay current with it.

Stephan Livera: And I think this kind of mirrors that kind of thought of, well you’ve got people who are really at the coalface and they’re building some of this new stuff and they’re going to be the most familiar with it and they’re going to be so far ahead of the game in terms of other companies and other people just, because you’re the ones actually building it.

Stephan Livera: So let’s talk a little bit about the team at Square Crypto. What’s it made up of? It’s mostly developers, and I understand there was also like a focus on user experience as well.

Steve Lee: That’s right. Our expectation for the scope of our contribution will be we have four full time developers that we’ve already hired and they’re going to focus on a specific project that we’re going to talk more about later. And we’re still looking for a designer to join, but definitely we see an opportunity to move the needle on Bitcoin design.

Steve Lee: Myself, I’ll continue to contribute in a PM way for Bitcoin. And we also have development grants for not only development, but also design and PM. And I think we’ll speak a little bit more to that in detail. And I’d also like to say that our scope is really focused on Non custodial usage of Bitcoin as well.

Steve Lee: And the reason why we just feel it’s super important for the long term success of Bitcoin that users control their private keys, or at least have a credible opportunity to, and we feel like it’s an under invested area, and if the user experience gap widens too much between custodial and Non custodial users of Bitcoin, then even if Bitcoin becomes wildly successful and popular with users, if the vast majority of users are custodial, that’s kind of an unhealthy state for Bitcoin to be in.

Stephan Livera: Right. Yeah, I’m absolutely on the same page with you there. I’m always about encouraging self custody. One question I’ve seen from the online and stuff, people have said, “Oh, why is it Square Crypto and not Square Bitcoin?”

Steve Lee: Right. I mean, I asked the same question as well when I was interviewing, but I mean, first of all to say we’re all in on Bitcoin. We feel it by far in a way gives the best chance of creating a new type of money for the world. One that has a limited supply, it’s some money without masters, and is open to anyone and we just think that Bitcoin is the right project to bet on.

Steve Lee: So why does it need Square Crypto though and not Square Bitcoin? First of all, there’s enough, plenty of work for us to do just focusing on Bitcoin, but that said, we didn’t want the organization’s name to box us in, or limit us from at least monitoring emerging technologies that may compliment Bitcoin and help fulfill that mission.

Steve Lee: But all of our actions point towards a Bitcoin focus. Everyone that’s been hired focuses on Bitcoin. The project we just announced is focused on Bitcoin, and all of our grants are focused on Bitcoin as well.

Stephan Livera: Awesome. So let’s talk a little bit then about your team. Like the direct team of developers working with Square Crypto. So I mean, you’ve got Matt Corallo who’s very highly respected, very well known. Can you tell us a little bit about what some of their main skill sets, or areas are that they’re working in from a Bitcoin and potentially lightning point of view?

Steve Lee: Yeah, I’m thrilled with our team. I think we have a fantastic team. First of all, they’re just really wonderful people to work with. And yeah, let’s start off with Matt. I mean, probably most of your listeners are familiar with Matt Corallo. He’s has a long history of contributions for Bitcoin, and he’s a presence in the space and he’s just… He’s a great anchor for our team.

Steve Lee: We set out to find someone who’d be a good anchor that has the credibility and history, because we also wanted to hire people into the team who are not currently open source Bitcoin contributors, because we learned to grow the talent base of open source Bitcoin developers. So Matt provides us the anchor.

Steve Lee: Val is on our team as well. She’s super strong programmer and brings a lot of technical knowledge of Lightning to the team, and a desire to work on protocol development as well. Arik is on the team too. He has experience building Crypto wallets both at BitGo. He’s at BitGo for three years. And he spent a year at Facebook Libra working on Crypto wallets too, but rest assured Arik is a Bitcoin at heart.

Steve Lee: And he really has a strong vision based on that Wallet experience on how the LDK should be designed, and be best built out for Wallet developers. Jeff is on our team. He came from Google. He’s the most experienced developer on our team over 10 years experience at Google. And he just… He brings a level of professionalism and just a really wonderful attitude to things that maybe not all developers think are sexy, but like testing and development tools and process.

Steve Lee: And he’s already making strides at building relationships with Bitcoin Core developer, so I think he’s going to add a lot of value, not only to the LDK, but Bitcoin Core as well. So I should say that those four developers and myself will focus on the LDK. We wanted to pick one, a single project to focus on. But each individual has freedom to work on independent projects as well.

Steve Lee: So Jeff’s already expressed the desire to contribute to Core, and he’s already been contributing to Core so that I anticipate he’ll continue to do that. And, Matt’s done recent work on stratum V2 for mining and some alternative networks work and he’s always coming up with something new to work on, and for myself I’ll continue to contribute to Bitcoin Optech.

Stephan Livera: Oh, okay. Yeah. So you actually still doing Optech stuff as well?

Steve Lee: Actually, interestingly, during my interview process with Square, each person that interviewed me explicitly called out saying that they wanted me to continue that work. So it’s just been really great support from Square embracing, giving us freedom, and allowing us to help out where we think is needed in the community.

Stephan Livera: Right. And I think it’s a… That brings that question of, where do you put your focus? Right? And potentially it can be a little bit like if you’re trying to get a certain task done, then it might feel a bit like you’re herding cats, because everyone’s off doing their own thing. But then at the same time you might have a certain focus that you want people to come towards. And then how do you pick that focus as well?

Steve Lee: Yeah. The start it wasn’t clear should we pick a single project, or work on all kinds of projects? The way Chaincode organizes themselves is each developer is very independent, and they can choose what they want to work on. And they’re obviously a proven model. I mean, Chaincode has been a great contributor to Bitcoin.

Steve Lee: But we thought there’s a good opportunity to gain some of the benefits of a focused team and we’re collaborating on a single project, yet still an open source focus. So we decided to pick one project our criteria for that project, first will the project have an outside impact on Bitcoin, and in particularly Non custodial Bitcoin?

Steve Lee: Second criteria, is the project meeting and underfunded need of the ecosystem that doesn’t have a clear business model? And then the third criteria, can this become a self-sustaining opensource project that will attract developers worldwide? So with those criteria, we evaluated lots of different projects. We looked at some privacy projects including CoinJoin techniques like Snicker and we definitely felt like doing a development kit probably would be where we’d focus.

Steve Lee: We looked at a variety of different approaches to developer kits, but we finally landed on the LDK, the Lightning Development Kit. And we feel like since we’re not a business, we’re not trying to generate revenue or have customers. So we don’t really want to build an end user product or application, and we feel like a lot of way bigger impact with our small team by building a dev kit that can be used by hundreds of different application of Wallet developers.

Steve Lee: We feel like focusing on Lightning Network allows us to have broad impact across Non custodial usage and user experience scaling, privacy, security, all these pillars that need a Bitcoin, that each needs significant improvement, if Bitcoin is going to be realized as a widely used currency.

Stephan Livera: So would you mind just outlining for the listeners who maybe they’re not software developers as into the IT aspects of it. What is a Development Kit?

Steve Lee: Ah, yeah. So, imagine the iPhone you use or your Android phone use lots of different apps on that phone, and those apps when they’re developed, they use functionality that Apple or Google provides in the underlying operating system to be able to draw on the screen and accept input and et cetera.

Steve Lee: And so I mean that’s what a Development Kit is. The Lightning Development Kit is intended to be an implementation of the Lightning protocol for existing Bitcoin wallets, future Bitcoin wallets and other applications that might want to enable a Lightning payment, sending and receiving Bitcoin using the Lightning network.

Stephan Livera: Okay. I got you. And so probably most of the listeners are familiar with this idea that there are probably three main implementations of Lightning today. So there’s there’s LND by Lightning Labs. There’s c-Lightning and the Blockstream guys, and then there’s the ACINQ version, and then there’s also Electrum who are doing a version, I think Nayuta have one.

Stephan Livera: Would the LDK… As I understand it’s sort of built mainly off Rust-Lightning. So can you tell us a little bit about that and how that fits in with some of these other visions of Lightning Network, if you will, or implementations of Lightning network more accurately?

Steve Lee: Yeah, certainly. Because again, just to reiterate, we’re not a business so we’re not looking to compete with anything. We wanted to find gaps in the ecosystem where we could uniquely contribute. And we spent more… I mean you mentioned at the beginning of the show you’ve been trying to get me on for a while.

Steve Lee: One reason it took so long is we did spend two to three months going out, speaking with several dozen Wallet developers, just listening to them and understanding their needs, and the common theme we were hearing is a desire from wallets that don’t yet have Lightning and desire to add Lightning. And even from Lightning wallets. Just the need to be able to customize and the needed flexibility in Lightning.

Steve Lee: So that’s the focus with LDK. And we chose Rust-Lightning and Rust very specifically for a number of different reasons. Let me start with Rust the language. So it’s one of the safest languages to build something as important as Lightning. It’s also the Wallet ecosystem. Different developers use lots of different languages, be it from React Native, to Swift, to Java, to Python. Many, many different languages are used.

Steve Lee: So if you’re going to build a library that you hope is used by as many wallets as possible, you need to make it super easy for those developers to integrate that library into their application, because they might not be set up to use the language you chose or that environment.

Steve Lee: Rust is a good choice, because it doesn’t have a garbage collector and it doesn’t have a lot of run time overhead that other languages have. So that makes it easier to integrate, in technical terms link Rust library with an existing application. It also… Let me pivot a little bit into the Rust-Lightning project, which has existed for over a year and a half.

Steve Lee: It turns out Matt Corallo started this project. So he just started it on his own. It’s sort of from the community for the community. There was no business behind it, or anything like that. And he’s been working on it for a year and a half. In part of this time, other developers like Antoine Riard contribute to it as well. It’s architected differently. It was made to be customized.

Steve Lee: So Matt’s idea with it was existing Bitcoin wallets, they want to be able to integrate Lightning without requiring their users to create another Wallet. They want to reuse their existing key store and Wallet. And so Rust-Lightning is architected in a way that allows that type of flexibility.

Stephan Livera: Right. And so if a developer wants to use the LDK, will they need to be a Rust expert, or is it more like it’s been built in Rust, but then that developer doesn’t actually have to be a Rust expert to use it?

Steve Lee: Yeah, the expectation is we want anyone using the LDK to not have to code in Rust, or build, or need to modify Rust-Lightning or LDK at all. And we think we can achieve that because of the architecture of Rust-Lightning being one that allows a developer to plug in their own… For example, their own way to store private keys. They can plug in their own networking stack. They can plug in their own data store for backups for Lightning.

Steve Lee: All of these different pieces of Lightning are pluggable on the LDK. And because of that, we don’t anticipate the developers will need to know Rust, or learn Rust, which is important because that’s another thing we heard from all the developers is that they have their favorite language and their own knowledge base and they don’t want to have to learn another language.

Steve Lee: One more thing, a technical thing, I’d like to point out about the Rust-Lightning design is that it doesn’t run in its own process. It doesn’t start any threads. It doesn’t make any system calls like IO, and that makes it much easier to integrate into two different environments, like on iOS and potentially HSMs and secure elements, and other unique configurations that have a variety of different use cases. Maybe, maybe even like in a web browser, which has certain restrictions on TCP/IP networking connections.

Stephan Livera: Okay. And so then the hope then is that, well developers out there who already have an existing Bitcoin Wallet can use the LDK to now include Lightning into that Wallet in a way that’s a little bit easier and requires less work from them. Will that be… I guess, so some wallets are already like Lightning native, right?

Stephan Livera: They’re just only Lightning. So things like a Breez Wallet for example, or Phoenix is only Lightning. And then you’ve got others like for example, Electrum who are like an institution in this space, and they’re building their own version of Lightning.

Stephan Livera: How are you thinking about that? Is it mostly just around finding, or creating a product more or a toolkit for Bitcoin wallets to integrate Lightning? Do you have any examples in mind?

Steve Lee: Yeah. A primary use case is, imagine you’re an existing Bitcoin Wallet that is interested in integrating Lightning. You already have your users storing their private keys with a certain design, and it would be suboptimal to make your customers create a separate Wallet and create a separate master private key just to have a Lightning Wallet and fund those Lightning channels.

Steve Lee: So what you really want is to be able to reuse the same Wallet, so the user just has a single Wallet and a single private key that they need to store. So the way Rust-Lightning’s been designed is that it can accommodate that, because the existing Bitcoin Wallet can plug in at the existing key store, and yet still leverage the lightning and limitation in Rust-Lightning.

Steve Lee: So you mentioned Electrum. I actually think Electrum is a great example of something that could have benefited from LDK. Of course, the timing didn’t work out, because Rust-Lightning didn’t exist, or was very immature at the time that Electrum decided to build their own implementation. But the hope would be…

Steve Lee: I think a bad state for the industry would be if there are dozens of different wallets, and hundreds of different applications and each one has to build out their own Lightning implementation. That’s not a good state to be in. So, the future Electrum Wallet examples would be where the LDK could help out a Wallet like that. And just another example use case is if the user wants to access their Wallet across multiple devices.

Steve Lee: And for anyone that’s used the Green Wallet from Blockstream might be familiar with their design in which, they have an Android app an iPhone app as well as desktop, and you can access your Green Wallet from any of those devices. And it’s the same Wallet.

Steve Lee: And they achieve that because your private key is encrypted and stored in the cloud, and with the LDK, it can enable those types of configurations where your keys, and your Lightning state backup could be stored in a single computer, lots of different configurations, but it should support multiple devices and multiple applications all accessing that same Wallet.

Stephan Livera: Also, I noticed that there are some wallets that already packaging say LND. So examples would be Breez or Zap. And so would this LDK just be like another option of how they could package in Lightning?

Steve Lee: That’s right. So that would be… It’d be another option for them to use. I think in speaking with a lot of Wallet developers they’ve had to do quite a bit of customization to get the user experience they’re really looking for. And in certain cases they wind up modifying the code bases of Lightning implementations and having to maintain that fork.

Steve Lee: And so we would hope that in cases where there’s that type of customization that they could use LDK and not have to… Again getting back to do they have to know Rust to modify the code. Hopefully they don’t need to modify that code that they’re able to achieve the customization they desire just using the standard API of the LDK.

Stephan Livera: Got you. Yeah, and I’m just thinking now another example that I know of DropBit, right? So I was fooling around with DropBit and I noticed that when you changed over to lightning you had to have a separate seed as well. So I think that’s sort of coming back to that same point there of it would be nice to have users just use the one seed and it’s just everything there. One other thing I was keen to ask around was, are there… Well, I’m sure there are. What other things other than wallets might benefit from the LDK, like at a more Lapps level, are there benefits there for the developers?

Steve Lee: I mean, I think initially it’ll largely be wallets, but certainly down the road we’re imagining other applications and services using this as well. I mean, depending on how far out you want to talk and how big you want to imagine Bitcoin becoming successful. But you can imagine major internet services wanting to incorporate sending and receiving Bitcoin payments.

Steve Lee: And if they do, in order to scale, they’ll almost certainly be using Lightning and not doing on chain. And so they want to integrate Lightning, and they’ll need to evaluate different ways to achieve that. And if they have a lot of customization they need to do, LDK is something that they should consider. One example might be Bottle Pay started up earlier last year and unfortunately, had to shut down, because it was custodial.

Steve Lee: But it created a nice user experience and I really liked how they’re pushing the envelope there. Maybe a future Bottle Pay like experience can be created that’s Non custodial, that doesn’t get shut down due to regulatory concerns. And maybe the LDK could help an applicant and like that.

Steve Lee: I think it’s to be explored, but we’re not quite certain, but we’re very interested in discussing with application developers what they have in mind and what they’d want out of an LDK. And it’s super early days for what we’re building, and we were very receptive to feedback.

Stephan Livera: Got you. And also in your article talking about LDK, you mentioned allowing wallets to make user experience, security and privacy trade-offs such as external transaction signing and customizing their state backup to a cloud service. Can you elaborate a little bit and potentially on the external transaction on your part?

Steve Lee: Sure. I’ve been chatting with a number of developers who have been experimenting with running Lightning, or part of the Lightning stack in HSM, or hardware security module. And this could be important for a variety of different user cases, but if you… One of the challenges with deploying Lightning is that your keys have to be hot, or in a hot Wallet and it introduces a whole new security risk to securing your funds.

Steve Lee: And this impacts merchants and it impacts exchanges, impacts individual users. So you can imagine if you’re a merchant, or you’re an exchange and you’re supporting Lightning, you want to add a secure of implementation as possible. So one way to make that hot Wallet, a little less hot, maybe call it a warm Wallet, would be to store the private keys in an HSM which allows you to set up policies on how those keys are used.

Steve Lee: And it’s not as strong a security as cold storage, but it’s much, much more secure than if they’re completely available on a regular computer. But to achieve that, there’s quite a bit of a customization that needs to be done with the Lightning implementation and sort of separation of duties.

Steve Lee: One example would be, imagine your E-commerce server, you’d want to separate the keys and the Lightning state management on a separate computer, not on your main E-commerce server. And you might not even want to use a TCP/IP stack for communicating on that separate computer that has the keys.

Steve Lee: You might just want a serial cable, or the most basic communication possible just to reduce the attack surface on that computer. And the way that Rust-Lightning is architected, and what LDK can provide is allowing someone implementing that more secure version to plug in their own way to communicate to the Lightning network, not relying on TCP/IP.

Stephan Livera: Right. And it reminds me of some of these ideas I’ve seen both from the Lightning Labs LND people and also from c-lightning and Blockstream. I’ve seen this idea of external funding. So this idea of you can fund your Lightning Wallet with say, a hardware Wallet and then when you open that channel, the commitment transaction to send it back to your own wallet ideally it could come back to your own hardware wallet.

Stephan Livera: So this is kind of a related idea that you might use an HSM, or some tool to hold the secret, the private key in such a way that it’s at least a little bit more segregated away from the online hot computer that might have malware and so on.

Stephan Livera: And you mentioned there around policies, so I guess the policies could be set up in such a way that you would only route certain payments if you have received your upstream amount first, and little things like that that can somewhat segregate out, or make it a little bit more secure. Would that be a fair way to summarize it?

Steve Lee: Yeah. A couple of developers, /dev/random and [inaudible 00:33:59], they have a document that they’ve written that’s publicly available that has… They have like 20 or so policy examples that could be done. So it really hammers home the point of how much more secure that would be if you did use an HSM. And to your point, Stephan the… Yeah, even at the individual level, if you have a…

Steve Lee: Let’s say you have a Trezor, or Ledger and you have your Bitcoin, maybe you have like $10,000 of value of Bitcoin, you definitely don’t… You wouldn’t want to have all that in a Lightning channel, or exposed in a hot Wallet. But again, the optimal user experience is you don’t want to have to create two different wallets.

Steve Lee: So a couple of different ways to support that, one would be from your hardware Wallet. You could extract a child private key that is used to fund the Lightning channel, and that key could be stored on your laptop, or your phone, or in the cloud, or something like that. What’s nice about that model is you can disconnect your hardware Wallet and put it in a safe or wherever you store it.

Steve Lee: And yet the only funds at risk from wherever you’re storing that extracted key is the amount in that Lightning channel. Say a couple of hundred dollars, or something. The other configuration I think is what? What I was talking about earlier, and I think what you are saying, which is actually running Lightning in the hardware Wallet itself in which no keys would be exported then from the hardware Wallet.

Stephan Livera: Right. And it’s just that question of whether you do that extra transaction to move it into that hardware wallet, or you try to batch, or do it in less transactions I guess. And yeah… Oh, sorry.

Stephan Livera: The other one I was going to ask you about is, I guess even in that scenario you would have to think about, “Okay, hardened derivation or not, because I’m giving out a child private key and I don’t want to risk,” that aspect of it as well.

Steve Lee: I think it would need to be hardened just so you’re not exposing risk to the rest of your Wallet.

Stephan Livera: Yeah. Got you. When we’re talking about Lightning and user experience in general, do you have any other thoughts around other things that can be done to sort of smooth the user experience? Even things like having to, for example, swap in and out of Lightning, like into Bitcoin and vice versa.

Steve Lee: I don’t have any specific insights that go beyond what a lot of others that have been working in Lightning for a long time have to say about that. But I guess just at the user level, the design level, I think it’s clear that long term… The notion of Lightning and Bitcoin need to sort of merge.

Steve Lee: Users shouldn’t have to think about two separate systems. And in fact, I’m working with a friend who’s developing education introductory to Bitcoin, and I was just talking to him today about, at what point in time will Lightning mature enough? Well, the way that we’re introducing Bitcoin to people is not about waiting for block confirmations, but about sending and receiving Bitcoin using Lightning.

Steve Lee: Without even talking about Lightning. We’re just talking about that’s how you use Bitcoin I think. And I don’t know if that’s one year from now, or two, or three, or four, but I think that, that’ll be a pivotal point, which really proves out that, okay Lightning has matured, and it just becomes the dominant form of how people are using Bitcoin.

Stephan Livera: Right. Yeah. And we’re starting to see this now with some wallets like Phoenix, which is just like Lightning only] or Breez. But I think before we get to that point, like you’re saying, we’d have… There’s some other points that have to come first, right? Like invoicing, right?

Stephan Livera: It should need to be one QR code instead of having to manually flip. So for example, with BTCPay Server, currently you have to choose, “Am I going to do a Bitcoin payment, or a lightning payment?” And for someone who’s a bit more of a casual user of Bitcoin, they might not know what you’re talking about there.

Stephan Livera: And you’ve got to like manually do that. But look, let’s talk about BTCPay Server because I’m a huge fan of BTC Pay. I use it myself and Square Crypto a couple months ago made that announcement of supporting the BTCPay Server foundation. Can you tell us a little bit about what went into all of that?

Steve Lee: Yeah, absolutely. I mean, at a high level Square Crypto has a budget to provide grants for projects and individuals that are self motivated and have a clear plan or track record for improving Bitcoin. The first one we gave out was BTCPay Server and it just sort of checked all the boxes that, that project has a phenomenal track record, starting with Nicolas Dorier it’s just amazing what’s been accomplished in a couple of years by him and the rest of the team.

Steve Lee: And the mission of BTCPay Server is just totally aligned with Square Crypto as well. Non custodial usage, it’s a really important part of the ecosystem. As you say, you use it. And one learning to actually make that grant happen… All right, so coming into this, I really felt like the question of how to fund open source development, I just thought it was like, okay, well you need to convince companies to actually create a budget to make it happen and then find people to fund and then that’s it.

Steve Lee: And those first two are already hard enough. Convince a company to create a budget and then find talented people. But a third part that I learned is that just getting the paperwork done can be really challenging particularly if it’s a company and like… Like with Square, it’s a publicly traded American company.

Steve Lee: So just getting the process around legal and compliance and regulatory, et cetera, took a long time. But it was… That’s the kind of lessons that Square wants to learn, and I really am thankful that Square’s willing to put in the effort. We had a lot of people help make that happen.

Stephan Livera: Yeah. There have certainly been… I mean even thinking back to stuff like in late 2018 with the B and so on and as I understand Giacomo and some of the others were like… They were well intentioned about it and I think there were certain legal components to it of like it had to be named a certain way and then that kind of triggered a lot of Bitcoin as of like, “Oh no. Is this another centralization vector?”

Stephan Livera: I think there’s lessons for all of us in terms how we go forward with open source as in making financial or otherwise contributions to open source projects. Are there any learnings there that you could share actually for other listeners who are thinking about if they want to fund a project, how they should think about these things?

Steve Lee: Yeah, a few thoughts. One is it’s my intention as part of Square Crypto to not only like open source code and design, but open source our playbook. So any kind of process, or documents, or legal documents that we create we would like to make those open source and it gets back to the lesson I just learned, which is it’s a lot of overhead for a company to go through all that.

Steve Lee: So I’m sure that’s a barrier to companies funding development. So that’s one thing that I hope to achieve. Two is that I mentioned Bitcoin Works was an organization I was hoping to create. I still think it makes sense for someone to create that. So if anyone wants to create a chain code like, or Square Crypto like organization to contribute to Bitcoin, feel free to reach out to me on Twitter. And I’m happy to share my deck and my… And who I was talking to and help as much as I can.

Steve Lee: Because I think the right way for open source development funding and organization is like a 10 by 10 model. 10 organizations of 10 people that are in each organization is independent. Independent funding, independent leadership as opposed to other projects might have more of a one by 100 model, where it’s just a centralized entity that has a huge budget, and I think that’s like the antithesis of Bitcoin and how it should be done. I think it’s way healthier to have smaller groups that are independent from each other.

Stephan Livera: Got it. Right. And I mean even today there’s… As you mentioned is Chaincode Labs. There’s Blockstream, there is Square Crypto now, there’s mitDCI, there’s a few other kind of individuals.

Steve Lee: Crypto Garage as well and -[crosstalk 00:42:45]

Stephan Livera: Digital Garage. Yup. And some of the… I think even some of the exchanges and some of the miners will fund developers just on a more kind of piece by piece basis. But yeah, as you say, it would be great to get to that point, where we have more of these possible avenues that an open source contributor can have their work funded, and supported.

Stephan Livera: And while we’re speaking of open source contributors, we’ve also got to talk about Zman. So for listeners who are not familiar, Zman is an infamous developer and a contributor on the Lightning Dev mailing lists. So Steve, can you tell us a little bit about that process? Who is… Or what do about Zman, or rather what are all the things you don’t know about Zman. And how did you go about this process of funding Zman?

Steve Lee: Yeah, so ZmnSCPxj his full name. We started communicating with him over a year ago, because he is this prolific contributor on… Especially for anyone following the development email lists. And just sort of a fascinating story. So he had mentioned in one of his emails that he has like a non Bitcoin full time job.

Steve Lee: And I think that everyone was like, “What? How can this guy seemingly produce full time work on Bitcoin, and do it moonlighting.” And then I learned from him that he’s never been paid, or funded for his work on Bitcoin, and it’s just incredible his contributions so far without getting paid. So even before Square Crypto came along, like for this Bitcoin Works I was imagining finding a way to fund Zman to… So that he could focus full time on it.

Steve Lee: And it took a long time, and you can imagine some of the hurdles we had to go through at Square to make it happen. It was really important to me that we preserved being pseudonymous, and working the way he works. So yeah, we’re thrilled to support him. He’s a significant contributor, and now he’s able to focus full time on Bitcoin.

Stephan Livera: That’s fantastic.

Steve Lee: I’m looking forward to even bigger and better things for him. But I mean, for listeners who are not familiar with him, he’s pretty unique in that he really gives thoughtful, detailed analysis of the vast majority of proposals that go to the Lightning Development list, and he comes up with his own innovations.

Steve Lee: And it’s almost a full time job even if you’re technical to just read his writing. So I almost think the problem needed to be solved now is getting other people who have the time to follow along his feedback and ideas.

Stephan Livera: Right. And the thing is you literally don’t know where he is other than a time zone, right?

Steve Lee: He has stated that he’s in, I think it’s UTC+08:00, which I think covers something like a third of the world population or something, so-

Stephan Livera: So it’s good anon set.

Steve Lee: So it’s a large amount of anonymity set for him.

Stephan Livera: That’s awesome. Now let’s talk a little bit more broadly about user interface and user experience, because that is also a focus for Square Crypto. And I know even for you personally, that was a focus even before you got involved with Square Crypto.

Stephan Livera: So from your point of view, where do you see the main hurdles? Is it in a user setting up their wallet, a user protecting their keys? What are some of those common barriers or sticking points that you see?

Steve Lee: Yeah, I mean at a high level I think there’s lots of low hanging fruit with design, and Bitcoin, because if you just look at… Particularly from an open source perspective or ecosystem wide, it’s the contribution for the past 10 years has largely been developers, and there’s been very little professional design.

Steve Lee: The professional design that’s come in through companies, and we see really nice efforts from Coinbase and Square’s CashApp and start ups like Breez and a lot of the other wallets, Green. But I think one big difference is that if you’re working for one company and focused on one product, you’re kind of boxed in.

Steve Lee: And I think there’s an opportunity for a designer. Someone with design skills, if they’re thinking ecosystem wide thinking of Bitcoin as money to be freed from that box and think about design in a very different way. So I think there’s a great opportunity here, like specific things that can be improved.

Steve Lee: I think the copy and vocabulary used in Bitcoin today in general is very technical and Cypherpunk, which personally appeals to me but like is not super approachable to mainstream users. So the challenge there is like how can we create approachable language as a design guideline that doesn’t lose the spirit of Bitcoin. It shouldn’t just be exactly what’s used for banks and existing money, or whatever. So like how do you retain the spirit and the ethos of Bitcoin and more approachable language.

Steve Lee: So I think that’s one area. You mentioned Private Key Management. I personally think private key management is the number one risk to Bitcoin long term. I think if we don’t improve the user experience tremendously, I mentioned earlier, I think the gap… The user experience gap will continue to widen and almost everyone, including merchants will store their Bitcoin with custodians. And I think it’s not a good state to be in if there’s… Because I think there’d be a consolidation of custodians.

Steve Lee: So there’d be like a few custodians globally, each have millions of Bitcoin, and that’s a really, really bad state to be in, especially if the world is actually dependent on Bitcoin as a financial system. So I really, really feel like private key management needs another 10X’ing, or two more 10X’ing in user experience. It’s improved a lot. It’s not like there’s not people working on it.

Steve Lee: Hardware wallets are a huge win. HD wallets have been a huge win. There’s lots of things that are improving. Something that excites me is the category of seedless approaches, so like Casa is going that way. HTC they have their exodus phone, and they have a social key recovery, which I think is kind of an interesting novel approach as well. And I think there’s…

Steve Lee: I’ve spoken with a few developers around ideas using a pre-signed transaction as a recovery mechanism. I think that something like that has potential promise, because you don’t need to guard that nearly as secretly, because that recovery transaction could be set up to send you… Let’s say you’re managing your private keys, you can set up a pre-signed transaction that sends them to a custodian just in case you mess up and lose your private keys.

Stephan Livera: Sort of like Bryan Bishop’s vaulting idea with a safe address kind of thing, and the idea is that if somebody tries to steal, then you broadcast your pre-signed transaction to spend it to a safe place kind of thing.

Steve Lee: Exactly. So I love that thinking in that space as well. So I think there’s… So I’m optimistic that there’s lots of improvements to be had, but I do think it’s the number one risk and definitely needs designer involvement as well to be part of that. And also just to get… I think it’s going to require many, many different recipes to be experimented with, which means many different wallets need to be created.

Steve Lee: And so there’ve been a lot of wallets already created in the Bitcoin space. But what’s kind of surprising to me is even though there’s many dozens, if not up to a hundred wallets that have been created, there’s only a handful that are like what I would call good, and none are fantastic.

Steve Lee: So I think the next five or 10 years, we’re going to see 10 times more wallets created. And this gets back to why I think the LDK can have an outsized impact is it makes it easier for developers to create new wallets and try new recipes. That’s good for Bitcoin.

Stephan Livera: Right. Speaking of private keys, you made me think of seeds as well, right? Do you have any views on… So right now it can be a little difficult in terms of backing up of your seed, right? Because unless there’s versioning and birthday and so on.

Stephan Livera: And I know, for example, there’s LND with their aezeed, but there’s BIP39 as well, which is kind of the main standard that Coldcard, Trezor, Ledger, et cetera. They all use that. And that is a bit of a challenge, because I can sort of understand the view of someone like say Thomas Voegtlin from Electrum.

Stephan Livera: He wants to be able to say, “Look, just write down these 12 words and that’s it. You don’t have to remember anything else.” As contrasted with BIP39, you might have passphrase and you need to know, “Okay, what is the derivation path and so on. Do you have any views around that? On whether that could be simplified, or is it just the nature of the beast?

Steve Lee: Well that’s an easy question. I definitely think it can be simplified. And exactly how it’s simplified. I mean that’s one reason I like the categories of solutions that are seedless, because that solves the problem. Just if there is no seed. Now the current approaches have their own drawbacks as well.

Steve Lee: Like Casa is a beautiful design, but currently it costs money and even if you’re on your own, you’re buying like three to five hardware wallets, and trying to set that up on your own is kind of a challenge right now. And just even if it were free it’s still a lot to ask mainstream users to sort of deploy these hardware wallets geographically dispersed.

Steve Lee: So that’s why I kind of like the space of social key recovery as well, because if you can store keys on friends and family phones, you’re not buying new hardware, you can naturally get geographic dispersion. The challenge there of course is they’re effectively hot wallets then.

Steve Lee: So all of these different approaches have trade offs, and I think it gets back to… I think there needs to be dozens, if not hundreds, of experiments the next five or 10 years to really have it pan out what are the best approaches.

Stephan Livera: Right. Yeah. And I think you’re right that there can be some value in those social recovery mechanisms, but I can just see on the other side of that is what if you give it… You have your friend hold one of your five keys and then they lose it.

Stephan Livera: Or if maybe you are no longer… You fall out with that guy and he’s no longer your friend and now you’ve got to… So then you’ve got to constantly like shift around that aspect of it as well. But I suppose these are all aspects of like as you say, experimentation and time to kind of figure out what’s the best approach.

Steve Lee: That specific solution is definitely not solved yet. But I do think the… In terms of like your mom loses her phone, or replaces her phone, you can use things like dead man switches basically you can have each recovery phone check in periodically. And so if it doesn’t check in, then you warn the user saying, “Hey, you might want to go ask mom if she upgraded her phone and if she did, then deploy a new key,”

Steve Lee: Or if you have a falling out you can do a key rotation and hopefully create a reasonable user experience around that. But I do think for that to be mainstream, it would need to be a system where the user gets notified saying, “Hey, there is a problem, or there probably is a problem, check it out and hopefully just like talk to someone, or click a button.” Yeah, that needs to.

Steve Lee: So getting back to like grants that we’re running to give out. If someone has a project in mind, or a technology, or some kind of piece of infrastructure that could help this, feel free to reach out. We’d love to help support that.

Stephan Livera: Yeah. And Square Crypto, we’ve got to talk about your Twitter account, because I think it’s hilarious. It’s following one person. It’s following Hal Finney. And it’s got some really good memes. Tell us a bit about that. Who’s behind it Steve?

Steve Lee: Well, I can… All I can say is it’s not me. I don’t have quite the sense of humor that the account has. I’ve been on the job for many months, and I still have no more awareness than if it’s the four black cats using a Ouija board creating the tweets, but-

Stephan Livera: Speak it Steve right there with his thoughts on Square Crypto who controls the accounts. One of the great mysteries of Bitcoin.

Steve Lee: I will… Yes. I’ll speak to the thinking behind the account. We definitely want a unique account. We don’t want it to… Because we work on pretty technical, geeky stuff, we want to lighten it up a little bit, be a little more entertaining. We certainly want to appeal to the Bitcoin community.

Steve Lee: We also want to appeal to mainstream as well. And over time have this be an account that a newcomer to Bitcoin, and just someone who doesn’t… Hasn’t listened to a hundred episodes of your podcast will maybe start with the Square Crypto twitter account and find it approachable, and interesting. So that’s the… And so we’re trying to give a unique voice to it, and sort of just keep it engaging and entertaining.

Stephan Livera: That’s awesome. Yeah. I love the account. I think it’s really good, and look there is a need for some accounts that are more funny, and lighthearted, and some other people are going to be less so. So look, let’s let’s wrap it up. But make sure you tell them where they can follow you and keep up with what you’re doing.

Steve Lee: Sure, I think Twitter is the best place to follow me. My username is @Moneyball on Twitter, and if you… Again just a plug, if you do have a project idea that you’d like to connect it to Bitcoin feel free to DM me and reach out.

Stephan Livera: Fantastic. Thank you for joining me, Steve.

Steve Lee: All right. Thank you so much. It’s been a pleasure.

Leave a Reply