LumiBit’s Native Signature Solution

LumiBit
5 min readMar 28, 2024

--

Overview

The burgeoning BTC L2 ecosystem faces a significant challenge in user experience, particularly the disjointed nature of various wallet and signature schemes. Users are navigating a landscape filled with third-party abstract wallet solutions, EVM wallets derived from BTC public keys, custodial wallets with Web2 logins, and even combinations of Metamask and BTC wallets. Although these innovations offer diverse approaches, they lack the native BTC experience and often increase the complexity of user interactions.

LumiBit is committed to preserving BTC’s nativeness and addressing scalability issues through innovative technology. To solve the fragmented user experience on the BTC network, LumiBit introduced a unique “native signature” technology. This allows users to interact on EVM chains using their Bitcoin addresses, achieving consistent L1 and L2 network address integration. This solution enables LumiBit users to operate on L2 chains using their native Bitcoin wallets, bringing uniformity to Layer1 and Layer2 experiences. Now, BTC mainnet users can smoothly interact with both BTC mainnet and LumiBit using a single wallet and address. The need to switch networks within the wallet offers an experience similar to ETH users on Optimism, further enhanced by LumiBit’s efficient withdrawal process.

About On-chain Address

The core of blockchain interaction, addresses are used for receiving, storing, sending tokens, and executing on-chain actions. Traditional solutions require users to manage two different addresses for BTC and EVM network interactions due to differing address generation methods:

  1. EVM Address

Generated following Ethereum’s address specifications, EVM addresses are utilized across Ethereum-like networks. These are 40-character hexadecimal strings (prefixed with “0x” to denote hexadecimal), e.g., 0x281055afc982d96fab65b3a49cac8b878184cb16.

From a 256-bit private key, a public key is generated using the ECDSA secp256k1 curve. After removing the “04” prefix from the public key, it’s hashed with keccak256. The Ethereum address is formed by taking the last 20 bytes of this hash, prefixed with “0x”.

2. BTC Address

BTC addresses, conforming to various standards like Legacy, Segwit, and Taproot, manifest in formats such as P2PKH (starting with “1”), P2SH (starting with “3”), or Bech32 (starting with “bc1q”, also known as SegWit addresses). Here, we focus on SegWit addresses.

Similar to EVM addresses, obtaining a 256-bit private key is the first step. For SegWit, the public key is generated using the ECDSA secp256k1 curve. Then, the RIPEMD-160 hash function produces a 20-byte value, forming the P2WPKH (Pay to Witness Public Key Hash). P2WPKH is combined with a version byte, and the Bech32 encoding scheme creates a Bech32 encoded address. The prefix ‘bc1q’ is added to the data (‘bc’ indicates mainnet, ‘1q’ the version) to form the final Segwit address.

Despite differences in presentation, both EVM and BTC addresses derive from the same secp256k1 public key. This means a single private key consistently generates corresponding BTC and EVM addresses, laying the foundation for LumiBit’s native signature implementation.

LumiBit’s Native Signature Solution

The goal of LumiBit’s Native Signature is to provide an interaction experience increasingly aligned with Layer 1, advancing the nativeness of BTC Layer 2.

This approach enables users to perform all interactions using a single BTC wallet, whether on the BTC blockchain or LumiBit, without needing an additional EVM wallet. Importantly, users’ addresses on LumiBit’s Layer 2 remain the same as their BTC mainnet addresses, simplifying the process of sending and receiving assets or interacting with smart contracts. This unification not only smoothens the user experience on BTC Layer 2 but also aligns all interaction addresses with the Bitcoin network, similar to Ethereum’s Layer 2. With LumiBit, BTC users can now enjoy a native-like experience.

The technical structure of the Native Signature is as follows:

Public Key Translation

The public key translation process in LumiBit ensures the mutual mapping of BTC-EVM addresses. In LumiBit, both BTC and EVM addresses are derived from the same public key associated with a given private key.

With LumiBit’s public key interpretation SDK, once a user connects their wallet, and the public key is accessible, they can use this SDK to obtain both their 0x prefixed EVM address and bc1q prefixed BTC address. This capability allows dApps to choose which type of address to use, though by default, the bc1q prefixed BTC address is the standard for parsing.

Address Encapsulation

This process facilitates the interoperability between BTC and EVM addresses. Working in conjunction with the public key translation, address encapsulation enables mutual validation of BTC and EVM addresses, ensuring that interactions with a specific BTC address can be mapped to the corresponding EVM address on the protocol level.

Through this system, any interaction with a BTC address (starting with bc1q) is interpreted as an interaction with the corresponding 0x EVM address derived from the same public key. As a result, users on Layer2 need only input the BTC address to interact with its corresponding EVM address, whether it’s for contract calls or transactions. In both block explorers and dApps, this encapsulation allows all addresses to use BTC addresses for user interactions, even if the underlying address is an EVM one.

Final Thoughts

The LumiBit Native Signature is a significant advancement in BTC Layer 2 user experience. It allows seamless interaction between a user’s BTC wallet and the LumiBit network, mirroring Ethereum’s mainnet-to-L2 interaction style.

LumiBit eliminates the need for additional EVM wallets or managing separate addresses for BTC mainnet and L2 interactions. Users can interact on L2 using their standard BTC mainnet address, enhancing usability and consistency across networks.

LumiBit’s unique public key interpretation and address encapsulation technologies enable this feature, simplifying the process of using one wallet for both BTC mainnet and LumiBit network interactions. This development makes LumiBit’s L2 experience more user-friendly and closer to Bitcoin’s native functionality.

Demo

--

--