Escalabilidad en Bitcoin
WoBitcoin - @karliatto - 2024
Problema de esclabilidad
- Cada node verifica cada transacción --> ¡¡¡Muy caro!!¡
- Visa tuvo un pico de transacciones por segunto (tps) de 47.000 en 2016
- Bitcoin on-chain alcanza un máximo de 7-11 tx por segundo
Alipay
Escalabilidad on-chain VS off-chain
On-chain
- Cross input signature aggregation https://bitcoinops.org/en/topics/cross-input-signature-aggregation/
- Batch transaction
- Segwit
- Taproot multisig
- Merkleize All The Things - https://merkle.fun/FAQ.html
Escalar a la fuerza
- Para alcanzar visa 47.000 tps → 300 byte/tx → 8 gigabytes por block ~400 terabytes/year
Más vale maña que fuerza (Off-chain)
- Utilizar on-chain como la capa base donde acudir a resolver disputas mientras la mayoria de las tx las mantenemos off-chain.
¿Qué es Lightning Network?
⚡ Lightning es bitcoin
- Un protocolo de segunda capa
- sobre Bitcoin
- micropagos instantaneos
- red descentralizada
- sin delegar la custodia de los fondos.
Origen
Bolts (Basis of Lightning Technology)
https://github.com/lightning/bolts
¿Qué no es LN?
Mitos
- Es una empresa, servicio, ICO, altcoin ...
- Routing es un problema que no se puede solucionar
- Tienes que estar online todo el tiempo
- Todavia necesitamos bloques más grande
- No hay buenos monederos de LN de auto custodia
Algunas nociones de Bitcoin
- Cadena de bloques - Timechain
- Transacciones
Building blocks of the LN - Bitcoin transaction overview
Building blocks of the LN - Bitcoin transaction input
Building blocks of the LN - Multisig
Building blocks of the LN - Timelocks
Building blocks of the LN - Secrets - HTLC
Building blocks of the LN - Bi-directional payments channels
-
Ciclo de vida de un canal de pago bi-direccional
- Opening tx
- Commitment tx …….. (Si va bien esta nunca llega a la cadena de bloques)
- Closing tx
Opening TX
Channel state 1
Next state
¿Cómo cambiamos el estado del canal ahora?
Si Alice quiere enviar 1BTC a Bot, ¿Qué deberian hacer?
channel state 2
Es una red
Estado de LN en 2024
Largo recorrido
- Paper publicado en 2016
- Segwit en 2017
- Marzo 2018 se publica primera version de LND solo en simnet para desarrolladores
- En 2019 es usable
- En 2024 - cuanta gente de esta conferencia ha pagado en LN?
- 6 años para crear un ecositema
- LN ha sido un exito y funciona para lo que fue diseñada?
El ecosistema de LN no para de crecer
¿Escala para los usuarios actuales?
- ¿Es LN suficiente para el uso de Bitcoin de hoy en dia?
- ¿Es LN suficiente para que Bitcoin se convierta en una moneda de uso para pagos a diario a nivel global?
- El cuello de botella es entrar en la red y sacar/añadir liquidez a la red.
- Ya que las transacciones dentro de la red son potencialmente infinitas.
Canales por año
https://petertodd.org/2024/covenant-dependent-layer-2-review
Splices por año
https://petertodd.org/2024/covenant-dependent-layer-2-review
Escalamos para la demanda actual
- Las comisiones de tx son todavia muy baratas
- El ecosistema necesita incentivos económicos
LN esta en constante mejora (WIP)
- Ni Bitcoin ni LN estan terminados y queda mucho por hacer.
Desafios y soluciones de LN
Problemas = Soluciones por crear
Liquidez
LNURL
- https://github.com/lnurl/luds
Recibir pagos inicialmente (turbo channels/Zero-conf channels)
- https://bitcoinops.org/en/topics/zero-conf-channels/
Trampoline payments
- https://bitcoinops.org/en/topics/trampoline-payments/
Splicing
- https://bitcoinops.org/en/topics/splicing/
Interactive tx - dual funding
- camino a aperturas de canales de coinjoin
Bolt 12
- Substituto de LNURL ahora usando la red lightning en lugar de HTTP
- https://x.com/Core_LN/status/1838839133202190764
Mejoras en la privacidad de LN
- https://lightningprivacy.com/en/introduction
- https://lightningprivacy.com/en/routing-analysis
Dispositivos de firma con LN?
- Algunos integraciones a medias usando greenlight
- Es complicado para un dispositivo que casi siempre esta offline
La era de las dudosas capas dos
-
The age of scammy L2s
- https://l2.watch/
- https://www.bitcoinlayers.org/
- https://www.bitcoinlayers.org/?status=Charts&range=1y&chart=separate
Necesitamos definir que es un L2
- Es liquid un L2?
- Es fedimint un L2?
- Es Rootstock un L2?
- Es coinbase un L2?
- Es Ark un L2?
¿Qué es un L2 de Bitcoin (o Capa)?
Un L2 de Bitcoin es un protocolo que añade funcionalidad al activo BTC, paga Bitcoin por seguridad y/o está integrado con el protocolo de Bitcoin de alguna manera. Ejemplos de esto incluyen metaprotocolos, L2s y más.
L2s de Bitcoin "verdadero L2"
Los L2s de Bitcoin son:
- protocolos separados que extienden la utilidad a los activos de Bitcoin
- al mismo tiempo que aseguran que los usuarios puedan retirar sus activos del L2 en cualquier momento que elijan.
A menudo, el término "Capa 2" se define de manera amplia, hasta el punto en que incluso una entidad similar a un banco (por ejemplo, Liquid) podría definirse como una Capa 2. Para los propósitos de este artículo, adoptaremos una definición estricta: una Capa 2 (L2) es un sistema denominado en Bitcoin, con el propósito de permitir que el BTC se transaccione más a menudo que el número de transacciones en cadena con otras partes. De tal manera que:
Nadie pueda robar fondos de manera rentable en el sistema, teniendo en cuenta los castigos y costos dentro del sistema. Los costos y castigos fuera del sistema, como la pérdida de reputación, consecuencias legales, etc., no se consideran en nuestra definición. (Preferido) Los verdaderos propietarios de los fondos pueden retirar unilateralmente sus fondos, menos las tarifas de transacción, sin la cooperación de terceros.
Lista de segundas caspas propuestas
Ark
- https://arkdev.info/
- https://twitter.com/somsenruben/status/1726393664757174677
- https://arkdev.info/roadmap/
- https://ark.vulpem.com/
- Bancos privados antiguos emitían billetes a cambio de depósitos de oro, que eran canjeables por oro en cualquier momento.
- Estos billetes dependían de la solidez del banco; si el banco quebraba, los billetes perdían su valor.
- Alice deposita Bitcoin en un servidor digital y recibe un cheque digital con fecha de caducidad.
- Para mantener su cheque válido y su fondo seguro, Alice debe interactuar con el servidor al menos una vez al mes.
- El cheque puede usarse para pagos dentro del mismo banco digital y puede ser canjeado por Bitcoin antes de su expiración.
- Si el banco digital desaparece, los usuarios pueden recuperar su "oro digital" a través del blockchain de Bitcoin, garantizando la seguridad y accesibilidad del fondo
BitVM https://bitvm.org/bitvm.pdf
BitVM is a computing paradigm to express Turing-complete Bitcoin contracts. This requires no changes to the network’s consensus rules. Rather than executing computations on Bitcoin, they are merely verified, similarly to optimistic rollups. A prover makes a claim that a given function evaluates for some particular inputs to some specific output. If that claim is false, then the verifier can perform a succinct fraud proof and punish the prover. Using this mechanism, any computable function can be verified on Bitcoin. Committing to a large program in a Taproot address requires significant amounts of off-chain computation and communication, however the resulting on-chain footprint is minimal. As long as both parties collaborate, they can perform arbitrarily complex, stateful off-chain computation, without leaving any trace in the chain. On-chain execution is required only in case of a dispute.
Drivechains bip300
Mercury layer
- https://bitcoinmagazine.com/technical/mercury-layer-a-massive-improvement-on-statechains
- https://bitcoinmagazine.com/technical/a-new-privacy-tool-for-bitcoin
- https://github.com/commerceblock/mercurylayer/tree/dev/docs
Prime
Citrea
- https://twitter.com/sethforprivacy/status/1754908226645025064?t=Ud6rJlLKTlPJVMxW5amASA&s=19
- https://citrea.xyz/
Side pool
- https://github.com/ZmnSCPxj-jr/sidepool/blob/master/doc/00-sidepools-are-awesome.md
CAtVM
- https://catvm.org/catvm.pdf
Rollup, ZK proofs, join pools
Ark
Descripción
Ark es un enfoque alternativo de escalado de segunda capa que permite a los usuarios del protocolo enviar y recibir fondos sin introducir restricciones de liquidez. Esto significa que un destinatario puede recibir pagos sin necesidad de un proceso de incorporación, como adquirir liquidez entrante. El protocolo también consume órdenes de magnitud menos huella en la cadena que Lightning, ya que no existe el concepto de abrir y cerrar canales.
Ark tiene un conjunto de UTXO que vive fuera de la cadena. Estos UTXO se conocen como UTXO virtuales o vTXO para abreviar. Los UTXO virtuales son como notas de corta duración que expiran después de cuatro semanas. Los usuarios deben gastar sus vTXO al recibirlos dentro de este plazo de cuatro semanas o devolverlos a sí mismos para reiniciar el temporizador de cuatro semanas. Los UTXO virtuales viven bajo un UTXO compartido y pueden ser revelados en la cadena.
- Bancos privados antiguos emitían billetes a cambio de depósitos de oro, que eran canjeables por oro en cualquier momento.
- Estos billetes dependían de la solidez del banco; si el banco quebraba, los billetes perdían su valor.
- Alicia deposita Bitcoin en un servidor digital y recibe un cheque digital con fecha de caducidad.
- Para mantener su cheque válido y su fondo seguro, Alicia debe interactuar con el servidor al menos una vez al mes.
- El cheque puede usarse para pagos dentro del mismo banco digital y puede ser canjeado por Bitcoin antes de su expiración.
- Si el banco digital desaparece, los usuarios pueden recuperar su "oro digital" a través del blockchain de Bitcoin, garantizando la seguridad y accesibilidad del fondo
Recursos
- https://x.com/2ndbtc/status/1837530708560302522
- https://ark-protocol.org/
- https://codeberg.org/ark-bitcoin/bark
- https://second.tech/
- https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-May/021694.html
- https://bitcointv.com/w/pVk3bPfKZ7YqDzsNZjz9tf
- https://brqgoo.medium.com/introducing-ark-6f87ae45e272
- https://brqgoo.medium.com/introducing-ark-v2-2e7ab378e87b
- https://arkdev.info/
- https://github.com/ark-network/ark
- https://twitter.com/somsenruben/status/1726393664757174677
- https://arkdev.info/roadmap/
- https://ark.vulpem.com/
Drivechains BIP 300
Resources
- https://github.com/bitcoin/bitcoin/pull/28311
- https://www.youtube.com/watch?v=jDjEEX0ASxY
- Hace falta un soft-fork
- Transaction are not signed by cryptografic key but by hashpower bitcoin
- It can take 3 to 6 months to get funds from drivechain to base layer
- Could a drivechain become more valuable than the base BTC layer?
Introduction
A drivechain allows bitcoins to be "pegged" to a secondary blockchain, enabling them to be used within that blockchain's ecosystem for various applications
Peg-in
Moving coins from the main Bitcoin blockchain to a drivechain (a type of sidechain)
- Locking Coins on the Main Chain: The process begins with the user sending their bitcoins to a specific address on the Bitcoin blockchain that is designated for transfers to the drivechain.
- Creating a Cryptographic Proof: When the coins are locked on the Bitcoin blockchain, a cryptographic proof of this transaction is generated.
- Submitting the Proof to the Drivechain: The user or an intermediary then submits this cryptographic proof to the drivechain..
- Pegging Coins on the Drivechain: Once the proof is verified, the equivalent amount of coins is made available to the user on the drivechain.
- Consensus and Security Mechanisms: To secure this process, drivechains rely on consensus mechanisms among participants and possibly involve miners or validators in the pegging process.
- Transparency and Verification: The entire process is transparent and verifiable by all network participants.
Peg-out
- Initiation: A user initiates a peg-out transaction on the sidechain, indicating that they wish to transfer their coins back to the main Bitcoin blockchain. This involves specifying the amount and the destination address on the main chain.
- Locking or Burning on the Sidechain: To prevent double-spending, the coins on the sidechain are typically locked or burned.
- Proof of Locking or Burning: The sidechain generates cryptographic proof that the coins have been appropriately locked or burned.
- Submission to the Main Chain: The cryptographic proof, along with the peg-out request, is submitted to the main Bitcoin blockchain.
- Validation and Release: Miners or validators on the main Bitcoin blockchain verify the proof of locking or burning from the sidechain. If the proof is valid and meets the required consensus rules, the equivalent amount of bitcoins is released to the specified destination address on the main chain.
Validation Process
- In Bip300, txns are not signed via cryptographic key. Instead, they are "signed" by hashpower, over time. Like a big multisig, 13150-of-26300, where each block is a new "signature".
- Hashpower as Signatures: In the context of BIP300, transactions that peg-out coins from a sidechain back to the main Bitcoin blockchain are not "signed" in the conventional sense with a cryptographic key. Instead, they are "signed" by accumulating hash power over a defined period. This approach is akin to a multisignature mechanism but uses the concept of hash power as the "signatures."
- The approval of a peg-out transaction requires that it be included by miners over a predetermined number of blocks. This is similar to accumulating a certain number of signatures in a multisignature setup, but in this case, each "signature" is actually a block mined that includes approval for the peg-out.
- Consensus Threshold: The transaction is considered approved once it achieves a specified threshold of miner approval within a certain window of blocks. For example, if the requirement is for the transaction to be included in a certain proportion of blocks within a window of 26,300 blocks, reaching this threshold effectively means the transaction is "signed" by hash power.
- Where miners include that extra data?
- Coinbase Transaction - contains a section for arbitrary data
- OP_RETURN Outputs
Gracias
Recursos
- https://twitter.com/ohskogstrom/status/1680185457307447299
- https://github.com/lightning/bolts/pull/851
- https://river.com/learn/lightning-payments-2025/
- https://tonygiorgio.com/lightning-everywhere/
- https://acinq.co/blog/phoenix-splicing-update
- https://vls.tech/
- https://acinq.co/blog/securing-a-100M-lightning-node
- https://twitter.com/TorqLN/status/1640008225159274497
- https://blog.river.com/the-lightning-network-in-2023/
- https://www.bitcoinlayers.org/
- https://lightningprivacy.com/en/introduction
- https://bitcoin-layers.gitbook.io/bitcoin-layers/what-is-a-bitcoin-l2-or-layer
- https://bitcoinops.org/en/topics/channel-factories/
- https://petertodd.org/2024/covenant-dependent-layer-2-review
- https://brqgoo.medium.com/introducing-ark-6f87ae45e272
- https://brqgoo.medium.com/introducing-ark-v2-2e7ab378e87b