{"version":"https://jsonfeed.org/version/1.1","title":"苏迟但到的主页","home_page_url":"https://kexohproject.pages.dev","feed_url":"https://kexohproject.pages.dev/json/","description":"<p>你好，欢迎访问个人主页！</p><p>擅长密码学，安全分析，数字水印等技术。</p><p>你可以联系我通过:findmykexin@gmail.com或者知乎私信。</p><p>我的知乎链接：<a href=\"https://www.zhihu.com/people/su-chi-dan-dao\" rel=\"noopener noreferrer\" target=\"_blank\">苏迟但到 - 知乎 (zhihu.com)</a></p><p>我的github链接：<a href=\"https://github.com/kexinoh\" rel=\"noopener noreferrer\" target=\"_blank\">kexinoh</a></p>","icon":"https://kexohcdn.gptapi.cyou/kexohproject/production/images/channel-2e54d141ee195646ca12a9d16507a908.jpg","favicon":"https://kexohcdn.gptapi.cyou/kexohproject/production/images/favicon-340a2925d02a0386f3b954a032834917.jpg","authors":[{"name":"苏迟但到"}],"language":"zh-cn","items":[{"id":"sfxLVIvIhKk","title":"如何实现一个去中心化方案来为用户发点牌？","content_html":"<p data-pid=\"3vGYO8xb\">这个方案我已经差不多完成了，但还有几个瑕疵。</p><p data-pid=\"Dn8DnWKi\">首先我们引入一个协议叫做多方随机数协议，通过这个协议可以生成多方确认的共同随机数。</p><p data-pid=\"5uX9Mcep\">我们使用最简化的多方随机数模型作为演示，每一个用户提交nouce的hash值给对方，然后在所有人（实际中为满足需求的人数）均提交了hash(nouce)后，将nouce再公开，对nouce进行拼接运算既可以得到一个共同确认的hash值。</p><hr/><p data-pid=\"Fg5zY1HE\">第零步，所有人预付押金。---防止作弊和反复抽牌至好牌再开始游戏。</p><p data-pid=\"O4quroLq\">第一步，所有人预置13张牌（1-10JQK）--满足公平性</p><p data-pid=\"AJBywjgS\">第二步，大家自行洗牌，会改变这个数组的排列顺序，同时公开排列顺序的hash值。</p><p data-pid=\"A3CVCG81\">第三步，每一个人与其他人建立安全通道沟通。</p><p data-pid=\"qQJZCwYc\">第四步，每一个人均与其他3个人完成3次换牌协议。</p><p data-pid=\"7z0wuusA\">其中，换牌协议为双方生成的随机数，然后映射到换牌，生成一个13bits的字符串，当字符位为1的时候，意味着需要换牌，然后双方通过安全信道将自己的牌和对应编号发出去。</p><p data-pid=\"Fv13YLFa\">第五步，在第三步确认开始后等待60s，大家提交换牌协议中自己使用的随机数的hash值和接受到的随机数hash值提交。防止作弊者。如果有人这个时候还未完成三次交换协议，我们认为它需要作弊，而没收它的押金。</p><p data-pid=\"NhydhI-w\">发牌协议至此结束。</p><hr/><p data-pid=\"0TF_r8QQ\">在我一开始的模型中，没有60s这个限制，将自行交换，满足条件即结束，但结束的最后两个人它们的换牌协议会泄露一定的信息。</p><p data-pid=\"xNLFdDK_\">如果设置为无限次自由交换的话，将会出现富集者效应，抽中好牌的人倾向于不在与他人进行交换。</p><p data-pid=\"LGsq8JiD\">通过在一个统一时间内结束，使得它们无法知道自己是不是最后一轮交换，来保证信息的安全性。</p><p data-pid=\"4e8Rd7Bd\">在最后开始游戏之前，统一提交数据，可以防止作弊者尝试纂改手中的牌，因为复盘的时候可以计算出来他手中应有的牌。如果他同样纂改自己的随机数hash,在除最后一轮之外的改变，会放大至影响3个人，使得被发现。</p><p data-pid=\"mFWj3gzE\">当他没有能力窃取到对方手中的牌的数据的时候，需要自己预测对方的牌，并伪装假对方hash来使得自己强行与其换牌具有很高的风险，而如果明确知道对方手中的牌的话，我们可以认为A和B是一伙的，出现了女巫攻击问题，则不需要伪造假hash，可以自由构造自己需要的换牌计划。（因为出现不在对方中的牌的话，显然是恶意纂改）</p><hr/><p data-pid=\"llzgHULy\">瑕疵还有两点：</p><p data-pid=\"bM2t1lhR\">1.仅满足了公平性（4个等价玩家），但随机性不够，例如当4个人均不执行初始洗牌，后续换牌将不会改变手中的牌，但问题难度不高，可以通过增大熵源，来实现。</p><p data-pid=\"yXmwj3qM\">2.不能预防女巫攻击，因为这很显然当一个人同时操纵3个账户的时候，则另外一个的人胜利期望极大将降低。通过押金的方法可以一定程度缓解，但不能真正改变，不过在已有的伪区块链游戏中同样有着相应的问题。</p>","content_text":"这个方案我已经差不多完成了，但还有几个瑕疵。\n\n首先我们引入一个协议叫做多方随机数协议，通过这个协议可以生成多方确认的共同随机数。\n\n我们使用最简化的多方随机数模型作为演示，每一个用户提交nouce的hash值给对方，然后在所有人（实际中为满足需求的人数）均提交了hash(nouce)后，将nouce再公开，对nouce进行拼接运算既可以得到一个共同确认的hash值。\n\n--------------------------------------------------------------------------------\n\n第零步，所有人预付押金。---防止作弊和反复抽牌至好牌再开始游戏。\n\n第一步，所有人预置13张牌（1-10JQK）--满足公平性\n\n第二步，大家自行洗牌，会改变这个数组的排列顺序，同时公开排列顺序的hash值。\n\n第三步，每一个人与其他人建立安全通道沟通。\n\n第四步，每一个人均与其他3个人完成3次换牌协议。\n\n其中，换牌协议为双方生成的随机数，然后映射到换牌，生成一个13bits的字符串，当字符位为1的时候，意味着需要换牌，然后双方通过安全信道将自己的牌和对应编号发出去。\n\n第五步，在第三步确认开始后等待60s，大家提交换牌协议中自己使用的随机数的hash值和接受到的随机数hash值提交。防止作弊者。如果有人这个时候还未完成三次交换协议，我们认为它需要作弊，而没收它的押金。\n\n发牌协议至此结束。\n\n--------------------------------------------------------------------------------\n\n在我一开始的模型中，没有60s这个限制，将自行交换，满足条件即结束，但结束的最后两个人它们的换牌协议会泄露一定的信息。\n\n如果设置为无限次自由交换的话，将会出现富集者效应，抽中好牌的人倾向于不在与他人进行交换。\n\n通过在一个统一时间内结束，使得它们无法知道自己是不是最后一轮交换，来保证信息的安全性。\n\n在最后开始游戏之前，统一提交数据，可以防止作弊者尝试纂改手中的牌，因为复盘的时候可以计算出来他手中应有的牌。如果他同样纂改自己的随机数hash,在除最后一轮之外的改变，会放大至影响3个人，使得被发现。\n\n当他没有能力窃取到对方手中的牌的数据的时候，需要自己预测对方的牌，并伪装假对方hash来使得自己强行与其换牌具有很高的风险，而如果明确知道对方手中的牌的话，我们可以认为A和B是一伙的，出现了女巫攻击问题，则不需要伪造假hash，可以自由构造自己需要的换牌计划。（因为出现不在对方中的牌的话，显然是恶意纂改）\n\n--------------------------------------------------------------------------------\n\n瑕疵还有两点：\n\n1.仅满足了公平性（4个等价玩家），但随机性不够，例如当4个人均不执行初始洗牌，后续换牌将不会改变手中的牌，但问题难度不高，可以通过增大熵源，来实现。\n\n2.不能预防女巫攻击，因为这很显然当一个人同时操纵3个账户的时候，则另外一个的人胜利期望极大将降低。通过押金的方法可以一定程度缓解，但不能真正改变，不过在已有的伪区块链游戏中同样有着相应的问题。","date_published":"2021-08-29T09:11:29.000Z","_microfeed":{"web_url":"https://kexohproject.pages.dev/i/如何实现一个去中心化方案来为用户发点牌-sfxLVIvIhKk/","json_url":"https://kexohproject.pages.dev/i/sfxLVIvIhKk/json/","rss_url":"https://kexohproject.pages.dev/i/sfxLVIvIhKk/rss/","guid":"sfxLVIvIhKk","status":"published","itunes:title":"New Article Title for iTunes","date_published_short":"Sun Aug 29 2021","date_published_ms":1630228289000}}],"_microfeed":{"microfeed_version":"0.1.2","base_url":"https://kexohproject.pages.dev","categories":[{"name":"Education","categories":[{"name":"Language Learning"}]},{"name":"Technology"}],"subscribe_methods":[{"name":"RSS","type":"rss","url":"https://kexohproject.pages.dev/rss/","image":"https://kexohproject.pages.dev/assets/brands/subscribe/rss.png","enabled":true,"editable":false,"id":"4KlfbtkEfzy"},{"name":"JSON","type":"json","url":"https://kexohproject.pages.dev/json/","image":"https://kexohproject.pages.dev/assets/brands/subscribe/json.png","enabled":true,"editable":false,"id":"DVFm7TYiNSq"}],"description_text":"你好，欢迎访问个人主页！\n\n擅长密码学，安全分析，数字水印等技术。\n\n你可以联系我通过:findmykexin@gmail.com或者知乎私信。\n\n我的知乎链接：苏迟但到 - 知乎 (zhihu.com)\n\n我的github链接：kexinoh","copyright":"©2024","itunes:type":"episodic","items_sort_order":"newest_first"}}