Published on: 2015-12-12T21:01:45+00:00
In an email conversation on the Bitcoin developers mailing list, Luke Durback proposed the idea of using Bitcoin's scripting language for voting on proposals. He suggested allowing users to "mark" their BTC as being "For Proposition X" and cancel the vote as soon as the BTC is spent again. However, finding a design that would allow this has been challenging. Durback initially thought Turing completeness was necessary for this design, but later realized it was not required.Jorge Timón responded to Durback's proposal by suggesting time-locking votes and using covenants instead of recursion or Turing completeness. Timón questioned the need for Turing completeness in these use cases and asked for more concrete examples. The conversation also touched on the idea of charging fees for complex scripts and the use cases for decentralized exchanges and paying creators through Bitcoin functions.Durback mentioned the possibility of charging a fee for frequently used complicated scripts, and he proposed a decentralized exchange between colored coins that might take a small fee on each trade. However, the need for Turing completeness in these scenarios was questioned, and Timón asked for more clarity and examples.The discussion revolved around implementing a voting system using BTC as voting shares. Durback planned to add a fee for the creator of the system, but Timón pointed out that each scriptSig is only executed once with its corresponding scriptPubKey. They also briefly discussed the idea of a decentralized exchange between colored coins, with Durback suggesting a small fee on each trade. Timón noted that turing completeness is not necessary for decentralized exchange designs.Durback expressed his intention to work on developing a system for using BTC as voting shares, which he believed would be a useful and simple example requiring loops and reused functions. He also suggested charging a fee for complex systems that are used frequently. The conversation ended with Timón asking for high-level examples of the use cases they would like to support with this system.There was also a separate discussion about adding opcodes to make Script Turing Pseudo-Complete, as suggested by Wright. The proposal included adding a return stack and several new opcodes to allow for the creation of new functions, marking transactions as valid, debiting calling transactions, creating new transactions, and more. However, another member of the mailing list responded that there is no need for a BIP draft and suggested using a normal computer language with preferred algorithm libraries and development tools instead.Overall, the conversation focused on the feasibility of using Bitcoin's scripting language for voting on proposals, the potential for charging fees for complex scripts, and the use cases for decentralized exchanges and paying creators through Bitcoin functions.
Updated on: 2023-08-01T17:06:26.040598+00:00