
适用范围:分析技术机制
区块链棋牌案例涉及哪些技术概念,可以围绕规则由谁执行、随机结果如何产生、外部信息怎样进入链上,以及谁有权修改配置来理解。以下讨论通用机制,适用于分析采用智能合约或链上随机服务的棋牌应用,不代表某个具体项目已经实现这些功能。
智能合约、账户与状态
以太坊智能合约文档将合约解释为部署在特定地址上的程序,包含代码和状态,用户通过交易调用其功能。部署与执行涉及链上计算费用,合约也可以调用其他合约。

对应棋牌场景,代码可以表达允许执行的动作,状态可以记录对局所处阶段。分析案例时,应关注哪些规则实际由合约检查,哪些仍由服务器处理。只有合约覆盖的规则,才能讨论其链上执行效果。

可验证随机数与公平边界
Chainlink VRF文档介绍了随机值与密码学证明配套生成、证明在链上验证的机制。它为应用提供可核验的随机输入,但安全性仍有前提,不能理解为任何条件下都无法受影响。
在涉及洗牌或随机分配的设计中,随机输入只是一个环节。还需要检查输入如何转换为牌序、是否允许重新请求,以及结果如何被采用。这些属于应用规则,不能仅凭接入随机服务就认定已得到保障。
预言机与链上链下分工
以太坊文档指出,合约无法自行获取链外事件信息,预言机用于将外部数据提供给合约。多签则通过要求多个有效签名来控制特定操作。
因此,若案例中的对局结果来自链下系统,需要辨明合约验证的是结果本身,还是提交者的权限。多签可以分散管理权,但不能自动证明提交的对局结果正确。
常见问题与判断条件
随机数可验证,是否意味着手牌保密?两者处理不同问题:随机证明用于核验随机值的生成,手牌保密还需要独立的设计,不能由随机证明直接推出。
所有操作都适合上链吗?判断时需要考虑交互频率、计算费用和对局流程。案例应明确链上负责哪些检查,以及链下部分依赖哪些参与方。
怎样理解“公平可验证”?应把它拆成可核查的问题:规则是否公开明确,随机输入是否可验证,结果是否按规则产生,管理权限能否改变流程。对其中一项的证明,不能替代对其他环节的检查。