纳什协议通过对单边策略进行加密让其对手无法获知,同时质押其策略使其不能针对对手策略而进行不公平的更改。从而实现对参与多方均公平公正的博弈对局。 在纳什协议的控制流程中,也针对每一个阶段设计了经济层面+合约代码层面用来促进和维护公平公正博弈的实现方案。可以说,以纳什协议为起点,我们能看到未来的区块链生态越发丰富多彩,多种多样。

策略隐私性

commit-reveal 机制
预言机在创建时需要提交通过keccak256散列后的加密参数 commit_hash

commithash = keccak256(web3js.eth.abi.encodeParameters([‘string’, ‘uint256’, ‘uint256’], [hsetp, stg, bid])); 其中: hsetp** = web3js.utils.keccak256(timeNow + guid() + this.oracle_create_rawEntropy); 天时:timeNow 是创建的时间字符串,时间随机数 地利:guid是用户的唯一识别符一串随机数,通过设备内部生成的内部随机熵 人和:oracle_create_rawEntropy 是通过输入设备例如键盘或者鼠标采集的外部随机熵** stg:用户的策略✌,👊,✋ = 1,2,3 _ bid:用户报价

本地熵:hsetp 由以上天时、地利、人和 三部分综合组成。

  • 使得外部不可能通过计算推测出本地随机熵。
    • 获取 天时相对容易,只需要遍历创建合约即可。
    • 获取 地利相对困难,需要知道创建者设备的内存和CPU状态。
    • 获取 人和需要知道当时预言机创建人的意识+潜意识以及手部肌肉的全部状态。
  • 本地熵经过哈希散列之后得到一个标准32bytes长度的Hash字符串:hashed entropy -> hsetp

抗碰撞:不可能找到两组commit_hash 相同,但原象preimage的stg和bid不同的的加密前参数

  • 所以先手创建者不可能在后手加入者通过明文策略加入预言机之后,根据对方的策略调整自己的策略来作弊获胜。并且如果在现时时间中没有进行仲裁,后手加入者将视先手放弃而拥有终结预言机并额外获得本属于先手创建者PCO分发的$NAP代币的奖励。

不可逆:不可通过commit_hash逆向得到原象preimage的stg和bid

  • 所以先手创建者创建之后不必担心被后手加入者获取commit_hash反向获知自己的策略。

隐私性:

  • 浏览器网页中生成的commit_hash以及其preimage将通过localStorage保存到浏览器本地。浏览器本地的数据由同源策略进行安全性保障。

    同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。


博弈流程控制

基于PCO的参与性引导

PCO = Playing coin offering 博弈中代币提供

赏罚机制

  • 加入和仲裁以及终结Oracle都能获得PCO奖励
  • 正常进行报价:
    • Alice:创建
    • Bob:加入 获得80%的PCO奖励
    • Alice:仲裁 获得120%的PCO奖励
  • Alice不进行仲裁:
    • Alice:创建
    • Bob:加入 获得80%的PCO奖励
    • Bob:当Oracle超期,授权处理超时的博弈,执行Finish,按Bob获胜进行执行,并获得120%的PCO奖励

通过以上的方式,促进了博弈流程的正常进行,同时奖励遵守秩序的玩家。


智能合约仲裁机

全自动公平执行
该仲裁机执行仲裁时,完全使用双方不可篡改的链上数据,没有任何如DAO或者保险议会的人的成分。节约人力降低成本,同时又高效且没有【人】的漏洞。博弈双方完全平等,不存在人为操纵和作弊的可能性。
Gas优化
执行仲裁时通过gas回收的方式,使得仲裁执行的Gas消耗低于一次ERC20代币转账。