Bitcoin Gains Smart Contract Functionality With Zero Knowledge Contingent Payments
March 1, 2016 — Zero Knowledge Contingent Payments are have been made a reality for Bitcoin users everywhere. Core dev Gregory Maxwell and Sean Bowe, a member of the Zcash team, completed the first payment of this type on the bitcoin network a few days back, using a simple script to transfer the answer to a sudoku puzzle over the internet for bitcoin in a secure, non-reversible manner.
Zero Knowledge Brings Unique Functionality To Bitcoin
With Ethereum smart-contracts proliferating in the open source community and OpenBlockchain based development on the horizon, Bitcoin as a platform for advanced on-chain transactions has become relatively undesirable. Zero Knowledge Contingent Payments, or ZKCP, presents an interesting solution for complex automated payments and applications for the Bitcoin ecosystem. Previously, on-chain Bitcoin scripting did not allow individual informational exchange, due to the public nature of the blockchain. In addition to bootstrapping a smart-contract solution of sorts to the Bitcoin protocol, ZKCP implementations leave headroom for healthy DRM for digital information transfer by enabling protection of the information transferred by ZKCP scripts through PGP encryption.
Zero Knowledge Contingent Payments are specifically designed for the individual sale of information, bypassing the systems of the bitcoin protocol that make this problematic. It works by sending encrypted information to a party requesting it, and decrypting the information off-chain upon payment and verification that the data is actually what was requested. While Zero knowledge Contingent Payments require more user intervention than other smart contract implementations, the design emphasis on privacy (as well as offering potential for DRM based on strong encryption) is an attractive feature for people building Blockchain applications for digital distribution.
Smart contracts are an essential element in the growth of the blockchain-integrated internet and has been a problem area in Bitcoin development. ZKCP is a step forward for blockchain technology in general, as it is the first efficient, zero-knowledge method for secure digital distribution tied to the blockchain. For Bitcoin, though, it’s the first serious offering for the development of Bitcoin applications that allows for smart-contract-like functionality.
What possible utility do you think ZKCP will add to Bitcoin development past cheating at sudoku? Let us know in the comments.
Image Courtesy of Z.cash