区块链的众多优势使其可以很好地解决现有一些技术所面临的瓶颈问题,利用这些优势和传统云计算技术相结合,将促进基于区块链的分布式云计算领域的一些突破和应用,为大规模的应用打下基础。
最近几年,区块链作为新兴的技术引起了广泛的关注。区块链可以应用的领域非常广,包含支付、身份识别、云计算、物品溯源、游戏、投票、医疗等。众多传统的技术也可以和区块链技术相结合发挥更大的作用,比如在传统的云计算领域,将云计算和区块链结合起来可以实现更高效、更经济、更安全可信的分布式云计算。
云计算及所面临的问题
云计算是一种基于互联网的计算方式。通过这种方式,共享软硬件资源和信息,可以按需求提供给计算机各种终端和其他设备。云计算是继上世纪80年代大型计算机到客户端—服务器的大转变之后的又一巨变。用户不再需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制。云计算描述了一种基于互联网的新IT服务增加、使用和交付模式,通常涉及通过互联网来提高动态易拓展且经常虚拟化的资源。
然而,云计算技术的发展也存在不少痛点。
现有云计算市场极度中心化,市场份额由少数几家科技巨头依靠自身高度集中化的服务器资源垄断了整个云计算市场,借助市场力量享受高额利润,进而导致算力服务价格居高不下。BOINC(伯克利开放式网络计算平台)是目前最为主流的分布式计算平台,为众多的数学、物理等学科类别的项目所使用,但是由于这是基于分布在世界各地的志愿者的计算资源而形成的分布式计算平台,缺乏足够的志愿者来贡献算力。
分布式云计算的良好平台
桌面网格的思想是收集互联网上未充分利用的计算机资源,在一个分布式虚拟的超级计算机上,以极小成本执行大规模并行及分布式应用程序。
桌面网格计算技术有三个功能使其成为完全分布式云计算的良好平台:***是韧性,如果某些节点出现故障,计算仍能继续在其他工作节点上运行;第二是效率,即使计算节点多种多样,应用程序仍可以获得***性能;第三是易于部署,无需特定配置即可使用任意节点,甚至包括那些位于网络边缘的节点。这使得包括传统的高性能计算集群、云基础设施及个人电脑等计算资源的桌面网格成为组合混合基础设施的***解决方案。
然而,桌面网格仍然存在一些重要的问题,比如难以计算各个节点对网络作出的贡献,从而缺少激励机制,难以撮合需求与计算资源的匹配等。
区块链技术的出现,可以很好地解决这些问题,比如通过贡献证明协议提供可证明的共识、可追溯性和信用机制。
基于区块链的分布式云计算
基于区块链的分布式云计算基础设施将允许按需、安全和低成本地访问***竞争力的计算基础设施。而分布式应用程序DApps则可以通过分布式云计算平台自动检索、查找、提供、使用、释放所需的所有计算资源,如应用程序、数据和服务器。通过简化访问服务器的方式,分布式云计算大大降低了数据中心的热能损耗,同时使得数据供应商和消费者更容易获得所需计算资源。
传统区块链,如比特币和以太坊依赖于工作量证明机制(PoW),以确保区块链上参与者之间发生的代币交易被大量节点采用的加密挑战所验证。而基于区块链的分布式云计算则可以采用贡献证明协议,即通过链外行为,如实时提供数据集、传输文件、执行计算、提供专业服务等活动引发参与者之间的代币交易。
因此,需要一个新的协议来证明贡献已经准确无误地发生,且相应的代币交易可以在区块链上进行。我们称这种共识机制为贡献证明机制。有几个采用相似协议的平台如GridCoin、FatCom、FileCoin,它们允许在区块链和链外资源之间建立共识。例如,GridCoin提出了研究证明来奖励那些捐赠了部分计算机时间给生物医学研究,以及探索宇宙等伟大科学计算的志愿者。相比较而言,贡献证明将更加通用,允许验证更多的行为。
在分布式系统中可以使用一种匹配算法,通过相关描述将一个资源请求和一个资源供应进行匹配。在设计分布式云平台时,匹配算法是资源配置中的一个基本构建块。它基本上解决了“我可以在这台机器上运行这个任务吗”的问题。我们通过iEx.ec区块链存储智能合约来描述计算资源的特征,如内存容量、CPU类型、磁盘空间等。有些合约描述的是运行一个任务或部署一个虚拟机实例的要求(如最小磁盘空间、内存、GPU运行的要求、预计管理程序等)。匹配描述语言已经在一些学术论文中得到详述,并在软件中得到了应用。
在分布式系统中,调度算法会分配一些任务在相关计算资源上执行。调度程序是分布式计算系统的一个重要组成部分,应用程序执行的性能主要取决于它的有效性。调度程序面临的一个特别挑战是设计多标准调度,即一个算法中有多个策略来选择计算资源和调度任务。
基于区块链的分布式云计算的技术不仅仅存在于理论中,众多采用这些技术的应用项目如Golem、iExe、cSONM等已取得一些进展。Golem希望建立在以太坊上的去中心化的GPU计算资源租赁平台;cSONM正在打造通用的去中心超级计算机;法国区块链技术公司iExec为所有计算资源相关的供应商(计算服务商、数据供应商、应用程序供应商)提供了一个资源共享交易的可信平台。融入了独有的贡献证明共识协议和英特尔***的安全可信技术(Intel SGX)来确保平台的可信度和平台上数据的安全性,支持从高性能计算到物联网在内的多个领域的应用程序。
区块链的众多优势使其可以很好地解决现有一些技术所面临的瓶颈问题,利用这些优势和传统云计算技术相结合,将促进基于区块链的分布式云计算领域的一些突破和应用,为大规模的应用打下基础。