How We Did It: The First ZK Proof on Bitcoin - Edan Yago & Gadi Guy at Bitcoin Nashville #Bitcoin

BitcoinOS
7 Aug 202410:32

Summary

TLDRAt the Nashville Bitcoin conference, Bitcoin OS made a groundbreaking announcement by introducing zero-knowledge proofs to Bitcoin for the first time, enabling scalability to thousands of transactions per second, native private transactions, and sophisticated smart contracts without a soft fork. Guy, the CTO of Bitcoin OS, explained the interactive protocol and large Taproot tree used to achieve this, showcasing a real-world application with a zk-SNARK proof verified on the Bitcoin blockchain. This innovation opens doors for trustless layer 2 rollups and applications like decentralized exchanges and stablecoins, revolutionizing Bitcoin's capabilities to compete with Ethereum and other blockchains.

Takeaways

  • 🎀 The conference is a significant event where major milestones in Bitcoin are announced, attracting a large crowd.
  • πŸ“£ High-profile figures like Trump and Elon Musk are expected to make announcements, adding to the conference's importance.
  • πŸ”’ Bitcoin OS introduced zero-knowledge proofs for the first time in Bitcoin transactions, marking a technological breakthrough.
  • πŸš€ This innovation allows Bitcoin to scale to thousands of transactions per second without the need for the Lightning Network.
  • πŸ”’ The introduction of zero-knowledge proofs enables native private transactions in the Bitcoin network.
  • πŸ€– Bitcoin can now support sophisticated smart contracts, broadening its capabilities.
  • πŸ”„ The technology allows for trustless layer two rollups, enhancing Bitcoin's functionality to match other blockchain platforms like Ethereum and Solana.
  • πŸ› οΈ Guy, the CTO of Bitcoin OS, explained the technical process of integrating zero-knowledge proofs without a soft fork or new bip codes.
  • 🌳 The team built a large Taproot tree and a new virtual machine optimized for elliptic curve cryptography to achieve the integration.
  • πŸ”— They also represented Merkel proofs to keep transaction sizes manageable, ensuring quick mining.
  • πŸ“ˆ The demonstration of the ZK proof verification involved an interactive protocol between a prover and verifier, with a costlier process for the dishonest party.
  • πŸ”— The final transaction was successful, and the team provided code on GitHub for the community to verify the proof's authenticity.
  • πŸ” Future steps include turning the two-party protocol into a multi-party one for real-world security and building applications like trustless bridges and ZK rollups.

Q & A

  • What is the significance of the conference mentioned in the script?

    -The conference is significant because it is a place where major milestones in Bitcoin are announced, attracting a large crowd including notable figures like Elon Musk.

  • What technological milestone was introduced by Bitcoin OS recently?

    -Bitcoin OS introduced zero-knowledge proofs for the first time in Bitcoin transactions, allowing for scalability, privacy, and the introduction of smart contracts without needing a soft fork.

  • How does the introduction of zero-knowledge proofs impact Bitcoin's capabilities?

    -The introduction of zero-knowledge proofs allows Bitcoin to scale to thousands of transactions per second, have native private transactions, and support sophisticated smart contracts, making it competitive with other blockchain platforms like Ethereum and Solana.

  • What is the challenge of implementing ZK proof verification on Bitcoin?

    -The challenge is that a ZK proof verification program is very large and not practical to run on Bitcoin due to its limited scripting capabilities and inability to perform advanced math.

  • How did Bitcoin OS overcome the challenge of implementing ZK proofs on Bitcoin?

    -Bitcoin OS turned the ZK proof verification into an interactive protocol, creating a large Taproot tree with small chunks of the program that can be turned into Bitcoin script code.

  • What is a Taproot tree and how does it relate to ZK proof verification on Bitcoin?

    -A Taproot tree is a structure that includes all the small chunks of the ZK proof verification program. It allows for the smallest possible chunk of the program to be run as a Taproot leaf, making the proof verification practical on Bitcoin.

  • What is the virtual machine invented by Bitcoin OS for ZK proof verification?

    -The virtual machine invented by Bitcoin OS is specifically optimized for the math required by elliptic curve cryptography, allowing the ZK proof verification code to be ported and optimized for Bitcoin.

  • How does the interactive protocol involving the prover and verifier work in ZK proof verification?

    -The prover posts the proof to Bitcoin, and the verifier checks it. If the proof is incorrect, the verifier stakes funds to challenge it, and they begin an interactive protocol to resolve the disagreement. The protocol involves multiple steps and can be completed within a few blocks.

  • What is the consequence for the party that is dishonest during the interactive protocol?

    -If the prover is correct, they take the stake from the verifier. If the verifier is correct and the proof is wrong, the verifier takes the stake from the prover, ensuring that the dishonest party pays all the fees.

  • What are the next steps for Bitcoin OS in terms of ZK proof verification?

    -The next steps include turning the two-party protocol into a multi-party protocol for real-world security, building real-world applications with this technology, and developing trustless bridges between Bitcoin and other blockchains, as well as ZK rollups, smart contracts, decentralized exchanges, and stable coins.

  • How can interested individuals contribute to or learn more about Bitcoin OS's work?

    -Interested individuals can join the Bitcoin OS Telegram group, contribute as coders if they have the skills, and help develop the technology further by using the provided code on GitHub to verify the proof on the mainnet.

Outlines

00:00

πŸš€ Bitcoin Conference Milestone: Introduction of Zero-Knowledge Proofs

The first paragraph of the script introduces the excitement surrounding the Bitcoin conference, where significant Bitcoin milestones are announced. The recent introduction of zero-knowledge proofs (ZK proofs) into Bitcoin transactions is highlighted as a major technological advancement. This development enables Bitcoin to scale to thousands of transactions per second without the need for the Lightning Network, introduces native private transactions, and allows for the integration of sophisticated smart contracts. The script also discusses the potential of trustless layer two rollups, which can facilitate various functionalities that were previously thought to be unattainable with Bitcoin. The speaker, Guy, CTO of Bitcoin OS, is introduced to explain how his team managed to implement ZK proofs without a soft fork or new bip codes.

05:03

πŸ› οΈ Technical Breakdown of Zero-Knowledge Proofs Integration in Bitcoin

In the second paragraph, the script delves into the technical aspects of integrating zero-knowledge proofs into Bitcoin. It explains that running a ZK proof verification program directly on Bitcoin is impractical due to the limitations of Bitcoin script and the large size of the program. Instead, an interactive protocol was developed, allowing two or more parties to negotiate the smallest possible chunk of the program that can be represented as Bitcoin script. The process involves building a large Taproot tree and a new virtual machine optimized for elliptic curve cryptography, which was used to port the ZK proof verification code. The script also describes the verification process involving a prover and a verifier, with the verifier having the option to challenge the proof by staking funds. The protocol is interactive, with the final transaction being successful if the proof is correct, and the dishonest party bearing the fees. The speaker invites the audience to verify the proof using code provided on GitHub.

10:03

πŸ”— Future Applications and Opportunities with ZK Proofs in Bitcoin

The final paragraph of the script discusses the future steps and applications of zero-knowledge proofs in Bitcoin. It mentions the need to evolve the two-party protocol into a multi-party protocol for real-world security and the intention to build real-world applications with this technology. The speaker highlights the potential for creating trustless bridges between Bitcoin and other blockchains, as well as the development of ZK rollups, smart contracts, decentralized exchanges, and stablecoins on the Bitcoin network. These applications could bring functionalities to Bitcoin that currently exist in the Ethereum Virtual Machine (EVM) world. The script concludes with an invitation for coders to join the team via a QR code and a Telegram group, emphasizing the team's recruitment efforts.

Mindmap

Keywords

πŸ’‘Bitcoin

Bitcoin is a decentralized digital currency that operates on a peer-to-peer network without the need for intermediaries like banks. In the video, it is the central subject where major milestones are being discussed, including the introduction of zero-knowledge proofs to enhance its capabilities.

πŸ’‘Zero-knowledge proofs

Zero-knowledge proofs are cryptographic methods that allow one party to prove to another that they know a value x, without conveying any information apart from the fact they know the value. In the script, this technology is highlighted as a significant milestone for Bitcoin, enabling private transactions and smart contracts without altering the existing consensus rules.

πŸ’‘Transactions per second

This refers to the number of transactions that a system can process in one second, a key measure of scalability for any cryptocurrency. The video discusses how the introduction of zero-knowledge proofs could allow Bitcoin to scale to thousands of transactions per second without the need for the Lightning Network.

