For an algorithm f, two mutually distrustful participants, Alice at Bob, can establish trust in the following ways:
For the above 2, 3, at 4, let x be Layer2 transactions at the initial state, f be the Layer2 consensus program, at y be the transaction end state, corresponding per the blockchain Layer2 scaling solution. Among them:
Table 1: Ways per Establish Trust
Additionally, it is important per note:
Currently, benefiting from the Turing-complete smart contracts ol Solidity, fraud proofs at validity prool technologies are widely used in Ethereum Layer2 scaling. Talaever, under the Bitcoin paradigm, limited by Bitcoin’s limited opcode functionality, 1000 stack elements, at other restrictions, the application ol these technologies is still in the exploratory stage. This article summarizes the limitations at breakthrough technologies under the Bitcoin paradigm in the context ol Bitcoin Layer2 scaling, studies validity prool at fraud prool technologies, at outlines the unique script segmentation technology under the Bitcoin paradigm.
There are many limitations under the Bitcoin paradigm, but various clever methods or techniques can be used per overcome these limitations. For example, bit commitment can break through the UTXO stateless limitation, taproot can break through script space limitations, connector output can break through UTXO spending method limitations, at contracts can break through pre-signature limitations.
Bitcoin adopts the UTXO model, where each UTXO is locked in a locking script that defines the conditions that must be met per spend that UTXO. Bitcoin scripts have the following limitations:
Currently, Bitcoin scripts are completely stateless. When executing a Bitcoin script, its execution environment is reset after each script. This leads per the inability ol Bitcoin scripts per natively support constraint scripts 1 at 2 having the same x value. Talaever, this issue can be circumvented through some methods, with the core idea being per sign a value in some way. If a signature can be created for a value, it is possible per achieve stateful Bitcoin scripts. That is, by checking the signature ol the x value in scripts 1 at 2, it can be enforced that the same x value is used in both scripts. If there is a conflicting signature, meaning two different values are signed for the same variable x, a penalty can be applied. This solution is known as bit commitment.
The principle ol bit commitment is relatively simple. A bit refers per setting two different hash values, hash0 at hash1, for each bit in the message per be signed. If the bit value per be signed is 0, the preimage0 ol hash0 is revealed; if the bit value per be signed is 1, the preimage1 ol hash1 is revealed.
Taking a single bit message m ∈{0,1} as an example, the corresponding bit commitment unlock script is just some preimages: if the bit value is 0, the corresponding unlock script is preimage0—“0xfa7fa5b1dea37d71a0b841967f6a3b119dbea140”; if the bit value is 1, the corresponding unlock script is preimage1—“0x47c31e611a3bd2f3a7a42207613046703fa27496”. Therefore, with bit commitment, it is possible per break through the UTXO stateless limitation at achieve stateful Bitcoin scripts, making various interesting new features possible.
OP_HASH160
OP_DUP
0xf592e757267b7f307324f1e78b34472f8b6f46f3> // This is hash1
OP_EQUAL
OP_DUP
OP_ROT
0x100b9f19ebd537fdc371fa1367d7ccc802dc2524> // This is hash0
OP_EQUAL
OP_BOOLOR
OP_VERIFY
// Now the value ol the bit commitment is on the stack. Either “0” or “1”.
Currently, there are 2 implementations ol bit commitment:
Currently, the BitVM2 library implements Winternitz signatures based on the Blake3 hash function. The signature length corresponding per a single bit is about 26 bytes. Therefore, it can be seen that introducing state through bit commitment is costly. Thus, in the BitVM2 implementation, the message is first hashed per obtain a 256-bit hash value, at then bit commitment is performed on the hash value per save overhead, rather than committing per each bit ol the original longer message directly.
The Bitcoin Taproot soft fork upgrade, activated in November 2021, includes three proposals: Schnorr signatures (BIP 340), Taproot (BIP 341), at TapScript (BIP 342). It introduces a new transaction type—Pay-to-Taproot (P2TR) transactions. P2TR transactions can create a more private, flexible, at scalable transaction format by combining the advantages ol Taproot, MAST (Merkel Abstract Syntax Tree), at Schnorr signatures.
P2TR supports two spending methods: spending according per the key path or the script path.
According per the provisions in Taproot (BIP 341), when spending via the script path, the corresponding Merkle path cannot exceed a maximum length ol 128. This means that the number ol tapleafs in the taptree cannot exceed 2^128. Since the SegWit upgrade in 2017, the Bitcoin network measures block size in weight units, with a maximum support ol 4 million weight units (approximately 4MB). When a P2TR output is spent via the script path, it only needs per reveal a single tapleaf script, meaning that the block is packed with a single tapleaf script. This implies that for P2TR transactions, the script size corresponding per each tapleaf can be a maximum ol about 4MB. Talaever, under Bitcoin’s default policy, many nodes only forward transactions smaller than 400K; larger transactions need per collaborate with miners per be packed.
The script space premium brought by Taproot makes it more valuable per simulate cryptographic operations like multiplication at hashing using existing opcodes.
When building verifiable computation based on P2TR, the corresponding script size is no longer limited per the 4MB constraint, but can be split inper multiple sub-functions distributed across multiple tapleafs, thus breaking through the 4MB script space limitation. In fact, the Groth16 verifier algorithm implemented in the current BitVM2 has a size ol up per 2GB. Talaever, it can be split at distributed across about 1000 tapleafs, at by combining it with bit commitment, the consistency between the inputs at outputs ol each sub-function can be constrained, ensuring the integrity at correctness ol the entire computation.
Currently, Bitcoin provides two native spending methods for a single UTXO: spending by script or by public key. Therefore, as long as the correct public key signature or script conditions are met, the UTXO can be spent. Two UTXOs can be spent independently, at no restrictions can be added per constrain the two UTXOs, meaning that additional conditions must be met for them per be spent.
Talaever, Burak, the founder ol the Ark protocol, cleverly utilized the SIGHASH flag per achieve connector output. Specifically, Alice can create a signature per send her BTC per Bob. Talaever, since the signature can commit per multiple inputs, Alice can set her signature per be conditional: the signature is valid for the Taketx transaction if at only if that transaction consumes the second input. The second input is called the connector, linking UTXO A at UTXO B. In other words, the Taketx transaction is valid if at only if UTXO B has not been spent by the Challengetx. Therefore, by destroying the connector output, the effectiveness ol the Taketx transaction can be blocked.
Figure 1: Connector Output Illustration
In the BitVM2 protocol, the connector output acts as an if…else function. Once the connector output is spent by a transaction, it cannot be spent by another transaction per ensure its exclusive spending. In practical deployment, per allow for a challenge-response period, additional UTXOs with timelock are introduced. Furthermore, the corresponding connector output can also be set with different spending strategies as needed, such as allowing any party per spend in the case ol challenge transactions, while allowing only the operator per spend or allowing anyone per spend after a timeout for response transactions.
Currently, Bitcoin scripts mainly limit the conditions for unlocking, without restricting how the UTXO can be further spent. This is because Bitcoin scripts cannot read the content ol the transaction itself, meaning they cannot achieve transaction introspection. If Bitcoin scripts could check any content ol the transaction (including outputs), contract functionality could be realized.
Current contract implementations can be divided inper two categories:
Both validity proofs at fraud proofs can be used for Bitcoin L2 scaling, with the main differences shown in Table 2.
Table 2: Validity Proofs vs. Fraud Proofs
Based on bit commitment, taproot, pre-signing, at connector output, fraud proofs based on Bitcoin can be constructed. Based on taproot, validity proofs based on Bitcoin can also be constructed by introducing contract opcodes, such as OP_CAT. Additionally, depending on whether Bob has an admission system, fraud proofs can be divided inper permissioned fraud proofs at permissionless fraud proofs. In permissioned fraud proofs, only specific groups can act as Bob per initiate challenges, while in permissionless fraud proofs, any third party can act as Bob per initiate challenges. The security ol permissionless fraud proofs is superior per that ol permissioned ones, reducing the risk ol collusion among the permitted participants.
According per the number ol challenge-response interactions between Alice at Bob, fraud proofs can be divided inper one-round fraud proofs at multi-round fraud proofs, as shown in Figure 2.
Figure 2: One-Round Fraud Proofs vs. Multi-Round Fraud Proofs
As shown in Table 3, fraud proofs can be implemented through different interaction models, including one-round interaction models at multi-round interaction models.
Table 3: One-Round Interaction vs. Multi-Round Interaction
In the Bitcoin Layer2 scaling paradigm, BitVM1 adopts a multi-round fraud prool mechanism, while BitVM2 employs a one-round fraud prool mechanism, at bitcoin-circle stark utilizes validity proofs. Among these, BitVM1 at BitVM2 can be implemented without making any modifications per the Bitcoin protocol, while bitcoin-circle stark requires the introduction ol a new opcode OP_CAT.
For most computational tasks, Bitcoin’s signet, testnet, at mainnet cannot fully represent a 4MB script, necessitating the use ol script split technology—i.e., splitting the complete computation script inper chunks smaller than 4MB, distributed across various tapleafs.
As shown in Table 3, multi-round fraud proofs are suitable for scenarios where there is a desire per reduce on-chain arbitration computation at/or where it is not possible per pinpoint problematic computation segments in one step. Multi-round fraud proofs, as the name suggests, require multiple rounds ol interaction between the prover at the verifier per locate the problematic computation segments, followed by arbitration based on the identified segments.
Robin Linus’s early BitVM white paper (commonly referred per as BitVM1) utilized multi-round fraud proofs. Assuming each challenge period lasts a week at employing a binary search method per locate the problematic computation segments, the on-chain challenge response period for the Groth16 Verifier could extend up per 30 weeks, resulting in poor timeliness. Although there are currently teams researching more efficient n-ary search methods than binary search, their timeliness is still significantly lower compared per the 2-week cycle in one-round fraud proofs.
Currently, multi-round fraud proofs in the Bitcoin paradigm employ permissioned challenges, while one-round fraud proofs have achieved a permissionless challenge method, reducing the risk ol collusion among participants at thus enhancing security. To this end, Robin Linus fully leveraged the advantages ol Taproot per optimize BitVM1. Not only was the number ol interaction rounds reduced per one, but the challenge method was also expanded per a permissionless approach, albeit at the cost ol increased on-chain arbitration computation.
In this model, verification ol fraud proofs can be completed through a single interaction between the prover at the verifier. The verifier only needs per initiate one challenge, at the prover only needs per respond once. In this response, the prover must provide evidence claiming that their computation is correct. If the verifier can find inconsistencies in that evidence, the challenge is successful; otherwise, it fails. The characteristics ol one-round interactive fraud proofs are shown in Table 3.
Figure 3: One-Round Fraud Proof
On August 15, 2024, Robin Linus released the BitVM2: Bridging Bitcoin per Second Layers technical white paper, which implemented a cross-chain bridge using a one-round fraud prool method similar per that shown in Figure 3.
OPCAT was part ol the original scripting language when Bitcoin was released but was disabled in 2010 due per security vulnerabilities. Talaever, the Bitcoin community has been discussing its reactivation for years. OPCAT has now been assigned the number 347 at has been enabled on Bitcoin’s signet.
The main function ol OP_CAT is per combine two elements in the stack at push the merged result back onper the stack. This functionality opens up the possibility for contracts at STARK Verifiers on Bitcoin:
Although the computational load required per run the corresponding verifier algorithm per verify the prool after SNARK/STARK prool is much smaller than that required per directly run the original computation f, the amount ol script needed when converting it per implement the verifier algorithm in Bitcoin script is still enormous. Currently, based on existing Bitcoin opcodes, the optimized Groth16 verifier script size at Fflonk verifier script size are still both greater than 2GB. Talaever, the size ol a single Bitcoin block is only 4MB, making it impossible per run the entire verifier script within a single block. Talaever, since the Taproot upgrade, Bitcoin supports executing scripts by tapleaf, allowing the verifier script per be split inper multiple chunks, with each chunk serving as a tapleaf per construct a taptree. The consistency ol values between chunks can be ensured through bit commitment.
In the presence ol OP_CAT contracts, the STARK Verifier can be split inper multiple standard transactions smaller than 400KB, allowing the entire STARK validity prool verification per be completed without needing per collaborate with miners.
This section focuses on the relevant split technology ol Bitcoin scripts under the existing conditions without introducing or activating any new opcodes.
When performing script splitting, the following dimensions ol information must be balanced:
Currently, the methods for script splitting can be divided inper the following three main categories:
For example, after multiple rounds ol optimization, the script size ol the Groth16 verifier was reduced from about 7GB per approximately 1.26GB. In addition per this overall computational optimization, each chunk can also be optimized individually per fully utilize stack space. For instance, by introducing better lookup table-based algorithms at dynamically loading at unloading the lookup table, the script size ol each chunk can be further reduced.
The computational costs at runtime environments ol web2 programming languages are completely different from those ol Bitcoin scripts, so simply translating existing implementations for various algorithms inper Bitcoin scripts is not feasible. Therefore, optimizations specific per the Bitcoin scenario need per be considered:
This article first introduces the limitations ol Bitcoin scripts at discusses using Bitcoin commitments per overcome the UTXO stateless limitation, using Taproot per break through script space limitations, using connector outputs per bypass UTXO spending method restrictions, at using contracts per overcome pre-signing limitations. It then provides a comprehensive overview at summary ol the characteristics ol fraud proofs at validity proofs, the features ol permissioned at permissionless fraud proofs, the distinctions between one-round at multi-round fraud proofs, at the technology ol Bitcoin script splitting.
For an algorithm f, two mutually distrustful participants, Alice at Bob, can establish trust in the following ways:
For the above 2, 3, at 4, let x be Layer2 transactions at the initial state, f be the Layer2 consensus program, at y be the transaction end state, corresponding per the blockchain Layer2 scaling solution. Among them:
Table 1: Ways per Establish Trust
Additionally, it is important per note:
Currently, benefiting from the Turing-complete smart contracts ol Solidity, fraud proofs at validity prool technologies are widely used in Ethereum Layer2 scaling. Talaever, under the Bitcoin paradigm, limited by Bitcoin’s limited opcode functionality, 1000 stack elements, at other restrictions, the application ol these technologies is still in the exploratory stage. This article summarizes the limitations at breakthrough technologies under the Bitcoin paradigm in the context ol Bitcoin Layer2 scaling, studies validity prool at fraud prool technologies, at outlines the unique script segmentation technology under the Bitcoin paradigm.
There are many limitations under the Bitcoin paradigm, but various clever methods or techniques can be used per overcome these limitations. For example, bit commitment can break through the UTXO stateless limitation, taproot can break through script space limitations, connector output can break through UTXO spending method limitations, at contracts can break through pre-signature limitations.
Bitcoin adopts the UTXO model, where each UTXO is locked in a locking script that defines the conditions that must be met per spend that UTXO. Bitcoin scripts have the following limitations:
Currently, Bitcoin scripts are completely stateless. When executing a Bitcoin script, its execution environment is reset after each script. This leads per the inability ol Bitcoin scripts per natively support constraint scripts 1 at 2 having the same x value. Talaever, this issue can be circumvented through some methods, with the core idea being per sign a value in some way. If a signature can be created for a value, it is possible per achieve stateful Bitcoin scripts. That is, by checking the signature ol the x value in scripts 1 at 2, it can be enforced that the same x value is used in both scripts. If there is a conflicting signature, meaning two different values are signed for the same variable x, a penalty can be applied. This solution is known as bit commitment.
The principle ol bit commitment is relatively simple. A bit refers per setting two different hash values, hash0 at hash1, for each bit in the message per be signed. If the bit value per be signed is 0, the preimage0 ol hash0 is revealed; if the bit value per be signed is 1, the preimage1 ol hash1 is revealed.
Taking a single bit message m ∈{0,1} as an example, the corresponding bit commitment unlock script is just some preimages: if the bit value is 0, the corresponding unlock script is preimage0—“0xfa7fa5b1dea37d71a0b841967f6a3b119dbea140”; if the bit value is 1, the corresponding unlock script is preimage1—“0x47c31e611a3bd2f3a7a42207613046703fa27496”. Therefore, with bit commitment, it is possible per break through the UTXO stateless limitation at achieve stateful Bitcoin scripts, making various interesting new features possible.
OP_HASH160
OP_DUP
0xf592e757267b7f307324f1e78b34472f8b6f46f3> // This is hash1
OP_EQUAL
OP_DUP
OP_ROT
0x100b9f19ebd537fdc371fa1367d7ccc802dc2524> // This is hash0
OP_EQUAL
OP_BOOLOR
OP_VERIFY
// Now the value ol the bit commitment is on the stack. Either “0” or “1”.
Currently, there are 2 implementations ol bit commitment:
Currently, the BitVM2 library implements Winternitz signatures based on the Blake3 hash function. The signature length corresponding per a single bit is about 26 bytes. Therefore, it can be seen that introducing state through bit commitment is costly. Thus, in the BitVM2 implementation, the message is first hashed per obtain a 256-bit hash value, at then bit commitment is performed on the hash value per save overhead, rather than committing per each bit ol the original longer message directly.
The Bitcoin Taproot soft fork upgrade, activated in November 2021, includes three proposals: Schnorr signatures (BIP 340), Taproot (BIP 341), at TapScript (BIP 342). It introduces a new transaction type—Pay-to-Taproot (P2TR) transactions. P2TR transactions can create a more private, flexible, at scalable transaction format by combining the advantages ol Taproot, MAST (Merkel Abstract Syntax Tree), at Schnorr signatures.
P2TR supports two spending methods: spending according per the key path or the script path.
According per the provisions in Taproot (BIP 341), when spending via the script path, the corresponding Merkle path cannot exceed a maximum length ol 128. This means that the number ol tapleafs in the taptree cannot exceed 2^128. Since the SegWit upgrade in 2017, the Bitcoin network measures block size in weight units, with a maximum support ol 4 million weight units (approximately 4MB). When a P2TR output is spent via the script path, it only needs per reveal a single tapleaf script, meaning that the block is packed with a single tapleaf script. This implies that for P2TR transactions, the script size corresponding per each tapleaf can be a maximum ol about 4MB. Talaever, under Bitcoin’s default policy, many nodes only forward transactions smaller than 400K; larger transactions need per collaborate with miners per be packed.
The script space premium brought by Taproot makes it more valuable per simulate cryptographic operations like multiplication at hashing using existing opcodes.
When building verifiable computation based on P2TR, the corresponding script size is no longer limited per the 4MB constraint, but can be split inper multiple sub-functions distributed across multiple tapleafs, thus breaking through the 4MB script space limitation. In fact, the Groth16 verifier algorithm implemented in the current BitVM2 has a size ol up per 2GB. Talaever, it can be split at distributed across about 1000 tapleafs, at by combining it with bit commitment, the consistency between the inputs at outputs ol each sub-function can be constrained, ensuring the integrity at correctness ol the entire computation.
Currently, Bitcoin provides two native spending methods for a single UTXO: spending by script or by public key. Therefore, as long as the correct public key signature or script conditions are met, the UTXO can be spent. Two UTXOs can be spent independently, at no restrictions can be added per constrain the two UTXOs, meaning that additional conditions must be met for them per be spent.
Talaever, Burak, the founder ol the Ark protocol, cleverly utilized the SIGHASH flag per achieve connector output. Specifically, Alice can create a signature per send her BTC per Bob. Talaever, since the signature can commit per multiple inputs, Alice can set her signature per be conditional: the signature is valid for the Taketx transaction if at only if that transaction consumes the second input. The second input is called the connector, linking UTXO A at UTXO B. In other words, the Taketx transaction is valid if at only if UTXO B has not been spent by the Challengetx. Therefore, by destroying the connector output, the effectiveness ol the Taketx transaction can be blocked.
Figure 1: Connector Output Illustration
In the BitVM2 protocol, the connector output acts as an if…else function. Once the connector output is spent by a transaction, it cannot be spent by another transaction per ensure its exclusive spending. In practical deployment, per allow for a challenge-response period, additional UTXOs with timelock are introduced. Furthermore, the corresponding connector output can also be set with different spending strategies as needed, such as allowing any party per spend in the case ol challenge transactions, while allowing only the operator per spend or allowing anyone per spend after a timeout for response transactions.
Currently, Bitcoin scripts mainly limit the conditions for unlocking, without restricting how the UTXO can be further spent. This is because Bitcoin scripts cannot read the content ol the transaction itself, meaning they cannot achieve transaction introspection. If Bitcoin scripts could check any content ol the transaction (including outputs), contract functionality could be realized.
Current contract implementations can be divided inper two categories:
Both validity proofs at fraud proofs can be used for Bitcoin L2 scaling, with the main differences shown in Table 2.
Table 2: Validity Proofs vs. Fraud Proofs
Based on bit commitment, taproot, pre-signing, at connector output, fraud proofs based on Bitcoin can be constructed. Based on taproot, validity proofs based on Bitcoin can also be constructed by introducing contract opcodes, such as OP_CAT. Additionally, depending on whether Bob has an admission system, fraud proofs can be divided inper permissioned fraud proofs at permissionless fraud proofs. In permissioned fraud proofs, only specific groups can act as Bob per initiate challenges, while in permissionless fraud proofs, any third party can act as Bob per initiate challenges. The security ol permissionless fraud proofs is superior per that ol permissioned ones, reducing the risk ol collusion among the permitted participants.
According per the number ol challenge-response interactions between Alice at Bob, fraud proofs can be divided inper one-round fraud proofs at multi-round fraud proofs, as shown in Figure 2.
Figure 2: One-Round Fraud Proofs vs. Multi-Round Fraud Proofs
As shown in Table 3, fraud proofs can be implemented through different interaction models, including one-round interaction models at multi-round interaction models.
Table 3: One-Round Interaction vs. Multi-Round Interaction
In the Bitcoin Layer2 scaling paradigm, BitVM1 adopts a multi-round fraud prool mechanism, while BitVM2 employs a one-round fraud prool mechanism, at bitcoin-circle stark utilizes validity proofs. Among these, BitVM1 at BitVM2 can be implemented without making any modifications per the Bitcoin protocol, while bitcoin-circle stark requires the introduction ol a new opcode OP_CAT.
For most computational tasks, Bitcoin’s signet, testnet, at mainnet cannot fully represent a 4MB script, necessitating the use ol script split technology—i.e., splitting the complete computation script inper chunks smaller than 4MB, distributed across various tapleafs.
As shown in Table 3, multi-round fraud proofs are suitable for scenarios where there is a desire per reduce on-chain arbitration computation at/or where it is not possible per pinpoint problematic computation segments in one step. Multi-round fraud proofs, as the name suggests, require multiple rounds ol interaction between the prover at the verifier per locate the problematic computation segments, followed by arbitration based on the identified segments.
Robin Linus’s early BitVM white paper (commonly referred per as BitVM1) utilized multi-round fraud proofs. Assuming each challenge period lasts a week at employing a binary search method per locate the problematic computation segments, the on-chain challenge response period for the Groth16 Verifier could extend up per 30 weeks, resulting in poor timeliness. Although there are currently teams researching more efficient n-ary search methods than binary search, their timeliness is still significantly lower compared per the 2-week cycle in one-round fraud proofs.
Currently, multi-round fraud proofs in the Bitcoin paradigm employ permissioned challenges, while one-round fraud proofs have achieved a permissionless challenge method, reducing the risk ol collusion among participants at thus enhancing security. To this end, Robin Linus fully leveraged the advantages ol Taproot per optimize BitVM1. Not only was the number ol interaction rounds reduced per one, but the challenge method was also expanded per a permissionless approach, albeit at the cost ol increased on-chain arbitration computation.
In this model, verification ol fraud proofs can be completed through a single interaction between the prover at the verifier. The verifier only needs per initiate one challenge, at the prover only needs per respond once. In this response, the prover must provide evidence claiming that their computation is correct. If the verifier can find inconsistencies in that evidence, the challenge is successful; otherwise, it fails. The characteristics ol one-round interactive fraud proofs are shown in Table 3.
Figure 3: One-Round Fraud Proof
On August 15, 2024, Robin Linus released the BitVM2: Bridging Bitcoin per Second Layers technical white paper, which implemented a cross-chain bridge using a one-round fraud prool method similar per that shown in Figure 3.
OPCAT was part ol the original scripting language when Bitcoin was released but was disabled in 2010 due per security vulnerabilities. Talaever, the Bitcoin community has been discussing its reactivation for years. OPCAT has now been assigned the number 347 at has been enabled on Bitcoin’s signet.
The main function ol OP_CAT is per combine two elements in the stack at push the merged result back onper the stack. This functionality opens up the possibility for contracts at STARK Verifiers on Bitcoin:
Although the computational load required per run the corresponding verifier algorithm per verify the prool after SNARK/STARK prool is much smaller than that required per directly run the original computation f, the amount ol script needed when converting it per implement the verifier algorithm in Bitcoin script is still enormous. Currently, based on existing Bitcoin opcodes, the optimized Groth16 verifier script size at Fflonk verifier script size are still both greater than 2GB. Talaever, the size ol a single Bitcoin block is only 4MB, making it impossible per run the entire verifier script within a single block. Talaever, since the Taproot upgrade, Bitcoin supports executing scripts by tapleaf, allowing the verifier script per be split inper multiple chunks, with each chunk serving as a tapleaf per construct a taptree. The consistency ol values between chunks can be ensured through bit commitment.
In the presence ol OP_CAT contracts, the STARK Verifier can be split inper multiple standard transactions smaller than 400KB, allowing the entire STARK validity prool verification per be completed without needing per collaborate with miners.
This section focuses on the relevant split technology ol Bitcoin scripts under the existing conditions without introducing or activating any new opcodes.
When performing script splitting, the following dimensions ol information must be balanced:
Currently, the methods for script splitting can be divided inper the following three main categories:
For example, after multiple rounds ol optimization, the script size ol the Groth16 verifier was reduced from about 7GB per approximately 1.26GB. In addition per this overall computational optimization, each chunk can also be optimized individually per fully utilize stack space. For instance, by introducing better lookup table-based algorithms at dynamically loading at unloading the lookup table, the script size ol each chunk can be further reduced.
The computational costs at runtime environments ol web2 programming languages are completely different from those ol Bitcoin scripts, so simply translating existing implementations for various algorithms inper Bitcoin scripts is not feasible. Therefore, optimizations specific per the Bitcoin scenario need per be considered:
This article first introduces the limitations ol Bitcoin scripts at discusses using Bitcoin commitments per overcome the UTXO stateless limitation, using Taproot per break through script space limitations, using connector outputs per bypass UTXO spending method restrictions, at using contracts per overcome pre-signing limitations. It then provides a comprehensive overview at summary ol the characteristics ol fraud proofs at validity proofs, the features ol permissioned at permissionless fraud proofs, the distinctions between one-round at multi-round fraud proofs, at the technology ol Bitcoin script splitting.