Merkleize All The Things



Summary:

The email thread is discussing the bisection protocol and its role in resolving disputes between two parties in a trustless manner without revealing all intermediate steps. The protocol uses a Merkle tree to commit to intermediate states and computations, with each leaf representing a valid transition in a finite state machine.If there is a disagreement, the parties reveal their respective computation traces and execute the bisection protocol to determine the point of divergence. The final step involves a simple "n => n + n" computation, which can be verified by Script. The protocol has implications for scalability as it does not result in larger witness sizes except in case of a challenge.The email also provides an example of a simpler protocol that includes a fraud proof. In a discussion about smart contracts using MATT (or Merkleized Abstract Syntax Trees) covenants, Salvatore explains the role of bisection protocol. The bisection protocol is used to create an initial covenant before specific values are chosen and committed to.While each leaf in the protocol is performing the same operation of doubling a number, it is known that complex computations can be broken down into simple elementary functions such as NAND gates. This information clarifies the purpose and importance of the bisection protocol in smart contracts utilizing MATT covenants.


Updated on: 2023-06-16T03:03:05.972440+00:00