(学术前沿)区块链在众包的应用,如何实现高效的链上成本?

Posted ChainingBlocks

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(学术前沿)区块链在众包的应用,如何实现高效的链上成本?相关的知识,希望对你有一定的参考价值。

在阅读本文之前,建议先阅读前面相关的基于区块链的众包应用的文章:

本文的内容来自本人顶会论文:Liang, Yihuai, Yan Li, and Byeong-Seok Shin. "Decentralized crowdsourcing for human intelligence tasks with efficient on-chain cost." Proceedings of the VLDB Endowment15.9 (2022): 1875-1888.

回顾和背景

前文讲到了区块链在众包中的背景知识。简而言之,requester发布任务购买workers的数据。如果数据满足条件,requester支付给workers报酬。安全上,“防止搭便车”和“防止错误报告”是该应用的基本条件。由于现有的公共区块链拓展性差,我们应该避免使用区块链来收集worker的数据,也应该避免使用智能合约来评估worker的数据质量。同时,我们也提到,目前区块链的透明性可能会破坏众包中“防止搭便车”的安全要求,且评估worker的数据质量是“防止错误报告”的不可或缺的步骤。

上图讲的是一个requseter将问题和要求发布在一个众包平台上。workers回答这些问题。该平台根据requester的预定义好的规则评估worker的答案。如果答案满足requester的质量要求,该平台将requester的押金作为报酬支付给该workers。

我们的平台主要针对Human Intelligence Task (HIT),这样的任务需要workers参与才能完成 (而不是仅仅使用传感器或者其他智能设备来完成任务)。下面图片给出了两个例子。第一个是worker参与标注一个图像是室内还是室外。这样的标注数据可以用来训练深度学习模型。第二个例子使用长方形框来标准一个图像中的物体,这样的数据可以用来训练图像物体识别的深度神经网络模型。在AI盛行的今天,这样的标注任务被广泛使用的且很必要。

深度神经网络是大数据驱动的。拥有大量的高质量的数据才能训练出更好的模型。“大量”意味着需要众包这样的平台来标注海量的数据;“高质量”意味着该众包平台得具有“防止错误报告”的能力(这是站在requester的利益立场)。当然,对于worker来说,该平台得具有“防止搭便车”的能力。

问题描述:

基于上面的分析,我们要解决的问题为:使用一个公共区块链建立一个能够防止搭便车和错误报告,具有高效的链上成本,不使用零知识证明工具(e.g., zkSNARKs)的用于HIT任务的众包平台。

我们的结果:

我们的方案:

如何评估worker的工作质量呢?

下面我们给出一个例子:

上图中,一个requester打算发布一个任务。该任务是为了给图片标注“室内”和“室外”两个标签。其中使用1表示室内,使用2表示室外。于是他准备好了需要被标注的图片,同时准备了一些标准图片(Gold-standard images),该标准图片是requester自己已经标注好的图片,作为标准答案用来评估worker的工作质量。于是,requester将标准图片和其他图片随机混合。

worker无法区分哪一个图片是标准图片。为了获得报酬,他只好一个一个认真的标注所有的图片。如上图所示。等该worker标注好图像之后,requester公开承诺过的标准图片,用来评估worker的数据质量。

上图中第二排图片是标准图片,通过和worker所标注的对应的图片对比,来确定worker的工作质量。上图的四个标准图片中,worker标注的结果有三个正确。因为标准图片是随机混合进入其他图片的,所以,我们有理由认为worker正确标注的图片的数量占所有图片的3/4 = 75%. 当然,为了提高准确度,requester需要使用更多的标准图片。

我们的协议,bHIT

基于上面的质量评估方法,我们使用下面的协议来进行众包任务:

bHIT的核心是请求者和 Worker 使用智能合约来解决请求者和 Worker 之间的纠纷,该合约具有支付权限并充当裁判。我们使用标准答案来评估工人答案质量。在bHIT协议中,我们的主要思想是,请求者先乐观地信任工人。如果最终请求者发现工人不诚实,请求者会生成不匹配证明 ( PoM ) 让智能合约对其进行仲裁,以保障公平性。这个主要思想背后的直觉是,可以通过两种方式来确认工人是否诚信:证明工人所有的(编码)数据都符合规则;证明工人的任何一处编码(编码)数据不符合规定。后者比前者容易很多。

我们描述了bHIT协议的概述(上图所示)。1) 请求者向智能合约发布任务、押金、标准答案(gold-standard answers)承诺等参数,并将问题和辅助数据(如需标注的图片)放到网页等可让工人访问的地方。 2) 工人回答任务中的问题,并将回答的承诺、密钥的承诺和 Pedersen 承诺方案的公共参数发送到智能合约。 3) 请求者披露所承诺的标准答案。工人使用标准答案来评估自己的答案质量,并对答案进行加密和编码。如果答案不符合质量要求,则工作人员终止协议。4) 在还没知道工人的答案的情况下,请求者验证工人的编码数据是否使用指定的数据结构来构造和编码。如果验证通过,请求者通过向智能合约发送一个ACK,表示接收到了工人编码数据。 5)然后,工人揭露密钥。 6) 收到密钥之后,请求者直到现在才知道工人的答案。请求者使用公开的密钥解密和解码,然后验证答案。在工人揭露答案之后的一段时间内,请求者如果发现工人的数据不一致,请求者可以生成一个不一致证明(PoM),将 PoM 发送给智能合约以仲裁该工人是否诚实。如果工人不诚实,那么智能合约就将押金退回给请求者。如果在这一段时间内请求者没有向智能合约抱怨或者请求者抱怨失败,那么,这段时间过后,智能合约将请求者的押金作为报酬发给该工人。

加法同态承诺树

为了实例化bHIT协议,我们构建了一个building block,加法同态承诺树。

加法同态承诺树

对这篇论文感兴趣的童鞋,可以观看本人在B站的视频,上面有完整的演讲PPT:

VLDB2022论文,区块链在众包中的应用_哔哩哔哩_bilibili

该论文可以通过这个链接下载:https://www.vldb.org/pvldb/vol15/p1875-shin.pdf

Liang, Yihuai, Yan Li, and Byeong-Seok Shin. "Decentralized crowdsourcing for human intelligence tasks with efficient on-chain cost."Proceedings of the VLDB Endowment15.9 (2022): 1875-1888.

谢谢

以上是关于(学术前沿)区块链在众包的应用,如何实现高效的链上成本?的主要内容,如果未能解决你的问题,请参考以下文章

区块链在众包中的应用,防止搭便车和避免不真实报告

区块链在众包中的应用,防止搭便车和避免不真实报告

区块链在众包中的应用,防止搭便车和避免不真实报告

区块链在众包中的应用,防止搭便车和避免不真实报告

区块链社会:解码区块链全球应用与投资案例

区块链在中国怎么练?