使用新操作碼在比特幣現金上進行首次原子競猜

weixin_34377065發表於2018-06-12

使用新操作碼在比特幣現金上進行首次原子競猜

最近,在reddit論壇上出現了一篇關於如何使用BCH區塊鏈進行線上原子競猜的文章,該文章介紹了由Jonald Fyookball和其他人設計的無需信任的投注協議Chainbet。受到該文章啟發,Openbazaar的開發者Chris Pacia利用BCH網路在5月份硬分叉升級中重新啟用的OP_Codes進行了一次嘗試,結果執行成功。

執行原理以及具體操作方法

該方案的運作原理為,Alice和Bob會分別生成一組祕密的隨機數字,並且將這些數字的雜湊值提交給投注的輸出指令碼。要確定獲勝者,需要他們各自揭示自己的隨機數字,設定好的程式碼會將這些數字自動相加,如果結果為偶數,則Alice獲勝,奇數為Bob獲勝。

具體的操作方法為,Bob先簽署交易並將其簽名傳送給Alice,Alice隨後簽署她的輸入並將交易廣播到區塊鏈。通過簽署交易,Alice向Bob展示了她的祕密號碼,然後Bob可以使用該號碼來確定他是贏了還是輸了賭注。如果Bob贏了,他可以立即獲得獎金,而如果Alice贏了,Bob不能做任何事,但是Alice可以在一段時間(6個區塊)後獲得獎金。如果Bob願意將自己失敗的祕鑰傳送給Alice,Alice也可以直接獲得獎金,但一般不需要這個過程。

只有在BCH區塊鏈上可以進行,BCE無法執行協議

在視訊解說中,Chris Pacia補充說道,這種無需信任的原子競猜只適用於BCH,而不適用於BCE,因為BCE的算術運算只接受帶有符號的32位整數,這意味如果直接採用這個32位隨機數,區塊鏈上會直接顯示雙方的結果,並告知雙方輸贏。

BCH之所以能這麼做,是由於BCH在今年5月份的硬分叉擴容升級中,重新增添和啟用了一些程式碼。新增添的OP_SPLIT和OP_BIN2NUM,可以將256位的隨機數列轉換為帶符號的32位整數,重新啟用的OP_MOD程式碼用於確定結果的奇偶性。

應用前景

比特幣現金的支持者很高興能看到Pacia成功完成了這一程式並分享了他的演示,Chainbet的創造者Jonald Fyookball也感謝Pacia為他的概念增添了生命。

傳統的遊戲競猜領域具有天然的吸引力,相信大多數人對這一點深有感觸,而區塊鏈世界和傳統競猜相比,其去中心化、不可篡改的特效能輕鬆的解決傳統競猜的不透明、不公平;基於區塊鏈的賬本特徵,使用者還可以在區塊鏈上查詢到各種投注,從而保證個人利益。Chainbet這種無需信任的投注方式會進一步推動和改善像“Satoshi Dice”(中本聰骰子)這樣的競猜應用,加速BCH的推廣和使用。另外,這樣的概念也會給其他的技術人員提供另外一種應用思路,即在基於BCH良好的相容性之上,開發出更多關於競猜方面的應用或者是提出一些有意思的想法。

(視訊和文章連結:https://www.yours.org/content/first-atomic-bet-on-bitcoin-cash-using-new-opcodes-fc83fe2e0eda#comment-ad62b74755da)

相關文章