假设我正在设计一个多人游戏,玩家可以在不同的战斗中互相战斗。在每次战斗中,玩家都会得到一个标点符号。假设我用的是侧链。哪一种应该是分散游戏的财产方式?
( a)战斗是在服务器中计算的,只有每个玩家的最后标点符号存储在sidechain的智能契约中。
( b)战斗是在智能契约中计算的,而游戏参数中的所有其他变化也是在智能契约( sidechain)中计算的。
最后,按照等离子体协议,我将压缩后的数据持久化到,并具有一定的规律性。
发布于 2018-10-10 03:14:47
战斗是在服务器中计算的,只有最后的结果存储在智能契约中。;-)
使用聪明的合同来记录那些肯定是不可否认的事实。这可以归结为以下几点:
权威服务器(Oracle)宣布Alice在第n场比赛中以x比y的分数击败Bob,从而使Alice获得了一些东西(例如积分或托管基金)。
您可能希望将合同的范围扩展到游戏本身,例如,创建一个可证明是公平的博彩游戏。“战斗”听起来是计算机-强烈的,这是不太适合确认在一个区块链的风格。这听起来也有点主观。由于这些原因,我倾向于将游戏留给服务器集群。
进一步扩展这一想法,必须超出声誉的事实包括玩家可能会随身携带的可挥霍的标记,即离开游戏并花在其他地方。这是不可能的私人连锁,但它将工作在主干网。如果标记收益不是目标,您可能会发现在记分过程中添加区块链会使事情变得非常复杂,而没有价值的目的。
希望能帮上忙。
发布于 2018-10-10 03:31:45
我尝试添加一个一般的考虑:什么时候用块链写有用,什么时候在离链服务器上解决本地问题是有用的?
答案很简单:每次你阐述的结果都有很大的经济价值,可能会被某人未来的行为收回和/或抵消或破坏,你应该明确地使用区块链。
同样,如果它们应该成为今后进一步高价值阐述的起点。
相反,如果您的事务现在在这里关闭,不能被恢复、取消或损坏,您仍然可以评估是否使用区块链,如果您可能需要对将来因任何真实原因而被检查的过程保持一定的跟踪。
如果没有,立即离开链子。
在你的游戏中,如果你在最后的结果中总结出所有游戏动作的效果,而单个动作的真正经济价值可以忽略不计,你就可以脱离链子。
另一方面,如果游戏结果的价值可能是巨大的,它可能是有用的,能够向他们展示所有的单一行动,使游戏的结果,以取消最终的要求。
因此,它必须对单个情况进行评估,不存在任何“是/否”自动规则!
当然,这也适用于您计划压缩并发送到块链的数据。
https://ethereum.stackexchange.com/questions/60288
复制相似问题