πŸ’‘Private transactions

Private transactions are those that obscure the transaction amount and the identities of the parties involved. The script explains that with zero-knowledge proofs, Bitcoin can now facilitate native private transactions, enhancing user privacy.

πŸ’‘Smart contracts

Smart contracts are self-executing contracts with the terms of the agreement directly written into code. The video mentions that the integration of zero-knowledge proofs allows for the introduction of sophisticated smart contracts into the Bitcoin ecosystem, broadening its application.

πŸ’‘Layer 2 rollups

Layer 2 rollups are a scaling solution for blockchains that bundle multiple transactions together and settle them in a single on-chain transaction. The script describes how Bitcoin can now support trustless layer 2 rollups, enabling a variety of functionalities that were previously only possible on other blockchains.

πŸ’‘Ethereum

Ethereum is a decentralized platform that runs smart contracts and has its own cryptocurrency, Ether. It is mentioned in the script as a blockchain that currently supports smart contracts and rollups, capabilities that Bitcoin is now able to match with the help of zero-knowledge proofs.

πŸ’‘Soft Fork

A soft fork is a change to a blockchain protocol that is backward compatible, meaning that nodes running the old software will still accept blocks valid under the new rules. The script emphasizes that the introduction of zero-knowledge proofs was achieved without a soft fork, indicating a significant technical achievement.

πŸ’‘Bitcoin OS

Bitcoin OS appears to be the organization behind the advancements discussed in the video. They are responsible for the implementation of zero-knowledge proofs on Bitcoin, as mentioned by the CTO, Guy, who explains the technical process in the script.

πŸ’‘Taproot

Taproot is a protocol upgrade for the Bitcoin network that improves smart contract efficiency and privacy. In the script, a large Taproot tree is mentioned as part of the process to implement zero-knowledge proofs into Bitcoin transactions.

πŸ’‘Merkle proofs

Merkle proofs are a method of efficiently summarizing and verifying the integrity of a large set of data. The script discusses representing state commitments as Merkle proofs to keep each transaction small, which is crucial for ensuring they get mined quickly.

Highlights

The conference is a hub for major Bitcoin milestones announcements.

Introduction of zero-knowledge proofs for Bitcoin transactions without soft forks or new bip codes.

Bitcoin can now scale to thousands of transactions per second without the Lightning Network.

Bitcoin now supports native private transactions.

Sophisticated smart contracts can be introduced into Bitcoin.

Bitcoin can achieve functionality comparable to Ethereum or Solana with zero-knowledge proofs.

GDI, the CTO of Bitcoin OS, explains the verification of ZK proofs on Bitcoin.

ZK proof verification is a large program impractical for Bitcoin's limited script.

Interactive protocol developed to narrow down the program into a Bitcoin script code.

Introduction of a large Taproot tree for efficient ZK proof verification.

Development of a new virtual machine optimized for elliptic curve cryptography.

Merkel proofs and state commitment representation to keep transactions under 100K.

Verification process involves a prover and verifier with an interactive protocol.

Costly verification process where the dishonest party pays the fees.

Transaction example provided with a simple code to verify the proof on Mainnet.

Next steps include turning the two-party protocol into a multi-party protocol for real-world applications.

Plans for trustless bridges between Bitcoin and other blockchains.

Potential for ZK rollups, smart contracts, decentralized exchanges, and stable coins on Bitcoin.

Invitation to join the team and contribute to Bitcoin OS development.

Transcripts

play00:00

hello

play00:02

Nashville Sounds like the mic's working

play00:05

there are a lot of people here standing

play00:08

in line because this conference has

play00:10

become the place that major milestones

play00:12

in Bitcoin are announced and everyone is

play00:15

standing in line for Trump and maybe uh

play00:18

Elon Musk to make an announcement which

play00:21

is going to be yet another milestone in

play00:24

Bitcoin but that isn't the only

play00:27

significant Milestone that has been at

play00:29

this particular particular Bitcoin

play00:31

conference just a few days ago Bitcoin

play00:34

OS announced something that on a

play00:36

technological level is certainly no less

play00:40

profound for the first time ever zero

play00:43

knowledge proofs were introduced as

play00:47

transactions to bitcoin mayet no

play00:50

softwalk no changes we actually have

play00:54

lift off for the first time ever we have

