<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/rss/stylesheet/" type="text/xsl"?>
<rss xmlns:content='http://purl.org/rss/1.0/modules/content/' xmlns:taxo='http://purl.org/rss/1.0/modules/taxonomy/' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:itunes='http://www.itunes.com/dtds/podcast-1.0.dtd' xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:atom='http://www.w3.org/2005/Atom' xmlns:podbridge='http://www.podbridge.com/podbridge-ad.dtd' version='2.0'>
<channel>
  <title>苏迟但到的主页</title>
  <language>zh-cn</language>
  <generator>microfeed.org</generator>
  <itunes:type>episodic</itunes:type>
  <itunes:explicit>false</itunes:explicit>
  <atom:link rel="self" href="https://kexohproject.pages.dev/rss/" type="application/rss+xml"/>
  <link>https://kexohproject.pages.dev</link>
  <description>
    <![CDATA[<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>]]>
  </description>
  <itunes:author>苏迟但到</itunes:author>
  <itunes:image href="https://kexohcdn.gptapi.cyou/kexohproject/production/images/channel-2e54d141ee195646ca12a9d16507a908.jpg"/>
  <image>
    <title>苏迟但到的主页</title>
    <url>https://kexohcdn.gptapi.cyou/kexohproject/production/images/channel-2e54d141ee195646ca12a9d16507a908.jpg</url>
    <link>https://kexohproject.pages.dev</link>
  </image>
  <copyright>©2024</copyright>
  <itunes:category text="Education">
    <itunes:category text="Language Learning"/>
  </itunes:category>
  <itunes:category text="Technology"/>
  <item>
    <title>如何实现一个去中心化方案来为用户发点牌？</title>
    <guid>sfxLVIvIhKk</guid>
    <pubDate>Sun, 29 Aug 2021 09:11:29 GMT</pubDate>
    <itunes:explicit>false</itunes:explicit>
    <description>
      <![CDATA[<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>]]>
    </description>
    <itunes:title>New Article Title for iTunes</itunes:title>
  </item>
</channel>
</rss>