The protocol outlined describes a method for creating private, lossless prediction markets on the blockchain using smart contracts. Two parties can enter a bet and stake equal amounts with the contract. The protocol then deposits the total staked amount with Compound, receiving cTokens in return. After the outcome of the bet is determined (in this example, the price of ETH in USD), the cTokens are redeemed from Compound. The original staked amounts are returned to the two parties, with the winner also receiving the interest earned as a prize.
The protocol includes two main functions: initiateDeal, which is used to create a new bet, and joinDeal, which is used to join an existing bet. Once these functions are called, the protocol automatically handles the rest of the process, including depositing funds in Compound, setting a timer, checking price feeds, redeeming cTokens, and distributing the staked amounts and prize.