play00:56

ZK proofs on bitcoin and what does this

play00:58

mean it's means that Bitcoin is now able

play01:02

even without lightning Network to scale

play01:05

to thousands of transactions per second

play01:09

it means that Bitcoin can now have

play01:10

native private transactions and it means

play01:14

that you can now for the first time

play01:16

introduce sophisticated smart contracts

play01:18

into Bitcoin but perhaps the most

play01:22

phenomenal thing that this does is it

play01:24

allows Bitcoin to have truly trustless

play01:27

layer toos rollups where any type of

play01:30

functionality can occur it used to be

play01:33

the case that people said they needed to

play01:35

create new chains because Bitcoin was

play01:37

old boober coin and you couldn't do

play01:40

enough things on it but with zero

play01:43

knowledge proofs Bitcoin now has the

play01:45

power to do anything that

play01:47

ethereum that Solana or any other piece

play01:50

of software in the blockchain space can

play01:52

do so a lot of people have been asking

play01:55

questions how was this accomplished how

play01:58

did people manage how did Bitcoin OS

play02:01

manage to do what people had said was

play02:03

impossible to introduce zero knowledge

play02:05

proofs without a soft Fork without a new

play02:08

bip without any new up codes and here

play02:11

from Bitcoin OS for the first time on

play02:14

stage is gy Guy the CTO of Bitcoin OS

play02:18

who's going to explain how his team

play02:20

managed to pull off the impossible gy hi

play02:23

guys so I'm GDI um I want to tell you

play02:27

today about something that I personally

play02:29

find very very exciting which is that we

play02:32

have successfully verified the ZK proof

play02:34

on top of

play02:36

Bitcoin um keeping the existing um

play02:39

consensus rules and I want to tell you a

play02:41

little bit about how we did it and about

play02:44

the opportunities that that opens up for

play02:47

the Bitcoin

play02:50

ecosystem okay so um as you might have

play02:54

heard on July 23rd we have um done

play02:58

something for the first time we we have

play03:00

verified the ZK proof on top of Bitcoin

play03:02

and I want to tell you about how I want

play03:04

to tell you how we did it so a ZK proof

play03:07

verification is essentially a program

play03:09

that's very very large and it's not

play03:12

really practical to run that on top of

play03:14

Bitcoin because Bitcoin script is

play03:17

extremely limited and doesn't have the

play03:19

ability to do any kind of advanced

play03:23

math and uh so u a SN verification

play03:26

program if you did write that in Bitcoin

play03:29

script would probably be about um at

play03:32

least a terabyte in size which is

play03:36

completely science fiction there's no

play03:37

way to run that on bitcoin and so what

play03:40

we did was we turned that into an

play03:42

interactive protocol that allows two or

play03:45

more parties to narrow down the program

play03:48

and

play03:49

negotiate um the smallest possible chunk

play03:52

of that program that we can actually

play03:55

turn into a Bitcoin script code and um

play03:59

we build built a very very large Tapo

play04:02

tree that includes all of these little

play04:05

chunks and so after the protocol after

play04:08

these two parties narrow down the

play04:11

program to the bit where they disagree

play04:14

on only that bit can be run as a tap rot

play04:17

leaf and in the end you get a proof that

play04:20

runs on top of Bitcoin and um either

play04:23

succeeds if the SN verification succeeds

play04:25

or fails if the SN verification fails um

play04:28

so to do that with we've built a very

play04:30

very large Depo

play04:32

tree um and um we we invented a new kind

play04:36

of virtual machine for this purpose that

play04:38

is specifically optimized for the kind

play04:41

of math that elliptic curve cryptography

play04:44

requires and uh we used that we we

play04:47

ported the snot verification code to

play04:50

that virtual machine and that allows

play04:53

allowed us to optimize the out of

play04:55

it and we uh we also thought about doing

play04:59

um representing the Merkel proofs

play05:03

representing the the state commitment as

play05:04

Merkel proofs in order to keep each

play05:07

transaction down to at most

play05:12

100K so here you can see what a

play05:15

verification actually looks like this is

play05:17

this is a real thing for mayet um so you

play05:20

have a prover and the verifier that the

play05:24

the prover initially posts the proof to

play05:27

bitcoin and then the verifier can see

play05:30

this check the proof and decide if the

play05:33

proof is correct or incorrect if the

