生命之花(Flower of Life)是基于生命数据的大健康公链,利用一主链三侧链(永久存储链、临时存储链、计算链)的四链结构解决生命数据的存储、分析、预警、交易问题。FOLI 核心功能有健康数据存储、疾病分析、基于大数据的预警和健康数据的查询、搜索和交易。
由于生命数据的珍贵、隐秘和多样性特点,FOLI 采用去中心化设计,集成优化 P2P 网络和 IPFS 的优点,保证了文件存储的有效性。同时采用多级访问权限证明,保证了整个区块链的健壮和稳定性。
生命数据种类多样、数量庞大,其数据的挖掘需要巨大的计算能力来支撑,因此我们将使用 Dadoop(Distributed Hadoop) 来提供计算服务。挖掘算法,可以从永久数据链读取生命数据,发送计算任务到分布式计算链,中间结果存储到临时数据链,结果回存到永久数据链,有效的经验将被系统应用为 EAAS(Experince As A Service),并开放给用户使用。
FOLI 提供了一个隐私分类的数据分享和交易协议,把用户的生命数据分为普通级、秘密级和隐私级,分别提供不同的访问权限,支持灵活的数据交换。
同时,FOLI 是一个开放的泛健康公链,基于生命数据的隐私分级,结合智能合约和开放接口,可以实现主体、数据、价值、适配、信任、场景六维基础的连接。
本文介绍了 FOLI, 它是一个是以计算和存储为中心的去中心化生命数据区块链网络,基于健康行业数据隐私性强、计算量大的特点,提出以下创新:
1. 隐私分级和同态加密;
2. 永久数据链、临时数据链、计算链和主链,四链合一;
3. 引入 Dahoop(Distributed Hadoop) 来协同大数据计算,满足生命数据分析需求;
4. 基于 FOLI 的存储和计算架构,为健康数据提供独特支持 , 既能满足 B 端用户需求,又能满足 C 端用户需求。
FOLI 技术架构
FOLI 整个系统被设计成一个健康数据生态平台,通过数据标准化采集,在去中心化的健康数据存储的基础上,提供基于生命数据的大数据查询、分析和计算服务。数据查询和分析任务可以在授权的范围内使用,这些数据也可以在 FOLI 中进行交易和存储。FOLI 将连接智能硬件、个人计算机、专用的矿机来促成低成本、去中心化的健康数据收集、存储和计算。
FOLI 提供四个主要的功能:健康数据采集、数据存储、数据计算和数据交易。通过标准化数据采集和激励机制的引入,获取巨量的数据,通过去中心化存储来保证存储的容错性要求,通过分级的隐私数据管理,各种分析算法将直接作用于海量的数据而生成有用的结果,数据的产生者也可以通过交易的形式获取相应的回报。
1、FOLI 设计理念
FOLI 整个系统设计的理念在于使用激励的机制为健康产业提供廉价的存储和计算功能,并利用存储和计算为泛健康生态服务基础,把医生的经验直接以 Experience As A Service(经验即服务)的形式呈现。
FOLI将使用Hadoop作为计算引擎,IPFS作为存储引擎,FoundationDB作为索引数据引擎。计算链负责数据计算,临时存储链负责存储非持久性临时数据,永久数据链存储用户健康数据,主链负责侧链之间的协调和记账功能。
2. 多链结构
2.1 FOLI 设计为四链结构
其满足三个主要属性:
1. 主链和侧链结构;
2. 主链和永久存储侧链不可更改,计算侧链和临时存储侧链可以更改;
3. 存储数据结构化。
第一个属性确定了整个网络的主从结构,第二个属性可以解决系统的拓展性、容量和延迟问题,第三个属性确定数据的统一接口和应用标准。在 FOLI 链中,主链负责交易,侧链负责计算和存储,根据数据存储的性质,又细分为了永久存储侧链和临时存储侧链。
2.2 永久存储侧链
IPFS、Storj 是流行的分布式存储协议,我们在 IPFS 的基础上,针对高频文件和长尾文件区别对待,以最大化的优化存储的效率,实现线上数据和线下存储的辩证统一。
2.3 临时存储侧链
在 FOLI 框架下,将产生大量的中间结果和状态,这些数据并不需要保证长期的一致性,针对这种特殊的需求,我们将把可改变数据,可交换数据存储在临时存储侧链上。
2.4 计算侧链
大多数常见的区块链用于记账,其计算都是非常简单的,包括以太坊在内的图灵机完备语言 Solidity 也仅限于简单的应用,这些计算对资源的要求很低。但在健康领域内的数据挖掘和数据查询,人工智能都需要非常多的计算机资源,因此对于 FOLI 我们设计更通用的数据查询SQL 和 Pig/Hive 任务。要存储所有的计算状态显然是不可能的,所以计算侧链的共识我们将通过随机验证和验证博弈算法来实现。
2.5 数据查询
数据的查询是非常重要的一个功能,我们将提供多语言的 API 和Driver 给上层应用服务。
3、FOLI 架构设计
Bitcoin 作为第一代区块链的代表,Ethererum 作为第二代区块链的代表,都使用的单链结构,其应用场景相对比较简单,比特币主要是货币属性,以太坊可以执行简单的代码,但由于其单链结构的设计,其性能受到了很大的制约。FOLI 在比特币、以太坊和 EOS 基础上,提出了主链和侧链相结合的模式,主链负责记账和协调,侧链负责执行。
3.1 FOLI 系统架构
最 早 的 共 识 机 制 是 工 作 量 证 明 (POW),Cynthia Dwork 和 MoniNaor 于 1993 年提出,中本聪在 2009 年首次应用到比特币中。POW 的特点是安全性高、去中心化程度高,最大的缺点是性能差,而且消耗大量的资源用于保证安全性。
为解决 POW 的问题,Sunny King 提出了另一类共识机制——权益证明 (POS)。POS 需要每个矿工抵押虚拟代币以保证其不作弊,挖矿的难度和其拥有的货币数量成反比。通过这样的设计,系统的速度可以得到提升,不过这种提升是通过牺牲安全性得到的,因为下一个出矿节点被预测的概率大大增加。
2013 年 ,BM(Daniel Larimer) 提 出 了 代 理 权 益 证 明 的 共 识 机 制(DPOS)。DPOS 大大减弱了去中心化机制,通过代理来验证交易。这些代理节点是通过一币一选票的形式产生。EOS 是典型的基于 DPOS 的区块链网络。DPOS 的优点是速度快,缺点是中心化,这是由其代理节点的生成机制和验证机制决定的。21 节点架构的 EOS 很容易被操控,滋生腐败。
FOLI的主链设计基于Verifiable Random Function (VRF) 的DPOS机制,类似于Algorand(https://people.csail.mit.edu/nickolai/papers/gilad-algorand.pdf ),在保证安全性的同时又解决了性能问题。
永久数据侧链 (PDSC Permanent Data Side Chain) 是建立在 P2P存储网络上,用以存储永不删除的生命数据。
临时数据侧链 (TDSC Temporary Data Side Chain) 也是建立在P2P 网络上,用于存储中间计算状态、结果以及临时高频访问数据。
计算侧链 (TSC Task Side Chain) 是用于解决实际问题的计算任务( 例如智能医生诊断,计算基因缺陷,分析对比血液元素等),这些实际任务将在 FOLI 虚拟机上运行(FVM)。
生命数据存储在永久数据链上,计算侧链读取生命数据并运行算法,临时结果存储在临时数据侧链,当数据被确认后,存入永久数据链,运行的过程中,侧链负责把 Cost 和交易相关数据发到主链,主链负责Token 的最后确认。
如图 2 所示,在生命之花网络中,主链负责管理所有的交易和协调其他三条侧链。主链通过智能合约驱动计算和存储,侧链的引入可以提高整个系统数据存储和计算的效率。每条侧链拥有其单独的共识机制,计算侧链是用可验证数据计算共识,临时存储侧链是用 PoST(时空证明),永久存储侧链则是使用 rPoST( 更新版的 PoST)。主链的操作不受侧链的影响,而在其上运行的智能合约也可以分为四类:
1. 不需要访问存储和计算侧链的合约(例如转账,钱包操作,创建自己的虚拟货币等);
2. 只需要访问存储的智能合约(例如访问病人的病历信息);
3. 只需要访问临时存储和计算的智能合约(例如对自有的数据进行医学模型验证);
4. 需要临时存储、永久存储和计算的智能合约(病情分析,病情预警等)。
图 3 就是一个时序图,简单的叙述了合约的执行过程。
3.2 主链
FOLI 主链区块生产的流程如图 4 中描述的过程。首先在每一轮中 会 由 一 个 随 机 泉(Random Spring) 产 生 一 个 随 机 数(Random value)。这个随机数有两个作用,一个是选出这一轮的区块生产人(Block Makers),二是选出这一轮的区块公证人(Notary)(图中的 1 过程)。在区块生产人被选出以后,提议这一轮的新区块然后提交给区块公证人(图中 2 过程)。区块公正人接收提议区块后将其公证(只有最终被公正的区块才能作为新区块加入区块链),然后将公证的区块向全网广播(图中 3 过程),一个新的区块正式生成。在随机灯塔收到经过公证的区块后,产生下一轮的随机数,然后重复上一过程。
通过引入 VRF 的 DPOS 机制,在保证安全性的基础上,大大的提高了交易的确认速度和性能。侧链使用和主链一样的 Token, 也可以使用单独的 Token,按照一定比率进行兑换。
3.3 数据侧链
数据侧链是基于 P2P 存储网络 IPFS。链本身只作为激励层,不负责数据存储本身,FOLI 使用时空证明 PoST 作为数据的共识机制。PoST 是去中心化分布式存储的基础,其优势包括闪电交易速度、高隐私、低交易费等优点。
根据数据的持久状态,FOLI 数据链分为两类:一个是持久数据侧链,此侧链的数据是长期保存的数据,具有持久性、长尾性,但对稳定性有很高的要求。另一个是临时数据侧链,合约执行的临时数据或者具有时效性的数据,将存储在临时数据侧链,此侧链上的数据要求访问速度快,访问频繁。
临时数据侧链对应于传统的 Cache 缓冲层,持久数据侧链对应于数据库 Persistent 层。
3.4 计算侧链
计算侧链结构和数据侧链类似,当客户端通过 SDK 发送到网络,请求存储在链上,链充当一个任务分发池的功能,每一个矿工都可以从任务池中获取任务,当任务完成以后,任务的状态信息将发送到计算链来更新状态和获取激励。
计算侧链不仅具有 MapReduce Miner,通过构建无状态点对点数据库,它同样可以实现数据查询的任务。FOLI DB 基于 Orbit DB,使用 IPFS 作为数据存储层,IPFS PubSub 来自动同步数据库。这里MapReduce 和 DB Miner 在同一个容器中,可以分开调度和管理,也可以联合调度和管理。
3.5 跨链通信
在 FOLI 链,有几种不同类型的跨链通信:
1. 主链,计算链(纯计算任务,无中间存储,适用于自包含数据任务);
2. 主链,永久存储链(纯存储任务,医疗数据,健康数据上传,下载);
3. 主链,计算链,永久存储链 ( 无中间存储,结果直接作用于永久存储链);
4. 主链,计算链,永久存储链和临时存储链。
图 8 展示了 FOLI 跨链协议在最复杂的四链的情况下的交互,其他类型的跨链通信只是四链通信的子集。
跨链通讯流程:
⑴ 。 任务或者查询发起人,通过任务和查询接口,提交查询 / 任务到主链。主链负责:
①验证区块状态;
②验证跨链合约正确性;
③锁定账户余额;
④任务或者查询发送到计算链。
⑵ 。 根据任务类型,任务的执行者和验证者都会把合约代码和数据导入生命之花虚拟机,并在 FVM 中执行计算和验证。计算链主要负责如下功能:
①解析合约代码和查询代码,并分解执行;
②读取写入数据链,包括临时和永久数据链,合约代码中会指定存 储类型,类似于缓存和磁盘结构;
③在需要的时候,把必要的数据传回主链。
⑶ 。 数据存储链,主要是为了提供基础的数据存储功能,临时数据链重在访问速度和效率,永久存储链重在可用性和完整性。存储链主要功能:
①验证区块格式;
②保证底层数据存储的可用性,完整性和安全性;
③通知主链有关数据读写的消息,确保账号余额足够支付存储费用。
⑷ 。 当任务完成后,任务结果返回给执行人,主链记录状态变成完成状态,主链和不同侧链的矿工得到回报。
4、 计算验证模型和共识机制
健康产业需要一系列的计算能力和查询能力,FOLI 链的核心是提供去中心化的计算、查询和存储平台。在拜占庭环境下,我们必须要构建一套验证机制来保证计算的可验证性来避免恶意节点通过伪造结果来获利。针对不同的任务类型,我们使用了『计算 - 挑战 - 仲裁』模型和『概率可验证计算』来保证计算的可验证性。
在 FOLI 链中,因为任务的多样性,对准确性和速度都有不同的要求,我们通过调整任务人的个数和验证的个数来优化系统。
4.1『计算 - 等待窗口 - 挑战 - 仲裁』模型
在中心化平台,一般的任务不需要多台机器同时执行,因为结果是可预知的,而且平台本身保证了数据的正确性,在去中心化平台中,为了防止矿工作恶,我们提出了『计算 - 窗口 - 挑战 - 仲裁模型』,模型的运行过程如下:
1. 用户提交计算任务;
2. 矿工获取并提交计算结果;
3. 进入窗口等待期,如果没有挑战,则直接获取回报;
4. 如果有挑战,挑战人提交核对结果;
5. 仲裁人比较结果,在结果矢量中获取第一个不同的结果,计算出正确答案,仲裁结束。
4.2『概率可验证计算』模型
要验证某个单一计算的正确性是非常困难的,所以在 FOLI 网络中,我们通过多个节点的计算,来获得统计上的正确性,结合计算 - 等待窗口 -挑战 - 仲裁模型,我们可以提高作恶的成本,降低作恶成功的概率。
假设在网络中有 N 个活跃节点,M 个恶意节点 。 我们定义规则为:
1. 链上保存一个计数器;
2. 当出现 W 个结果而且结果都一样的时候认定为正确结果并把结果返回给调用者;
3. 如果出现任意一个结果不符,重置计数器重新分发;
4. 所有的矿工在提交任务结果前都需要缴纳一笔抵押金,如果任务结果确认,押金返还,否则会被系统没收并分发给网络中贡献者。
根据上述规则定义,系统返回错误结果的概率为 W 可以由应用层指定,默认值由系统根据活跃节点数动态调整。
5、差分隐私保护
5.1 隐私分级和保护策略
为了保护用户隐私,我们把系统中的数据分为几个级别:
1. 绝密(隐私,只有私钥才可解锁);
2. 秘密 ( 基于私钥的令牌机制 );
3. 普通(可搜索)。
FOLI 使用以下策略来保证数据的隐私保护:
1. 数据链数据的分段,每一个文件在一台机器上只有片段;
2. 数据合成查询的时候,使用同态加密技术;
3. 对于私密文件,用户在上传时直接采取个人加密技术。
5.2 同态加密技术
顾名思义,同态加密是一种加密的形式。在不对称情形下,它可以接受完全可读的文本,然后基于“公钥”将其转变为乱码。更重要的是,它可以基于“私钥”将乱码转回同样的文本。理论上,除非你有“私钥”,你无法解码加密后的乱码。
同态加密是一种特殊形式的加密。它允许某人在无法阅读信息的前提下以特定的方式修改加密信息。例如,同态加密可以应用于数字上,让加密过的数字可以进行乘法和加法运算而无需解密数字。FOLI 中大量使用同态加密技术来保证数据的隐私性和可计算性。
生命之花(FOLI)应用
在未来的若干年中,生命之花将与全球大健康产业各节点、机构合作并落地一批区块链项目。未来,生命之花将深耕生命科学领域,为更多的应用场景提供坚实的区块链基础设施,提升行业效率,降低业务运营成本,提升各级数据的私密性。
生命之花将从生命科学、社会、经济等维度构建区块链普世的应用网络,结合人工智能、大数据、虚拟现实、机器人、物联网、云服务等新科技,在基因工程、抗癌研究、科学实验、药品追溯、医疗数据、医疗器械、医疗金融、有机农业、食品、医院、药店、公益慈善等方面推广落地应用。
1、大病互助
特指大病医疗互助。每个生命都有生存的价值和意义。现实生活中,太多家庭或者个人因为大病、重病不能及时筹集资金而失去最佳治疗时机,或者因为治病而从此过上贫困生活,更多病患无法及时寻找适配的治疗方案或者治疗机构而耽误时机。
生命之花在大病医疗互助上,将会率先对癌症、艾兹病等提供技术、数据及金融方案的服务。区块链技术让医疗慈善更加透明、公正与可监控。
2、产品溯源
药品、营养品、健康产品的溯源是生命之花的重要应用之一。生命之花通过对药材种养殖、原料基地、收集加工、生产过程、包装、运输、仓管等多个环节提供基于物联网的溯源与分布式账本技术,对药品、营养品、护理产品等健康产品进行溯源。
3、医药研究
人类对生命科学的探索从未停止,特别是癌症、糖尿病、阿茨海默症等重大疾病。制药公司在证明其药品价值方面面临着越来越大的压力。根据行业估计,每年约有 3000 亿美元的药物因没能提供预期的效果而被浪费,同时也使患者遭受了药物带来的不良副作用。因此,制药行业必须转向以病人为中心的药物开发模式,以实现未来的靶向治疗。在科学的解决数据加密的前提上,提供公平的、系统的、充足的数据支持科学家的研究,将会大大促进对生命密码的解释。
区块链技术以其完善的安全基础设施可以实现健康数据的无缝交换,推动更大规模的基因组学研究,从而促进精准医疗的发展。随着药物开发行业不断在精准医疗上押注,基于区块链的、不可变的记录可能会消除临床试验数据校正的负担和成本,并促进研究成果的共享。
4、医学教育
利用区块链技术实现分布式医学教育,是全球大健康的重要事件。让有知识、有经验、有教学能力的教师或者医生在科学传播知识、实现知识即价值的同时,让更多的学生多维度的获取医学知识与经验,可以更大程度的提升医疗水平。
5、健康科普
让民众掌握更多健康知识,是减少疾病的重要环节。利用区块链技术,可以让民众更方便、科学的掌握正确的健康知识。通过对每个健康知识传播者进行链上记录,确保科学、正确的健康知识被更多人了解,同时让虚假的、不准确的健康知识被隔离。
6、共享设备
日常健康检测设备的缺乏,导致民众无法精准掌握自身健康的重要环节。通过共享健康检测设备,确保大部分民众方便、快捷、系统的掌握自身健康数据,及时了解健康状况,并作出准确的记录。
7、智慧医疗
面对广大民众的健康需求,有高超医术的医生永远都是稀缺的,而这些医生因为地域和时间的限制,能受益的人群有限。通过智能合约机制,让优秀的医生诊断经验更方便、快捷地让民众收益,是生命之花利用区块链解决的重要一环。利用大数据与医生经验,开启智慧医疗的加速,是生命之花的核心使命。
8、健康检测(皮肤、基因、血液、蛋白质、维生素)
为各类检测方向提供数据存储与加密技术,是生命之花的基础。利用去中心化的方式,为体检设备生产商、机构提供大数据存储、计算与加密技术。不同于现有的安全系统,区块链使用内置的密码学技术在分布式网络上运行,技术保障了数据的不可修改性。健康医疗数据的共享不仅仅是信息交换,而是两个或两个以上的系统或实体之间基于彼此的信任来使用共享的问责性信息,生命之花可提供一个不可变的、受信任的工作流。
9、数据安全(生命盾)
不同于现有的安全系统,区块链使用内置的密码学技术在分布式网络上运行,技术保障了数据的不可修改性。由此医疗系统、医疗设备制造商以及医疗技术公司可以利用区块链技术增强其设备识别管理功能,对病人生成的健康数据提供选择性的访问权限。
评论
查看更多