Recently team members Chris Stewart and Nadav Kohen traveled to Advancing Bitcoin. This conference is designed to showcase technical innovations in the bitcoin/lightning space. We are going to highlight a few things we and other attendees talked about.

Enterprise Lightning Architecture

Chris gave a talk at London Bitcoin Developers the night before Advancing Bitcoin about Suredbits’s work to develop enterprise architecture for Lightning. This was based on the series of Lightning 201 blog posts that we have been writing. The basic idea is separating out sub-components of the Lightning node such as the database, the private keys, and interfacing the node with a proxy server. 

 

Discreet Log Contracts 

Nadav gave a rough, command line DLC demo to anyone who asked to see, and some who didn’t. In this demo, two bitcoin-s nodes communicating (via copy-paste) successfully construct and execute a complete DLC on a local bitcoin-core node. Nadav and Chris also met with Thibaut Le Guilly from Crypto Garage to compare notes and progress on DLC implementations and plan out some future steps. 

Miniscript

Andrew Poelstra did a workshop show casing Miniscript, which is meant to be a simple high level representation of Bitcoin’s programming language called Script. The language that gets translated to Script is called the “Policy Language”. He demonstrated how Miniscript can give you estimations of the worst case fee associated with a Script. Miniscript can represent probabilities that a certain branch of Script is executed. This can affect the low level Script that is generated to minimize the average fee needed. One other cool feature of Miniscript is that it introduces a type system which makes it easier to reason about correctness properties in your custom Script. 

Generalized Contract Verification at Signing Time

James Chiang gave a talk about his new model for describing multi-transaction bitcoin contracts such as atomic swaps and lightning channels. This model is called Trace Net and uses Petri Nets with extra state labels to encapsulate the state of on and off chain bitcoin transactions and generates a graph of all possible state transitions that could ever happen, marking which transitions are controlled by which parties. One of the goals of this model is to enable automated verification at signing time that the thing being signed is safe for the signing user. This means that key managers could handle DLCs and Lightning Channel signing alike (and much more) without requiring any protocol-specific logic.

Rethinking Wallet Architecture: Native Wallet Descriptors

Andrew Chow gave a talk about using descriptors inside of Bitcoin Core’s wallet. A descriptor is meant to add extra information to utxos stored in the wallet to make it easier to spend and rescan funds. An example of extra information that is added in a descriptor is the Hierarchical Deterministic (HD) key path to make it easy to find the private key on your keychain. 

Here is an example descriptor:

sh(multi(2,[00000000/111’/222]xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL,xpub68NZiKmJWnxxS6aaHmn81bvJeTESw724CRDs6HbuccFQN9Ku14VQrADWgqbhhTHBaohPX4CjNLf9fq9MYo6oDaPPLPxSb7gwQN3ih19Zm4Y/0))

This is an “engineer-readable” way to indicate what type of script the key is associated with (sh(multi)), it requires 2 signatures, what the key path is, what the two xpubs are, and what the account index is. 

Advancing Bitcoin was an excellent technical conference to attend. Leon Johnson did a great job organizing. We learned a lot as a team and met other interesting developers. The next conference we will be attending is Bitcoin 2020. Come say “hello”!

Get in touch with us:

Suredbits

Chris Stewart

Nadav Kohen


All of our API services, for both Cryptocurrency APIs as well as Sports APIs, are built using Lightning technology and the Lightning Network. All API services are live on Bitcoin’s mainnet. Our fully customizable data service allows customers to stream as much or as little data as they wish and pay using bitcoin.

You can connect to our Lightning node at the url:

038bdb5538a4e415c42f8fb09750729752c1a1800d321f4bb056a9f582569fbf8e@ln.suredbits.com

To learn more about how our Lightning APIs work please visit our API documentation or checkout our Websocket Playground to start exploring fully customized data feeds.

If you are a company or cryptocurrency exchange interested in learning more about how Lightning can help grow your business, contact us at [email protected].