play05:35

proof is incorrect the verifier has to

play05:37

stake some funds in order to challenge

play05:41

the the challenge the proof and then

play05:43

they uh begin the interactive protocol

play05:46

that you see um the Prov part that we

play05:50

call we call Patrick is um colorcoded

play05:53

blue and the verifier part that we call

play05:56

um Victor is color colorcoded orange

play06:01

um this this this case of the protocol

play06:04

took about 25

play06:06

steps um which was which we managed to

play06:09

get into as few as six blocks okay and

play06:13

the initial the the final step of the

play06:15

protocol that you can see here labeled

play06:18

step 26 is performed by the by the

play06:20

prover and in this case since the proof

play06:23

is correct the final transaction is

play06:27

successful the the idea behind this this

play06:30

is that since this can be quite costly

play06:32

to do um if if the prover is is correct

play06:37

and the proof is right then the Prov get

play06:40

takes the stake from the verifier and if

play06:43

the verifier is correct and the proof is

play06:44

wrong then the verifier takes a state on

play06:47

the approval which means basically that

play06:49

the dishonest party is the one paying

play06:51

all of the fees which is good and that

play06:55

that means we don't really care how

play06:56

expensive it is um the only real that we

play07:00

have is that we want all the

play07:01

transactions to be small enough that we

play07:04

can make sure they get mined quickly

play07:07

that's the that's the constraint that

play07:09

that we had in this

play07:12

case um so this is the first this is um

play07:15

the initial transaction is on block

play07:20

85326 and um you can you can copy the

play07:23

transaction ID if you want and we also

play07:25

put on GitHub um a little bit of code

play07:28

that you guys can in Clone and um use it

play07:32

to verify that the proof that we have on

play07:34

Main net is actually correct I want to

play07:36

show you um the code for a

play07:40

second because it's really very simple

play07:43

um can you read this

play07:45

yeah yeah so basically we you can you

play07:49

can download the code and you can just

play07:51

take the transaction payload from the

play07:54

actual transaction on a on um block

play07:57

Explorer copy that into this um

play08:00

repository and then you can just the the

play08:02

code as you see is is is coded as a J

play08:05

Test you can use J to run it and uh it

play08:09

uses

play08:10

sjs to verify the proof um very simple

play08:15

so that you can actually see that what

play08:17

we put on mainnet is is

play08:21

real um and this is the the final

play08:24

transaction is on block

play08:28

85326 6 2 six we have also attached an

play08:32

Nal to that block just to make it more

play08:35

fun and more interesting and um that

play08:37

ordinal will later be used to spawn new

play08:40

ones and if you want you can um you can

play08:42

join our group and um get free ordinals

play08:46

is always

play08:49

fun

play08:51

um okay so what what are the next steps

play08:54

so this this was a very very nice and

play08:57

interesting demonstration and and um but

play09:00

in order to make it the real world

play09:02

application we still have to do a few

play09:04

things few for example we have to uh to

play09:07

turn the two-party protocol into a

play09:09

multi-party protocol to so that the

play09:12

security is real world security and uh

play09:15

we're going to build real world

play09:16

applications with this technology um

play09:19

some that come come to mind is uh

play09:21

something that we called Grail which is

play09:24

the first trustless or nearly trustless

play09:27

bridge between Bitcoin and VMS and what

play09:30

I mean by trustless is that unlike most

play09:34

bridges today that rely on a

play09:36

multi- uh bridge will not rely on a

play09:39

multi6 so um it's um it enjoys the full

play09:43

security that ZK proofs can

play09:46

provide additional killer apps that we

play09:49

can build on this technology are um ZK

play09:52

rollups smart contracts um decentralized

play09:55

exchanges stable coins all of these

play09:58

great and wonderful things that exist in

play10:01

the evm world and don't exist yet on

play10:03

bitcoin and that's something that we we

play10:06

think really should

play10:07

change please please scan the QR code um

play10:11

we are hiring coders if anybody is

play10:14

interested in um helping us you can join

play10:17

our telegram group and um if you're a

play10:20

top notes coder we'll welcome you to to

play10:23

our

play10:25

team and um that's it time's up thank

play10:28

you

play10:30

good

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
BitcoinZK ProofsScalabilityPrivacySmart ContractsBlockchainInnovationLayer 2TechnologyConference