Payment Protocol (voting pools)

From Open Transactions
Jump to navigation Jump to search


Services which are part of voting pools must be able to deliver a valid deposit address to their customers, and the security model of the voting pool requires that a malicious or compromised service must not be able to deliver an incorrect address to a customer (Type 1 event).

In order to meet this requirement, payment messages are embedded in OT messages and arrive at the customer’s device through the OT inbox. At this point the OT client can validate the deposit address and signatures against the voting pool contract prior to passing the request to a local Bitcoin wallet application.

The only message used out of the BIP70 protocol is the PaymentRequest/PaymentDetails message

The PaymentDetails section should contain a single P2SH output script to the appropriate deposit address.

The merchant_data field should contain the following data:

(pendingBailment Receipt hash, address identifier)

The PaymentRequest wrapper includes OT-specific values that enable the OT client to validate the deposit address as valid for the specified voting pool.

The pki_type field should be “open-transactions” The pki_data field should contain the asset contract id for the voting pool. The signature field, contains the signature of the transaction server which is processing the request.