BitVMX: A CPU for Universal Computation on Bitcoin

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Lerner, Sergio Demian, Amela, Ramon, Mishra, Shreemoy, Jonas, Martin, Cid-Fuentes, Javier Álvarez
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866910442932142080
author Lerner, Sergio Demian
Amela, Ramon
Mishra, Shreemoy
Jonas, Martin
Cid-Fuentes, Javier Álvarez
author_facet Lerner, Sergio Demian
Amela, Ramon
Mishra, Shreemoy
Jonas, Martin
Cid-Fuentes, Javier Álvarez
contents BitVMX is a new design for a virtual CPU to optimistically execute arbitrary programs on Bitcoin based on a challenge response game introduced in BitVM. Similar to BitVM1 we create a general-purpose CPU to be verified in Bitcoin script. Our design supports common architectures, such as RISC-V or MIPS. Our main contribution to the state of the art is a design that uses hash chains of program traces, memory mapped registers, and a new challenge-response protocol. We present a new message linking protocol as a means to allow authenticated communication between the participants. This protocol emulates stateful smart contracts by sharing state between transactions. This provides a basis for our verification game which uses a graph of pre-signed transactions to support challenge-response interactions. In case of a dispute, the hash chain of program trace is used with selective pre-signed transactions to locate (via $n$-ary search) and then recover the precise nature of errors in the computation. Unlike BitVM1, our approach does not require the creation of Merkle trees for CPU instructions or memory words. Additionally, it does not rely on signature equivocations. These differences help avoid complexities associated with BitVM1 and make BitVMX a compelling alternative to BitVM2. Our approach is quite flexible, BitVMX can be instantiated to balance transaction cost vs round complexity, prover cost vs verifier cost, and precomputations vs round complexity.
format Preprint
id arxiv_https___arxiv_org_abs_2405_06842
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle BitVMX: A CPU for Universal Computation on Bitcoin
Lerner, Sergio Demian
Amela, Ramon
Mishra, Shreemoy
Jonas, Martin
Cid-Fuentes, Javier Álvarez
Cryptography and Security
Distributed, Parallel, and Cluster Computing
BitVMX is a new design for a virtual CPU to optimistically execute arbitrary programs on Bitcoin based on a challenge response game introduced in BitVM. Similar to BitVM1 we create a general-purpose CPU to be verified in Bitcoin script. Our design supports common architectures, such as RISC-V or MIPS. Our main contribution to the state of the art is a design that uses hash chains of program traces, memory mapped registers, and a new challenge-response protocol. We present a new message linking protocol as a means to allow authenticated communication between the participants. This protocol emulates stateful smart contracts by sharing state between transactions. This provides a basis for our verification game which uses a graph of pre-signed transactions to support challenge-response interactions. In case of a dispute, the hash chain of program trace is used with selective pre-signed transactions to locate (via $n$-ary search) and then recover the precise nature of errors in the computation. Unlike BitVM1, our approach does not require the creation of Merkle trees for CPU instructions or memory words. Additionally, it does not rely on signature equivocations. These differences help avoid complexities associated with BitVM1 and make BitVMX a compelling alternative to BitVM2. Our approach is quite flexible, BitVMX can be instantiated to balance transaction cost vs round complexity, prover cost vs verifier cost, and precomputations vs round complexity.
title BitVMX: A CPU for Universal Computation on Bitcoin
topic Cryptography and Security
Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2405.06842