We wrote a fraud proof system in bitcoin script using only the boolean logic gates, hashlocks, and timelocked. Then we wrote a function that does two things: first, it processes any boolean circuit (i.e. anything that a microchip can process), and second, it converts it so that our fraud proof system can falsify it if it runs incorrectly. Then we wrote a third function: it finds each logic gate in our falsifiable circuit and separates the whole thinf into individual tapleaves in a massive taproot tree, where the connections between circuits are preserved through hashlocks. Finally we made it so that each circuit *also* has a javascript equivalent.

With all of this in place, the prover can run the program in it's javascript circuit form, take the outputs, and send them to the verifier, along with the data he passed into the program. The verifier can then rerun the program, and if any logic gate gives an output different from the one the prover committee to, the verifier can demonstrate the error in the corresponding tapleaf, and take the prover's money.

Reply to this note

Please Login to reply.

Discussion

interesting

So, funds for a pegged sidechain could be held in a "wallet", like with Drivechain escrows. When the sidechain spend conditions are met, the secret is revealed to the winning side or rightful owner based on the sidechain script in the Bvm.