Bitvm Commit Program scheme

Untitled

In Bitvm, to verify the correctness of the above computation, we need to construct three tap trees.

1. Challenge Taptree:

The leaves script of this tree show below.

Untitled

There are mainly two types of scripts. One is the HashLock Script, in which the verifier can reveal the preimage of the corresponding hash to challenge a certain Gate of the prover. The other is a time lock script, which allows the prover to unlock the corresponding UTXO when the verifier has not revealed the preimage of the challenged gate's hash after a certain time (equivalent to the Prover winning the challenge).

The 0x737c687538967d2f2d3d5454e19c78ca20962700 can be replaced by other values generated by hash160(preimage).

OP_HASH160 
<0x737c687538967d2f2d3d5454e19c78ca20962700>
OP_EQUALVERIFY

Hash160(0xc00ebfc3) = 0x737c687538967d2f2d3d5454e19c78ca20962700

If we want to unlock this script we need to provide the preimage for 0x737c687538967d2f2d3d5454e19c78ca20962700 .

Prover Timelock script是为了让Prover可以取出质押的UTXO当verifier超时没有提出新的要挑战的gate的时候

1.2 Response Taptree:

The leaves script of this tree show below.

The Response Taptree mainly consists of two types of scripts, the first one is "HashLock + Logic Gate Commitment" and the second one is "verifier time lock script".

Untitled

The first type of script is as follows: