iChain:对等机器学习由区块链技术
- 电气和计算机工程,路易斯安那州立大学巴吞鲁日,洛杉矶,美国
iChain是一个应用程序,旨在帮助满足机器学习的日益增长的需求。它允许用户支付那些强大的机器来运行机器学习任务,绕过需要重大投资在一个强大的计算机来运行它自己。这类似于服务,比如一个渲染农场。我们的应用程序功能使用Ethereum区块链,确保安全和权力下放,以及提供一个平台付款事务。本文将讨论机器学习的背景和区块链,应用程序,它是如何工作的,如何将数据穿过它,以及如何使用它。我们希望我们的应用程序将使许多没有基金构建或购买一个强大的计算机实验和使用复杂的机器学习任务。
对机器学习的需求和区块链
区块链是一个术语大多数听说过关于cryptocurrency,但有很多误解区块链实际上是什么。所示图1区块链是一个“分布式分类帐”或一个扩展数据库存储在许多不同的计算机称为节点。当一个节点想添加一些条目数据库,一定比例的节点必须同意它是有效的。如果他们这样做,更改将通过网络传播(Mearian 2019)。
在公众眼中区块链在很大程度上是与cryptocurrency有关,但blockchains没有cryptocurrency组件存在,如由IBM Hyperledger (詹德2019),和许多blockchains没有货币作为他们的主要目的。比特币是第一步,也是最基本的区块链,也是著名的cryptocurrency (Parkens 2015)(纳库姆托,2009)。区块链的分布和不可靠的性质使得它的服役记录交易安全。
Ethereum是值得注意的是第一批blockchains实现智能合同(雷夫2020)。这是执行的代码存储在区块链和链上的节点。运行代码,执行它的节点必须支付Ethereum cryptocurrency:醚。有不同的语言,最受欢迎的可靠性,这是编译成汇编语言运行在维生素(Ethereum虚拟机)(Buterin 2013)。
机器学习(ML)已广泛应用于很多企业,如金融、医疗、交通等。根据最近的行业报告,机器学习全球市场规模目前是15.8亿年的2017美元,到2024年将增长至208.3亿美元(2020年哥伦布市)。随着市场推动,对机器学习中计算的需求急剧增加Dinh et al ., 2017;Di Persio Honchar, 2018;Dugyala et al ., 2018;Rahouti et al ., 2018)。机器学习培训通常是高度计算密集型,耗时和昂贵的设备上有很高的要求辛格2019年)。为了开发机器学习应用程序在生产速度,用户需要获得高性能设备,如高端gpu。这种方法大大增加了项目的财务负担。或者,他们可以租一个节点从云计算服务提供商如微软Azure, Amazon AWS,谷歌云等等。然而,这些当前的解决方案都是运行在一个集中的方式和所面临的潜在风险的数据泄漏和单点故障。因此,一个可靠的、廉价和私人机器学习平台或基础设施行业一直所期望的。
灵感来自共享经济,我们提出一个点对点(P2P)计算资源共享系统iChain连接机器学习计算平台的需求和供给。谁愿意分享他们的计算设备可以为cryptocurrencies贸易计算能力。与此同时,一个机器学习任务的人都可以发布任务的平台和完成通过使用别人的设备。提供者将支付Ethereum cryptocurrency为他们工作。为Ubuntu创建但它应该在任何版本的Linux上运行,虽然安装脚本可能不会和安装工作将需要手动完成的。
应用程序的体系结构和数据流
首先,我们将讨论我们的选择Ethereum对于这个应用程序。Ethereum选择主要是为它的多功能性和健壮性允许智能的执行合同,其相对普及到其他smart-contract支持blockchains为了增加观众熟悉,和它的用户之间可以轻松支付(而不是一个区块链智能合同像Hyperledger并不功能货币组件来支付)。即将到来的过渡的Ethereum股份的证明,证明和乙货币的标记,也必须加以考虑。然而,标记应带来积极影响,使汇率更有价值和进一步增加它的多功能性(奥美2020)。
这个应用程序函数使用一个节点。js后端。这个后端可以与通过CLI(命令行接口)或web页面。还有一个Python脚本,运行文件传输和任务执行。的节点。js后端使用流行的web3库连接到Ethereum区块链为了使交易。这个布局中可以看到图2。图3展示了一个不同的观点,认为功能子系统的分布。这个图有助于说明每个子系统执行哪些动作。
这个项目的宗旨是让用户想要运行复杂的机器学习任务但谁可能没有一个强大的电脑给别人去做。这类似于一个渲染农场等服务,其中一个购买计算能力呈现三维动画。
这有许多潜在的用途。爱好者、研究者、企业和那些想要试验机器学习但是没有大型投资会发现它非常有用。
从用户的角度来看,一个人上传任务必须采取几个步骤。启动应用程序后,他们的任务文件在指定的目录中,他们必须开始请求一次任务文件已经上传。之后,他们必须选择一个供应商。一旦提供者完成了任务执行,他们还必须选择一个验证器,以确保结果是正确的。验证完成后,他们将获得的结果文件。然后他们必须完成他们的要求和他们的供应商。
提供者角度简单得多。他们只会启动应用程序并开始提供。之后,他们会自动被分配到的任务,作为主要的提供者或验证器。他们可能会离开他们的电脑上运行的应用程序,从执行运行积累利润。
图4是一个非常简化的任务文件,因为它通过程序,显示状态输出给用户。
图5是一个更深入的图,它显示了三种类型的用户做什么,任务经历的步骤是成功完成状态返回给用户。主要进展是用户选择一个供应商,将它们发送任务,提供者运行任务,用户选择验证器,提供者将任务发送给验证器,验证器验证,结果发送给用户,然后用户使结束请求。
所示图5,程序在存款系统工作。当用户提交他们的任务,他们发送一个存款合同。(Ethereum智能合同本身可以储存醚)一旦用户接收结果并使结束任务,提供者将收到的付款合同。这样可以确保两件事:1)提供者不会从工作后付款,和2)用户不会从支付后得到的结果。这确保用户和提供者保持诚实。
附近的用户列图5是一个步骤”给供应商一个评级。“有一个评级系统,帮助用户在选择他们的供应商和验证器。一旦用户的任务已经完成,他们可能会认为他们的供应商基于结果的质量和准确性。这些评级时平均并显示给用户访问菜单选择提供者或验证器。这有助于确保用户可以选择供应商和质量验证器将高效、准确地完成任务。由于智能约束合同文件大小,我们实际上有两个聪明的合同,其中一个专门为评级系统和相关的方面。
安全与安全
我们为这个应用程序有很多安全方面的考虑。最重要的是关于提供者的计算机,因为它们将运行任意代码由一个用户写的。编写的应用程序,它将“Dockerized”发送到提供者之前,谁会在一个码头工人沙箱中运行它。这将确保如果任何恶意代码编写,它将无法影响提供者的电脑。它还允许更多的鲁棒性机器学习代码。
任务文件也在通过互联网发送加密的情况下用户的代码包含任何敏感的或专有的信息。此外,通过Tor传输的文件,这是一个网络的主要目的是安全与加密。这两个确保用户文件会很安全的。
最后,还有两个系统来确保结果是正确的。他们两人已经被提到了。第一个是验证,验证器运行任务,检查结果对从供应商给出的结果。第二个是评级系统,所以如果有人低等级用户知道他们不应该选择他们。
现在我们将讨论我们的文件传输系统。这提出了一个独特的挑战,我们花了比我们想象的更长的时间来克服它。在第一个版本的项目中,连接只是直接的点对点连接使用IP地址。这不仅是不安全的,但它提出了一个问题,当同龄人无法连接到对方由于网络架构。网络和严格的安全,许多NAT(网络地址转换)层不能连接到计算机网络之外。例如,我们不能连接到计算机在路易斯安那州立大学的网络之外。
我们最终找到了一个解决方案在一个程序中称为Onionshare。这个程序允许一台电脑主机一个文件在一个临时地址。请求者使用Tor可以请求该文件并开始下载它。这个解决方案很吸引我们。它允许我们的请求者直接和安全下载文件从一个临时地址,使其他人很难追踪文件的位置。
不幸的是,Onionshare带着自己的问题我们不得不花很长时间。两个主要的是,它是缓慢的,而且很容易出错。解决这个问题是缓慢的,我们把文件分成一定数量的块,并发送单独的块而不是发送整个文件。一旦托管的所有文件,最后一个文件包含个人地址然后主办并发送给请求者。请求者可以读到这些地址,使每个块的请求。我们发现最优配置是将文件分割成很多块CPU线程。
的副作用把文件分成块,现在x倍发生错误的机会。大量的开发时间是花费在创建代码来检测并纠正这些错误。例如,一个非常常见的问题是文件时卡住它的开始。我们必须建立一个系统来检测当它会卡住,并重新启动主机,当这一切发生的时候。有时,它可以连续发生几次,需要反复重启。
图6说明了个人发送的过程文件块从主机到文件传输请求者使用我们的小说。就速度而言,不幸的是转移的速度有时仅仅依靠Tor本身和不同的时间和一天。通过我们的测量,平均传输速度大约是10 Mb / s使用我们的系统。
用户界面
既然我们已经花了很多时间讨论应用程序,它是如何工作的,和它的系统,让我们看看。图7是一个网页应用程序的屏幕截图。这是用户上传的机器学习任务。显示在这个图从上到下:
1)用户的选择Ethereum地址
2)选择停止任务
3)用户的一些信息来帮助他们
4)用户的平衡在他们选择Ethereum地址
5)他们的任务执行的状态。在这个截图,他们的地位是他们正在等待选择一个供应商。每个块的文件是100%完成托管。
6)一个表单来选择一个供应商。有一个Ethereum地址显示连同其评级(目前0,因为它没有完成任务。)
7)池查看器。池是如何排序的用户和供应商在不同的任务执行阶段。在这里,可以看出用户的地址是在“等待”池,因为它仍然是等待被分配一个提供者。
分布式应用程序使用Bash脚本,运行时,将安装所有必要的软件和库以及从GitHub库下载应用程序的可执行文件。这个库包含指令运行的用户和提供者,以及如何创建一个适当的机器学习任务。Onionshare库也下载,用户必须执行文件传输。
为了让程序工作,有一些限制的机器学习脚本必须写。幸运的是,这些限制不限制实际机器学习,必须写。这个文件的主要限制是它必须用python3必须接受命令行参数来确定它是否将完全执行或者简单的检查结果。前者为供应商选择是,后者是验证器。图8显示了这样一个脚本。
使用该程序,用户将需要一个Ethereum地址和一些醚cryptocurrency。他们必须将他们的keystore文件添加到项目用户或工作目录,这取决于他们使用。有益的是,我们的程序有一个内置的函数来创建一个Ethereum地址和用户的密钥存储库文件在正确的目录所以他们没有弄清楚如何做自己。用户仍然需要获得自己的醚。
目前,应用程序驻留在Ropsten测试网络。这是一个网络Ethereum醚是“假”,这意味着它没有价值和一个可以自由。顾名思义这网络是用于测试的想法,而不需要支出实际货币风险。最终它将被放置在主Ethereum网络,提供者可能为他们的工作适当的报酬。
讨论
有一些瑕疵iChain的建议方法。为了确保安全性和准确性,许多不同的调用必须聪明的合同。由于每个调用智能合同需要矿业Ethereum块,它可以接受从10到20年代的Ethereum块开采,每次运行应用程序的用户花1 - 2分钟可以等待一块已被敌军布上了地雷。文件传输系统,也确保安全和connectability跨网络,可以相当缓慢,即使大加速通过我们的方法把文件分成块,花几分钟把一个1 GB的文件。
类似的应用程序存在P2P能源交易市场区块链,用户与电网连接贸易能源使用区块链市场(无限的能量,(2020)。W, 2020]。这样一个市场的一个例子是DeTrade (电脑和巴拉,2020)。这些市场相比,我们的应用程序中,使用更复杂的机制选择的买家和卖家的能量。虽然这样做自动化的过程选择卖家,看起来太复杂了,我们的目的,选择一个卖方的过程来计算你的ML的任务很简单,允许用户更多的控制。DeTrade还使用令牌由第三方银行,是为了防止价格波动,但会导致平台无法实现充分分散。说(2020)提出另一个这样的市场专门为电动汽车在停车场内电力交易,利用机器学习来最大化利润。
臀部et al。(2016)描述了一些区块链的应用在各种分散物联网(物联网)场景。虽然我们不是针对物联网应用,本文的重点是DApps和实施在未来交易类似于我们的目标分散交易的服务。
Hawlitschek et al。(2018)在区块链讨论相信这些免费的技术的局限性。他们断言,信任是至关重要的社会功能,随着区块链越来越无处不在,它将更多地依赖于信任。我们的应用程序确实需要一定程度的信任相信提供者将返回的结果是正确的,但验证器和评级系统允许用户有理由信任。
结论
总之,我们已经创建了一个项目,大大降低了运行高复杂性的机器学习代码的门槛。我们希望使用它将允许更多的实验与好奇机器学习,无论他们是研究人员,业务,只是尝试,或者介于两者之间的任何东西。
作者的贡献
LP创造了这个想法,监督,给建议。TL管理和帮助发展。CJ和公关工作网站和文件传输系统。糖尿病和SP的节点。js后端和区块链连接。
的利益冲突
作者声明,这项研究是在没有进行任何商业或财务关系可能被视为一个潜在的利益冲突。
引用
Buterin,诉(2013)。Ethereum白皮书。从ethereum.org获取:https://ethereum.org/en/whitepaper/。
l·哥伦布市(2020)。摘要机器学习的预测和市场预期。从福布斯:检索https://www.forbes.com/sites/louiscolumbus/2020/01/19/roundup-of-machine-learning-forecasts-and-market-estimates-2020/。
Di Persio L。,and Honchar, O. (2018). Multitask Machine Learning for Financial Forecasting.Int。j .电路系统。信号的过程。12日,444 - 451。
Dinh, t·t·A。王,J。陈,G。刘,R。,Ooi, B. C., and Tan, K. L. (2017). “BLOCKBENCH: A Framework for Analyzing Private Blockchains,”诉讼的ACM SIGMOD国际会议管理的数据,芝加哥伊尔,2017年14 - 19可能PartF127746吗,1085 - 1100。
Dugyala, R。,Hanuman Reddy, N., Raghuram, G., and Lakshminarayana, J. (2018). Decentralized Secure Online Digital Data Registrations.Int。j . Eng。技术(阿联酋)7 (4),42-44。doi: 10.14419 / ijet.v7i4.6.20231
Hawlitschek F。,Notheisen B。,and Teubner, T. (2018). The Limits of Trust-free Systems: A Literature Review on Blockchain Technology and Trust in the Sharing Economy.电子。商业研究》:。29日,50 - 63。doi: 10.1016 / j.elerap.2018.03.005
腰,S。,Bhattacharya, R., White, M., and Beloff, N. (2016). Internet of Things, Blockchain and Shared Economy Applications.过程。计算机科学。98年,461 - 466。doi: 10.1016 / j.procs.2016.09.074
无限大的能量(2020)。点对点能源交易是什么?。从无限大的能量检索:https://www.infiniteenergy.com.au/peer-to-peer-energy-trading/。
Mearian, l (2019)。区块链是什么?完整的指南。从《计算机世界》检索:https://www.computerworld.com/article/3191077/what-is-blockchain-the-complete-guide.html。
Nakamoto,美国(2009年)。比特币:点对点的电子现金系统。加密邮件列表在https://metzdowd.com。
奥美,t (2020)。标记化的把乙将取代乙——这是件好事。从Coindesk检索:https://www.coindesk.com/staked-eth-will-replace-traded-eth。
电脑,s V。,and Bâra, A. (2020). Local Market Mechanisms Survey for Peer-To-Peer Electricity Trading on Blockchain Platform.科学的公牛。海军专科学校23 (1)186 - 191。
Parkens, d . (2015)。伟大的链被确定的事情。从《经济学人》检索:https://www.economist.com/briefing/2015/10/31/the-great-chain-of-being-sure-about-things。
Rahouti, M。熊,K。,and Ghani, N. (2018). Bitcoin Concepts, Threats, and Machine-Learning Security Solutions.IEEE访问6 (8528406),67189 - 67205。doi: 10.1109 / access.2018.2874539
雷夫n (2020)。比特币与Ethereum:有什么区别吗?。从Investopedia检索:https://www.investopedia.com/articles/investing/031416/bitcoin-vs-ethereum-driven-different-purposes.asp。
辛格,h (2019)。所有你需要知道的关于机器学习的硬件需求。从eInfochips检索:https://www.einfochips.com/雷竞技公司blog/everything-you-need-to-know-about-hardware-requirements-for-machine-learning/。
詹德,m (2019)。介绍Hyperledger织物。从opensource.com获取:https://opensource.com/article/19/9/introduction-hyperledger-fabric。
关键词:区块链、ethereum对等、机器学习、事务
引用:陆约翰逊C T,里维拉P,麦当劳D,普里切特和彭L (2021) iChain:对等机器学习由区块链技术。前面。区块链4:676159。doi: 10.3389 / fbloc.2021.676159
收到:2021年3月31日;接受:2021年6月28日;
发表:2021年7月12日。
编辑:
Joerg Osterrieder瑞士苏黎世大学的应用科学版权©2021年约翰逊,里维拉,麦当劳,普里切特和彭。这是一个开放分布式根据文章知识共享归属许可(CC)。使用、分发或复制在其他论坛是允许的,提供了原始作者(年代)和著作权人(s)认为,最初发表在这个期刊引用,按照公认的学术实践。没有使用、分发或复制是不符合这些条件的允许。
*通信:吕鹏,lpeng@lsu.edu