去中心化区块链系统不但要有代币,而且还要有基于代币对服务或产品的定价/Pricing。如去中心化云存储服务这种p2p产品服务如何定价?如何对预言机上链数据定价?但我们一定会怀疑官方供商定价的方式,也不会完全相信市场能达成公平公正产品定价,除非系统绝对去中心化。那么密封竞价拍卖/Auction是不是最好的定价方式呢?下面来分享一份如何通过基于区块链的拍卖系统来优化去中化产品服务的定价。但这种定价方式会不会失灵?
AStERISK: Auction-based Shared Economy ResolutIon System for blocKchain AStERISK: 基于拍卖的共享经济区块链系统
摘要
区块链最新发展允许使用实用代币部署到去中心的共享经济,在这里,代币用作保护和奖励有效的工作或供应。然而,大多数区块链系统都没有提供将供应商和需求方有效匹配的机制,而是依赖于手动和不安全的解决方案。 AStERISK尝试弥合了这一差距,允许在区块链上执行密封竞价( sealed-bid auctions),自动确定服务的最佳价格,并将需求分配给最合适的供应。 AStERISK允许供应为他们的工作设定最低价格,隐藏提交的投标以及投标人的身份,而不依赖可信中心第三方。我们提供了AStERISK的智能合约实现,并展示了如何在Filecoin网络中部署,以及如何在Chainspace上执行初始基准测试。
一、 导言
过去二十年云计算的发展是在计算集中化的前提下建立的。也就是说,计算能力在地理和管理上集中于少数大企业,通常称为数据中心。因此,大多数用户目前主要依赖云来实现托管服务、计算和数据存储等应用程序。然而,中心化带来了一些缺点;中心化云计算服务充当了主要的单点失败,使当局实施审查成为可能或用户隐私被侵犯。此外,大型云运营商经常滥用其市场地位,迫使用户信任其服务,并接受运营商的规则和价格。
在共享经济基础设施中,用户在网络上彼此共享资源来提供服务。这样的基础设施有可能提供更好的服务质量,减少单点故障和权力被滥用的问题;但是需要安全解决方案和可靠的激励机制来协调分布式用户之间缺乏信任。比特币取得成功之后,大量的加密货币项目实施了这样一种共享经济模式,并使用区块链保护其平台,简化支付。其愿景是创建一个去中心化的共享系统,鼓励用户提供有效的产品服务,并在任务完成时自动获得奖励。
虽然多数加密项目都能向网络证明服务成功完成,但确定这些服务的最优价格的同样重要,而很大程度上被项目社区所忽视。在本文中,我们将回答了如何利用区块链和智能合约来推导去中心化计算基础设施中的服务价格,并解决自动将服务需求分配给相应的供应商的问题。
当然,去中心化基础设施产品服务供应商会要求补偿,因为为需求方服务需要占用其计算和存储资源的同时增加运营费用。因此,基础设施供应商的充分参与与激励机制有关,激励机制允许他们通过以等于或超过其费用的价格提供资源来获利。也就是说,用户和产品服务供应商的目标是相互冲突的,因为前者试图以尽可能低的价格获得服务,而后者则试图使其收入最大化。因此,需要一种市场机制,以拍卖的形式进行干预,以确保用户需求与资源供应商之间的有效关联。通过在区块链链上拍卖,用户既不需要信任对方也不需要信任任何第三方,他们从底层去中心化账本继承安全保证,并确保拍卖智能合约正确执行。然而,提交给区块链的数据是公开的,因此使用密封竞价拍卖在拍卖期间隐藏所有竞价是至关重要的。此外,泄露竞拍者身份会带来另一种安全威胁;即,竞拍者在两台服务器上购买的存储空间会使服务器成为恶意用户的一个容易攻击的目标,恶意用户希望竞拍者丢失数据。
本文提出了一种基于拍卖的去中心化共享经济的价格优化系统AStERISK。在AStERISK中,服务供应商将他们的报价连同愿意接受的最低价格一起提交给区块链。我们的系统隐藏提交的投标,并使用匿名凭证保护投标人身份。与其他方案相比,AStERISK并不依赖于一个可信的第三方来颁发所有凭证,而是依赖于一组多个分散的权限。每个用户都可以定义自己的受信集,并受到保护,以防止权限子集作恶。一旦拍卖完成,AStERISK自动在区块链上创建一个绑定,允许供应商在提交有效工作证明后从需求方存款中索偿。为了简单起见,我们将重点放在Filecoin这个去中心化存储网络上,但是AStERISK可以适应其他共享经济模型的系统。
二、背景
a) 区块链:区块链技术是以连接区块的形式实现了一个分布式的、只可追加的账本;信息一旦存储到区块链上,就不能删除或更改。网络参与者使用一致性协议来共同商定分类账的当前状态,只要参与者的子集是诚实的,系统就会维护其属性。区块链用于记录加密货币(例如,比特币,以太坊)交易。并由脚本语言组成的通用扩展允许将逻辑作为事务的一部分,允许部署提交到区块链并由所有网络参与者执行的智能合约代码。AStERISK利用区块链提供的高完整性数据结构,并将其用于会计、审计和时间参考(例如,时间可以定义为主链的区块高度)
b) Filecoin:Filecoin的是一个去中心云存储市场,允许数据文件存储需求方向提供存储服务的矿工支付费用,存储数据。具体来说,去中心化存储市场充当了一个交换点,需求方和供应商矿工可以在这里发布他们的请求并提供资源服务。网络保证存储服务提供商矿工在提供服务时得到客户的奖励。Filecoin使用复制证明方案,该方案依赖于zero-knowledge简洁的非交互知识参数(zk-SNARKs),允许证明人证明拥有数据D.防止Sybil攻击并允许证明拥有同一文件的多个副本,复制证明是在请求者指定的密钥ek下加密的数据版本上生成证明,这样RD ek=Encode(D,ek)。Filecoin要求证明者递归地、连续地生成那些证明,随机性r来自区块链中最新的区块,从而证明随着时间的推移拥有该文件。
c) 匿名凭据:匿名凭证,允许向用户颁发凭证,并允许随后向验证器证明不可链接的凭证。用户可以有选择地公开嵌入凭证中的某些属性或这些属性的特定功能。大多数匿名凭证方案都将主凭证签名密钥委托给单个颁发机构,允许恶意颁发机构伪造任何凭证。其他方案不提供通用公开凭据所必需的重新随机化或盲发布属性。为了克服这些限制,AStERISK依赖于 Coconut, Coconut支持证书的分布式阈值发布;因此支持私有属性、重新随机化和不可链接的多显示选择性披露,而不依赖于中心可信的第三方。 Coconut是为在区块链环境中使用而设计的,以确保机密性、真实性和可用性,即使在凭证颁发机构的子集是恶意的或脱机的情况下也是如此;它使用的凭证短且计算效率高,可通过智能合约轻松验证。合谋的当局可以伪造Coconut认证,但不能打破不可链接性和匿名用户。在标准密钥分发阶段之后,Coconut权限在不相互通信的情况下颁发凭证;因此,可以使用大量权限颁发凭证,而不会显著影响效率。
三、 设计目标
AStERISK通过执行拍卖机制将资源服务供应商矿工与需求方用户关联。具体而言,我们考虑一个由以下参与者组成的系统: •Bidders/投标人-愿意访问服务的用户(例如,希望在网络中存储某些数据的Filecoin用户)。 •Workers/提供商-向用户提供服务(例如,希望以特定价格存储用户文件的Filecoin矿工)。 •Authorities/权限-负责颁发证书的分布式系统,允许用户参与拍卖。
AStERISK假设至少有一个阈值的权限子集是诚实的;所有密码操作都依赖(或暗示)XDH假设[23];并且依赖于弱同步性以获得活性(但不是安全性)。这些假设继承自cocoon和基础智能合约平台。给定此威胁模型,AStERISK实现以下设计目标:
•隐藏的最低价格:服务提供商可以指定他们愿意执行给定行动的最低价格,并保证拍卖的获胜者至少不底于此价。这一最低价格在拍卖结束前对竞拍者保密。 •投标人隐私:投标人无法链接到其投标。只有获胜者的身份才会透露给矿工(在拍卖结束时)。 •投标保密:投标在拍卖结束前保密;投标人在不知道其他投标人做什么的情况下提交投标。 •投标书的约束力:一旦承诺,投标人不得更改其投标书。 •公众可审计性:任何人都可以验证任何拍卖的正确执行。 •公平性:如果投标人偏离协议,将受到经济处罚,但如果投标人正确遵守协议,则不会受到经济处罚。竞拍者不能重复使用代币,任何权威机构也不能窃取竞拍者的资金。 •非互动性:投标人间不能互动。 •拍卖的经济性质:涉及一)效率,即以计算上可行的方式将资源分配给最有价值的竞买人;二)激励相容性(真实性),竞买人和工人通过披露其真实估价而获益;三)个人合理性,如果投标人和供应商都愿意参与,以及iv)预算平衡,其中提交的付款包括工人补偿。
四、 AStERISK设计
A、 AStERISK智能合约
我们设计了AStERISK作为一个智能合约,它扩展了cocoon,允许在拍卖中使用凭证作为匿名竞标。AStERISK智能合约定义了六个功能(设置、创建、存放、提交、显示、提取):
❖设置:一组权限通过提供其公钥以及任何其他方案参数(如权限数和阈值参数)共同创建AStERISK合约。此函数可以由不同的权限集多次运行;然后,工作人员在执行Create时选择他们信任的权限集。 ❖创建:任何第三方工作人员通过指定可信的颁发凭据的权限集以及任何特定于应用程序的参数或策略来创建拍卖。它们还具体说明了对其愿意操作的最低价格的承诺;以及在拍卖阶段使用的两个时间戳3,t commit和t reveal(t commit<t reveal)(见第四节B)。 ❖存款:投标人将v代币存入智能合约指定的合约帐户,以请求公共属性v和私人随机生成的序列号s上的凭证。为防止跟踪流量分析,v应限制为一组特定的可能值,类似于现金面值。每个机构监控AStERISK智能合约,并在检测到凭证请求时向链上或链下的用户颁发部分凭证(凭证请求仅在投标人向智能合约支付v代币押金时处理)。投标人本地将所有部分凭据聚合为一个合并凭据。 ❖承诺:投标人通过向智能合约出示有效凭证提交投标书;他们还提供序列号s的知识证明以及从s唯一构建的组元素ζ。如果凭证和凭证检查,智能合约记录ζ。组元素ζ嵌入序列号s,因此绑定到凭证和它嵌入的代币数v上,表明ζ有效地提交给v。智能合约仅在t commit之前接受投标人输入。 ❖披露:投标人披露v、ζ和凭证,以及v正确嵌入凭证并证明ζ正确的证据。智能合约只接受在提交t commit之后和t reveal之前的投标人输入,并且如果智能合约先前记录了ζ(即,如果投标人承诺其投标)。矿工打开承诺,以他们在创建期间承诺的最低价格。 ❖撤回:为了撤回代币,投标人通过将证明绑定到他们希望兑换代币的地址addr,向智能合约提供其私钥的zk零知识证明;他们还提供了证明其正确性的综合凭证ζ和zk证明。为了防止双重支出,合约记录了已经显示的所有组元素ζ。在显示ζ嵌入新的(未使用的)序列号s时,契约验证凭证和零知识证明,并且ζ还没有出现在花费列表中。然后,它从缓冲区中取出v代币并将其发送到指定地址addr,并将ζ添加到花费列表中。投标人只能在树凹后提取代币,只有通过提交和披露记录的凭证才能用于提取代币(这有效地锁定了偏离协议的投标人的资金)。根据执行Create时制定的政策,拍卖的获胜者可能会被区别对待。 ❖提交网络:在t reveal之后,获胜者通过私人渠道联系矿工,并将加密材料上传到智能合约中,允许员工检索其付款。赢家可以匿名证明他们确实赢得了拍卖,通过证明拥有综合凭证ζ和证明其正确性的zk证明。在Filecoin的例子中,赢家证明他们赢得了智能合约的拍卖,并上传加密文件的散列和签名一起存储。然后使用文件散列来验证工人提交的时空证明[15],并随时间从投标人的保证金中释放付款。
B、 AStERISK协议
图1显示了在AStERISK上执行拍卖;拍卖分为三个阶段:
•准备阶段(图1a):竞拍者支付定金并检索参与拍卖所需的凭证,存储节点提交报价。 •拍卖阶段(图1b):投标人承诺并随后公布其投标。智能合约通过应用Vickrey拍卖机制确定胜利[28]。 •执行阶段(图1c):拍卖赢家联系其相应的存储节点,证明其身份并将文件提交到存储。存储节点接收随着时间推移存储文件的奖励。
a) 准备阶段:一组权限执行AStERISK智能合约的设置功能。任何工作人员执行Create(图1a-➌)以通过指定拍卖参数以及他们信任的权限集来创建拍卖。他们还规定了两次拍卖的时间,t承诺和t披露,以确定拍卖的时间表;工人为他们的产品做广告,并承诺他们愿意以最低价格v0进行操作。竞拍者通过向AStERISK智能合约(图1a-➊)指定的缓冲账户支付v代币保证金来执行保证金,并检索参与拍卖所需的凭证(图1a-➋)。值v代表他们希望出价的代币数量。
b) 拍卖阶段:投标人执行提交(图1b-➊)以提交对智能合约的特定拍卖的投标。只有在截止日期前提交的投标人承诺才被视为有效。接下来,工人将承诺打开到他们的最低价格,而投标人调用Reveal(图1b-➋)打开他们对智能合同的承诺;只有在截止日期treveal之前提交的投标人开口才有效。最后(图1b-➌),根据智能合约的执行轨迹推断出拍卖的获胜者。与最高v(如果v≥v0)相关联的组元素ζ表示拍卖的获胜者所有正确遵循协议的投标人(获胜者除外)可以撤回其代币,称为AStERISK合同的撤回功能。如果没有赢家,拍卖就失败了,每个出价者都可以取款。AStERISK应用Vickrey拍卖机制[28];拍卖的获胜者是出价最高的v的竞拍者,并支付出价第二高的v’的价格。也就是说,赢家可以自由调用“撤回”来撤回(v-v‘)硬币。
c) 执行阶段:中标人执行SubmitWork(图1c-➍)并提交加密文件的散列以存储。然后他们联系相应的链外工作者,通过出示凭证证明他们是合法的赢家,并直接将文件副本RD ek传输给工作者。然后,员工可以开始生成有用工作的证明,将其提交给区块链,并从赢家的存款中获得奖励。验证有用工作的证明并释放支付是基础区块链的一个组成部分,不在本工作的范围内。
五、 讨论
AStERISK是以单个项目的形式提供资源的特定于供应商的合约。在实践中,如果多个供应商向多个项目的提供他们的资源,而竞拍同一份合约中表达他们对其中一个子集的出价,这种复杂的拍卖会很有现实意义;但面临着(i)拍卖执行和(ii)竞拍隐私和安全的挑战。
在拍卖执行方面,证明了组合拍卖可以被建模为集合包问题,这意味着它们是NP难题,并且没有多项式时间算法来寻找最优分配。一个解决方案是考虑在这个系统中,投标者被关联到最多一个项目中。这将导致在计算上可行和有效的分配,即多项目需求拍卖的设置,但代价是投标人在表达其偏好时的灵活性。另一方面,投标人应提交一个投标向量,即对每个报价项目提交一份投标书。尽管押金功能可以很容易地放大,即通过将投标总额或最大投标额作为押金放入向量中,但对此类投标向量的分析可以揭示投标人的信息,并产生必须解决的隐私问题。
六、 协议分析
我们讨论AStERISK如何实现第三节中描述的设计目标。
a) 隐藏最低价格:在拍卖的执行阶段,如果中标,AStERISK确保服务供应商要么以高于最低价格获得标的,要么根本不中标。
b) 竞拍者隐私:AStERISK利用Coconut的不可链接性,打破了代币的存放、投标承诺和代币提取之间的联系。因此,竞拍者可以在不透露身份的情况下提交竞拍,但要证明他们持有有效证件。
c) 竞拍隐私:竞拍在t commit之前是保密的;cocoon凭证的零知识属性意味着在提交竞拍时不会泄露有关v的信息(图1b-➊)
d) 投标书约束:投标人必须遵守其投标书,因为他们首先需要承诺其投标书(图1b-➊),然后打开承诺书(图1b-➋)。投标人不能公开承诺的另一个价值比先前承诺,因为这意味着伪造Coconut凭证。
e) 公共可审核性:AStERISK作为智能合约;任何第三方都可以利用基础智能合约平台的公共可审计性来验证其正确执行。
f) 公平性:没有一个权威可以创建凭证并窃取智能合约帐户中的所有代币cocoon的threshold属性意味着对手需要破坏任意大的一组权威才能进行此攻击。如果不支付保证金以获得有效凭证,投标人就不能参加拍卖阶段(图1b);设置t_commit< t_reveal将强制投标人在公开之前承诺其投标,从而防止任何第三方在承诺之前看到其他人的投标。竞拍者在出价后退出竞拍(但从不透露)将受到经济处罚,因为他们不能收回自己的代币保证金。cocoon提供了盲发行,允许投标人在序列号s上获得凭证,而无需当局了解其价值。在没有盲发行的情况下,任何人都有可能与竞购者竞争,并且撤回凭证盲发行的代币可以防止权威机构窃取硬币。保留所有组元素的花费列表ζ可防止重复花费攻击[27],而不显示序列号s;这可防止攻击者在退出时利用竞争条件,并可能锁定竞标者的硬币。
g) 非互动性:投标人之间不相互影响。在准备阶段(图1a),竞拍者只和当局的一个子集交互以获得证书;在拍卖阶段(图1b),他们只和智能合约交互;在执行阶段(图1c),供应商只和需求方交互或和智能合约交互以取回他们的代币。
h) 抗审查力:底层智能合约平台的去中心化使得AStERISK智能合约能够抵御审查。此外,一小部分权限无法阻止颁发凭据只要至少运行阈值数量的权限,服务就保证可用。
i) 分布式授权:AStERISK不引入单个可信第三方;AStERISK合同在去中心的智能合同平台上执行,Cocon允许阈值颁发凭据。
j) 拍卖的经济属性:只有在价格接受者参与的条件下,拍卖才能满足所有这些属性,即竞拍者和工作人员对拍卖价格都没有影响。在我们这里考虑的单一物品拍卖中,已经证明,Vickrey auctions拥有基于“密封投标”假设的所有这些期望属性,在这种假设下,投标人和工人都没有关于拍卖状态的信息[28]。AStERISK通过其隐私属性提供了“密封投标”假设的技术实现,防止价格操纵。
七、实施与评价
我们为Chainspace提供了第IV-A节所述AStERISK智能合约的开源实现。我们的实现没有对计时器t commit和t reveal强制执行条件,因为Chainspace当前不提供检查块高度的函数。我们使用Coconut5的开源Python实现用大约450行Python代码编写原型,该实现应答petlib6和pblib7;双线性对是在Barreto-Naehrig curve8上定义的,使用OpenSSL作为算术后端。表1提供了智能合约每个功能的时间和事务大小;每个实验都是在一台商用笔记本电脑(MacBook Pro 13'2.7 GHz Intel Core i7,运行macOS Mojave)上测量的100次运行的结果。正如所料,Create的过程和检查器都非常快,因为它们不涉及加密操作。提交、显示、撤消和提交网络的检查程序的平均时间与其核心操作验证凭据有效性的时间相同(也是最长的时间);由于配对操作,验证凭据的时间最长[22]。存款功能没有实现,因为它与cocoon[22]中描述的转杯应用程序相同。
八、相关工作
有几个类似框架目标是隐藏提交给公共分类账的私有数据的。Hawk将智能合约分为公共和私有部分,并使用零知识证明保护私隐输入,但需要一个中心可信的管理器来操作。ShadowEth允许使用可信执行环境(TEE)处理机密智能合约数据。但是,这样的方案要求用户信任硬件供应商,并且可能使系统暴露于TEE的漏洞中。在密封竞价拍卖的问题上,Blass和Kerschbaum提出了保护竞价隐私不受恶意参与者攻击的应变措施。Strain使用了一个两方比较协议,但有一个缺陷会揭示了出价顺序。此外,在区块链上运行涉及MPC协议的计算量大且轮数多而效率低下。此外,Galal和Youssef提出了一个协议,确保公开可验证性、投标隐私和公平性。然而,该解决方案随着竞标者的数量而变化,并且依赖于从未经证明安全的区块链随机数。这个方案中使用zk-SNARKS进行了改进,但是仍然依赖于一个中心的第三方来进行零知识证明,并且不保护投标人的身份。Bogetoft等人提出了另一种方法。系统使用多方计算对加密的投标执行拍卖。然而,这样一个方案揭示了竞买人与被竞买人之间的最终分配,缺乏透明度。目前,Filecoin没有实现自动系统将需求客户分配给存储节点,需要手动选择存储节点。其他系统,如Golem、iExec或SONM,要么没有指定他们的需求方-供应商分配类似的、不安全的解决方案。这些平台都可以使用AStERISK来提高安全级别,并自动确定服务的最佳价格。我们在表2中总结了讨论的解决方案及其安全特性。
九、 限制
AStERISK继承了cocon作为底层方案有几个限制。这些限制超出了本工作的范围,并推迟到以后的工作。如果超过权限的阈值数量,则AStERISK是易受攻击的;串通的权限可以创建凭证来窃取智能合约中的所有代币。竞拍者的隐私仍然受到串通当局的保护,或者最终会损害他们的密钥。第IV-A节中所述的AStERISK智能合约的实施不适用于大量用户,因为每个承诺和投标都是链上的。一个潜在的解决方案是将拍卖逻辑推到状态通道(State Channel),并且只在区块链上密封拍卖产生最终结果后上链。此外,AStERISK继承了底层智能合约平台的可伸缩性限制。拍卖的获胜者可以调用SubmitWork,但拒绝将数据传输给工作者。这可以防止供应商索取报酬,并在下次拍卖前将其资源释放。这个问题是从Filecoin继承来的,可以通过确保数字商品公平交换的附加机制来缓解。
十、 结论和今后的工作
我们提出的AStERISK系统,用于确定共享经济环境中服务的最优价格,并自动将需求方分配给最理想的供应商。AStERISK允许使用匿名凭证和零知识证明在区块链上安全地执行密封竞价。我们的系统允许工人为他们的服务指定最低价格,保护用户的出价以及投标人的身份。AStERISK并不依赖于可信的第三方来颁发证书,而是依赖于用户可以自由选择的一组实体。分布式颁发机构只颁发部分凭据,这些凭据由每个用户本地合并,以保护系统免受恶意颁发机构子集的攻击。我们展示了AStERISK如何部署在Filecoin网络中,以及如何适应在区块链上运行的其他共享经济系统。作为未来工作的一部分,我们计划扩展我们的系统,以安全地支持多用户对多项目的评估,并防止数据分析攻击。此外,我们还将研究解决方案在大型网络中的可扩展性,以及与其他平台的更好集成。
问题:
在去中心化的智能合约上实现密封拍卖(Sealed-Bid Auction)显然能,通过隔绝了竞拍者之间的互动,隐藏竞拍的相关信息,防止作恶价格操控。但不能链上作恶,就能实现价格最优了?以下是我的疑:
- 无论竞拍者还是矿工,都还会受到市场情绪影响,在最低价和竞价设置被市场情绪影响。
- 后面服务价格的如何根据供需动态调整?
本文来自,仅作分享,存在异议请联系平台删除。本文观点不代表刺猬财经 - 刺猬区块链资讯站立场。