4zhvml8 发表于 2024-10-3 08:57:31

MEMO的存储证明流程


    <div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/21b1bf84440045d5bfb7fbb6d754c858~noop.image?_iz=58558&amp;from=article.pc_detail&amp;lk3s=953192f4&amp;x-expires=1728092179&amp;x-signature=Vs01o0MtVZukUByWe7edFtht8p0%3D" style="width: 50%; margin-bottom: 20px;"></div>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">互联网中存在<span style="color: black;">海量</span>的边缘存储设备,MEMO<span style="color: black;">经过</span>对这种闲置资源的整合搭建了一个可扩展的分散式云存储协议,使存储资源有限的用户可将数据存储在边缘存储节点上。<span style="color: black;">然则</span>在<span style="color: black;">这般</span>一个公开的低可信环境中,边缘存储节点<span style="color: black;">靠谱</span>性较低,<span style="color: black;">她们</span>可能会作出篡改、删除数据等恶意<span style="color: black;">行径</span>,<span style="color: black;">因此呢</span>需要对存储节点进行有效监督,以验证<span style="color: black;">她们</span><span style="color: black;">是不是</span>正确地持有存储数据。</span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;"><span style="color: black;">思虑</span>到<span style="color: black;">安排</span>环境为公有区块链,故引入第三方进行数据持有性证明的挑战和验证工作。在MEMO的组织架构中,设计了User、Provider、Keeper三个角色,其中User是存储消费者,Provider是存储空间<span style="color: black;">供给</span>者,Keeper是协调管理者。这三个角色中,Keeper充当着第三方审计角色,会<span style="color: black;">定时</span>对Providers发起挑战并验证<span style="color: black;">她们</span><span style="color: black;">是不是</span>完好存储数据。</span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;"><span style="color: black;"><span style="color: black;">1、</span>可验证随机函数</span></strong></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">即使引入了第三方审计角色,在低可信的分散式环境中仍然面临着预存攻击和合谋攻击的可能。预存攻击是数据存储方<span style="color: black;">能够</span>在不存储完整数据的<span style="color: black;">状况</span>下响应挑战并<span style="color: black;">经过</span>的可能,合谋攻击<span style="color: black;">指的是</span>在公开验证的环境中,用于审计的服务器和用于存储的服务器之间还存在双方合谋以<span style="color: black;">违法</span><span style="color: black;">经过</span>证明的可能。</span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">为了抵御这两项攻击,使数据存储更加安全<span style="color: black;">靠谱</span>,MEMO采用可公开验证随机函数算法(VRF)来<span style="color: black;">保准</span>验证的不可预测性和公开验证性。</span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;"><span style="color: black;">1.不可预测性:</span></span><span style="color: black;">指随机数算法产生的<span style="color: black;">每一个</span>输出均应统计独立于其他输出,使得攻击者<span style="color: black;">没法</span><span style="color: black;">经过</span>已得到的随机数推算出其他随机结果,即任何恶意节点无论以何种途径,都<span style="color: black;">没法</span><span style="color: black;">按照</span>个人意志<span style="color: black;">掌控</span>随机过程的输出。</span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;"><span style="color: black;">2.可公开验证性:</span></span><span style="color: black;">指可使任何有兴趣的参与方都能得到授权,并<span style="color: black;">经过</span>某种方式进行验证以下事实<span style="color: black;">是不是</span>成立,即需要验随机过程所产生的结果是真正随机的、而非受某一方操控形成。</span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">该算法由证明者发布的公钥来对函数进行承诺,公钥与函数相绑定,这<span style="color: black;">寓意</span>着验证者<span style="color: black;">必定</span>能用它对函数的<span style="color: black;">靠谱</span>性进行验证,<span style="color: black;">详细</span><span style="color: black;">来讲</span>,可验证随机函数<span style="color: black;">持有</span>多项式时间算法G(函数参数生成器)、F(函数计算器)和V(函数验证器)等3个算法。</span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;"><span style="color: black;"><span style="color: black;">2、</span>验证原理</span></strong></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">每一次验证,由Keeper生成VRF密钥对,并在<span style="color: black;">保留</span>VRF私钥至本地的<span style="color: black;">同期</span>,将VRF公钥发送给对应的数据存储方Provider,这<span style="color: black;">寓意</span>着Provider利用VRF公钥对函数的<span style="color: black;">靠谱</span>性进行验证。<span style="color: black;">一样</span>的,之后VRF计算生成的随机数和响应证据会被<span style="color: black;">一块</span>发送给Provider,用于之后的验证过程。换言之,Keeper<span style="color: black;">做为</span>计算方<span style="color: black;">把握</span>私有信息,Provider<span style="color: black;">做为</span>验证方<span style="color: black;">把握</span>公开信息,从而使得Keeper的随机过程<span style="color: black;">拥有</span>可验证性。</span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">在<span style="color: black;">保证</span>了随机<span style="color: black;">周期</span>的可验证性之后,还需要对随机过程做到公开验证。<span style="color: black;">能够</span>看到,合谋攻击的本质在于随机数<span style="color: black;">关联</span>的过程隐秘性过强,其产生过程并不透明,这使得产生随机数的<span style="color: black;">靠谱</span>性难以得到验证。可验证随机函数利用一种类似于公钥加密方式的承诺<span style="color: black;">方法</span>,其中的证明者<span style="color: black;">经过</span>私钥和黑盒模式的函数<span style="color: black;">保证</span>不可预测性,验证者则利用公钥和完全公开的函数输出<span style="color: black;">保证</span>可验证性,从而达<span style="color: black;">成为了</span>两种<span style="color: black;">必须</span>性质的有效结合。</span></span></p>
    <div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/e7d1c3c57856466a859607b263945775~noop.image?_iz=58558&amp;from=article.pc_detail&amp;lk3s=953192f4&amp;x-expires=1728092179&amp;x-signature=TSwgR7K%2FQ6rqXRPvm3QiLBVCMi8%3D" style="width: 50%; margin-bottom: 20px;">
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">验证证明中各角色的交互流程</p>
    </div>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;"><span style="color: black;"><span style="color: black;">3、</span>验证流程</span></strong></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;"><span style="color: black;">1.数据预处理</span></span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">在上传数据前,User<span style="color: black;">首要</span>会对数据进行预处理。User<span style="color: black;">按照</span>参数计算生成公开信息和私有信息,公开信息发送至Keeper存储,私有信息<span style="color: black;">保留</span>在用户本地;并且,User需要对将要存储到Provider的外包数据进行签名,生成相对应的标签信息,之后用户把外包数据和标签信息进行组合并发送给Provider。</span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">User对将要存储到数据存储方的外包数据切分成数据片,<span style="color: black;">同期</span><span style="color: black;">根据</span>递增的整数给数据命名索引,<span style="color: black;">而后</span><span style="color: black;">按照</span>数据片和索引生成标签进行签名,之后用户把外包数据和标签信息进行组合并发送给Providers。</span></span></p>
    <div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/c819549483a4413f89539ab6bddd7420~noop.image?_iz=58558&amp;from=article.pc_detail&amp;lk3s=953192f4&amp;x-expires=1728092179&amp;x-signature=QrOxTK5o503aoh6pbaGz2f0k9Hw%3D" style="width: 50%; margin-bottom: 20px;">
      <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">用户对数据块进行计算产生标签的过程</p>
    </div>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;"><span style="color: black;">2.生成挑战信息</span></span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">Keeper接收User的公开信息即相当于接受了该User的挑战<span style="color: black;">拜托</span>,<span style="color: black;">因此呢</span><span style="color: black;">选取</span>一种会<span style="color: black;">出现</span>变化、且变化不可预测的信息<span style="color: black;">做为</span>后续计算的输入。Keeper生成属于自己的可验证随机函数的密钥对,并将挑战信息发送给Providers,这个挑战信息<span style="color: black;">便是</span>Keeper<span style="color: black;">按照</span>可验证随机函数生成的公钥。</span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;"><span style="color: black;">3.生成数据持有性证明</span></span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">收到挑战信息后,Provider<span style="color: black;">首要</span>对其进行验证,若验证<span style="color: black;">经过</span>,则生成对应的数据持有性证据并发回Keeper。</span></span></p>
    <div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/a14dcd7834c54a63852880a67ab0d6df~noop.image?_iz=58558&amp;from=article.pc_detail&amp;lk3s=953192f4&amp;x-expires=1728092179&amp;x-signature=cCFEJPiRJ02x5DPzNNFeH8Q9JQU%3D" style="width: 50%; margin-bottom: 20px;"></div>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;"><span style="color: black;">4.验证证明</span></span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">最后由Keeper<span style="color: black;">按照</span>存储的用户的公开信息,对收到的数据持有性证据依次进行两步验证,当且仅当两步验证的结果均为<span style="color: black;">经过</span>时,可<span style="color: black;">显示</span>Provider正确且完整地存储了外包数据。</span></span></p>
    <div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/7e49086c4396413a80bce6917b2e4aa4~noop.image?_iz=58558&amp;from=article.pc_detail&amp;lk3s=953192f4&amp;x-expires=1728092179&amp;x-signature=oyN1EfP697aRjFM0JxkH%2BTfn8Ls%3D" style="width: 50%; margin-bottom: 20px;"></div>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><strong style="color: blue;"><span style="color: black;">小结:</span></strong></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;"><span style="color: black;">MEMO引入第三方审计Keeper对数据持有性进行公开验证,能够有效分担数据所有方Provider的计算压力和在线压力。<span style="color: black;">经过</span>引入新的变量和计算环节使得数据存储方Provider必须正确而完整地存储数据<span style="color: black;">才可</span>实现利益最大化,<span style="color: black;">选择</span>合适的随机函数以使第三方审计和数据存储方Provider在维持正常运转的环境中有<span style="color: black;">很强</span>概率<span style="color: black;">没法</span>顺利地进行合谋攻击,有效<span style="color: black;">加强</span>了<span style="color: black;">方法</span>安全性。<span style="color: black;">全部</span>过程只需要<span style="color: black;">包袱</span>较低的计算压力和常量级的信息存储开销<span style="color: black;">就可</span>使第三方审计在未接触原始存储数据的<span style="color: black;">状况</span>下对数据持有性进行公开审计,<span style="color: black;">有效</span>性与隐私性<span style="color: black;">亦</span>都能得到切实<span style="color: black;">保准</span>。</span></span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;"><span style="color: black;"><span style="color: black;">认识</span><span style="color: black;">更加多</span>MEFS<span style="color: black;">关联</span>内容,欢迎关注:</span></strong></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;"><span style="color: black;">l 官网:</span></strong><span style="color: black;">http://memolabs.org</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;"><span style="color: black;">l 公众号:</span></strong><span style="color: black;">MEMO分散式存储</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;"><span style="color: black;">l Twitter:</span></strong><span style="color: black;">Memo Labs</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;"><span style="color: black;">l Medium:</span></strong><span style="color: black;">Memo Labs</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;"><span style="color: black;">l Discord:</span></strong><span style="color: black;">https://discord.gg/YG4Ydv2E7X</span></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><strong style="color: blue;"><span style="color: black;">l Telegram:</span></strong><span style="color: black;">http://t.me/memolabsio</span></p>




7wu1wm0 发表于 2024-10-22 10:03:01

你的留言真是温暖如春,让我感受到了无尽的支持与鼓励。
页: [1]
查看完整版本: MEMO的存储证明流程