区块链该如何获得人工智能的能力
扫描二维码
随时随地手机看文章
随着人们在虚拟世界的行为数据日趋复杂和丰富,随着未来物联网设备数十亿数百亿级别的增加,数据复杂度将呈指数级增加。在这种情境下,区块链、人工智能以及物联网,将会是未来几十年最重要的技术推动力量,可以说是三驾马车。人工智能的产生源于人类对自身局限的改进。作为生物能的主体,人类无法持续进行大量的运算,难以接近事情的全貌。人工智能弥补了人类的局限,在极其庞杂的数据中,帮助人们作出更好的决策。
区块链的本质是构建一套无须中介即可自运行的系统。跟中心化的系统不同,要达成自运行的系统,需要达成多方的共识,所以,需要有人记账,有人验证,以达成共识。通过这样的过程,区块链在人类历史上第一次实现了不依靠单一主体的信任和安全。仅这一点而言,区块链就是具有社会革新性的技术。
那么,Cortex如何来实现这一切?Cortex如何给区块链赋于人工智能的能力比特币和以太坊不具备人工智能的能力。比特币的核心是通过区块链实现无须中介参与的价值网络,实现价值的可信确认和转移。以太坊具备简单合约计算能力,通过区块链的共识和不可篡改实现合约的自动执行,但以太坊还不具备构建人工智能应用的能力。
机器学习方面,中心化的公司有很大的优势,大公司在数据和算力、算法方面都有优势。像一些大公司拥有用户的大量真实行为数据,拥有大量的算力,并通过模型不断迭代升级。去中心化的模型训练,要解决更多的问题,比如隐私问题、带宽问题、数据同步等。有一些方案,比如同态加密能保护用户隐私,但由于运算量过高,当前落地还不现实。
Cortex要赋能区块链,它的突破口在于提供一批链上最好的机器学习模型。有了这些机器学习模型,模型的需求者就可以使用它们来对智能合约进行推断。更进一步,Cortex的用户可以在平台上发布对模型的需求,贡献者根据需求提交模型,通过智能合约调用模型进行推断,最终形成具有人工智能能力的dApp。
当然,最终来说,Cortex要赋能区块链,不仅是在模型上实现突破,预计未来会在隐私保护、分布式数据交换市场、分布式算力市场等方面进一步突破。具体来说,Cortex是如何构建赋予区块链人工智能的能力的?它有一个全面的解决方案,包括了系统架构、软件方案、硬件方案等。为了在区块链的智能合约上赋予智能推断能力,Cortex从两个方面着手,一是构建模型的市场;二是智能推断的执行方案。
如果是中心化的模型市场,只要有一个中心化的主体来组织模型的需求者和贡献者形成市场即可,就像今天的淘宝市场一样。但是,中心化的模型市场存在信任、安全、隐私保护、费用高等诸多问题。很难保证中心化主体的完全可信任、很难保证数据和模型的足够安全,另外,一旦形成市场的垄断,费用方面也会高于去中心化的解决方案。
具体流程来说,首先全节点会查询模型索引,找到该模型在存储层的位置,并下载模型的字符串和对应参数。之后,通过Cortex模型表示工具将模型字符串转换为可执行代码。然后再通过Cortex的虚拟机CVM执行可执行代码,得出结果进行全节点共识广播。在区块链上进行深度学习的部署并非易事,主要是受制于节点的算力、内存和能耗,且区块链要求严格的确定性。这对链上的AI推断实现带来很大的挑战。
Cortex采用的是PoW共识,关于PoW共识大家了解比较多,这里不做详细阐述。Cortex链的主要改进在于试图让参与挖矿的矿工在硬件上更公平,这里的挖矿矿工主要指的是链上记账的矿工。Cortex采用Cuckoo Cycle的PoW试图缩小CPU和显卡之间加速比的差距,并发挥智能手机显卡的效能,甚至让手机挖矿成为可能。
具体来说,Cuckoo Cycle是一种基于图论的求解算法。它要在Siphash随机生成的Cuckoo二分图中寻找到固定长度L的环。求解的过程,也就是寻找环的过程。求解的难度跟图的规模和L值相关,是一种Memory-hard的PoW算法。Cortex主链采用Cuckoo Cycle的变种算法CuckARoo30算法,CuckARoo算法主要是对二分图内所有的节点进行分组,每组内的节点存在相互依赖关系,大大增加了求解难度,具有抗ASIC特性。
Cortex的CuckAroo30算法,将Siphash-2-4替换为Siphash-4-8,通过其抗ASIC的算法特性,可让更多普通矿工参与进来,以实现去中心化。Cortex目前的出块时间大约15秒,每个区块奖励7CTXC,每四年减半。同时,为了保证相对稳定的出块时间,利于防止双花和记录被篡改,Cortex的难度是动态调整的。
关于Cortex的软件方案和硬件方案,这里不做过多的介绍,详细内容可以参考Cortex的白皮书。这里重点提一下Cortex的CVM,也就是Cortex自己独有的虚拟机。CVM指令集兼容以太坊的EVM,还提供对推断指令的支持。Cortex的核心指令集覆盖主流人工智能的计算框架操作,支持跨平台的推断共识。
Cortex的模型表示工具旨在创建灵活开放的标准,实现深度学习框架和工具的互操作。Cortex模型表示工具方便人工智能开发者根据不同任务选择合适的框架,框架开发者可专注于创新和升级,硬件供应商可以进行有针对性的优化。Cortex的代币为CTXC,其主要作用通过激励形成生态系统的正向循环。Cortex的生态主要参与者包括矿工、全节点、模型贡献者、模型需求者、Cortex基金会、顾问和社区等。每个角色都需要得到激励,才能形成去中心化的生态体系。