版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
近年来,区块链技术的飞速发展引起了国内外的广泛关注。区块链深度融合分布式账本、共识机制、密码学、智能合约等前沿技术,凭借去中心化、多方共识、不可篡改、透明化、安全可信的特性在医疗、人工智能、大数据、货币加密等领域有着广泛的应用前景,越来越多的基于区块链技术的相关应用随之产生。随着“十四五”规划的提出,区块链成为我国数字经济重点产业,区块链技术和相关产业飞速发展。区块链系统中涉及的数据分为链下数据和链上数据两种类型。在实际应用当中,数据不仅要从区块链系统的链上数据中获得,还要从链下的外部世界中获得。对于链上数据而言,区块链系统凭借其共识机制和密码学技术保障了其真实性和可靠性。然而,外部世界的链下数据并没有以账本的形式存储到区块链系统中。因此,区块链系统并不能保障链下数据的安全性和可靠性,这对区块链数据上链提出了很高的要求。如何保障上链数据的正确性和隐私性,是区块链技术发展的重要方向。随着区块链应用产业的不断扩展,高效、安全、可靠的新型数据上链技术亟需被提出。目前,区块链数据上链有两方面要求,一是过滤不可信数据源提供的污染数据,防止脏数据完成上链,保障上链数据的正确性;二是隐藏可信数据源提供的有效数据的明文信息,在保证数据可用不可见的前提下,保障上链数据的隐私性和可用性。预言机是区块链系统和外部世界连接的桥梁,是一种区块链上写入链下数据的机制,能够实现对上链数据的完整性和真实性验证,保证上链数据的正确性。其主要工作是将外部应用程序接口(Application
ProgrammingInterface,API)收集到的链下数据整合并提供给智能合约,凭借签名算法认证外界世界状态的信息,从而允许确定的智能合约对不确定的外部世界做出反应。通过预言机系统进行数据源认证、数据格式转换、数据清洗等过程完成可信数据上链。零知识证明作为传统隐私保护技术在保证数据真实可用的前提下,有效保护上链数据的隐私信息,同时保障了数据的可用性和隐私性。碳市场是全球为解决经济发展所带来的环境外部性问题而产生的政策性市场。为了平衡经济发展带来的环境问题,碳市场成为世界环境保护的重点阵地。目前,我国的碳市场还处于初级发展阶段,需要建立良好的碳排放机制,做好数据核查、企业碳排放量分配、碳交易市场、总体清算等工作。然而,我国原有的碳排放机制呈现参与方多、数据难以协同和各方信任缺乏等特点,其突出问题在于企业碳排放数据容易出现造假现象。这是因为企业碳排放量证明由第三方机构给出,地方政府与企业之间不存在直接的信息通道。一旦企业与第三方机构联合进行数据造假,地方政府将难以掌握企业碳排放真实情况,难以建立碳信息披露机制,不利于我国碳排放机制的实现。将区块链技术应用于碳排放机制,通过安全可信的区块链数据上链机制,在企业碳排放数据报告上链前进行数据认证,保障企业碳排放数据报告的真实有效性,避免第三方核查机构和企业勾结而导致的数据报告造假现象。同时,依靠区块链技术的共识机制和防篡改特性还能有效减少原碳排放机制因信任机制缺乏、信息不对称造成的相关问题。将区块链技术运用于我国碳排放管理,构建一个可追溯、可共享的碳排放流程的数据共享平台并建立信任机制和协同关系,有利于提高交易效率,共同促进碳市场发展。本文的研究工作如下文所述。(1)提出基于预言机和零知识证明的区块链数据上链协议。零知识证明能够保证在不暴露数据源明文数据的前提下,提供数据的有效性证明;预言机完成对数据的认证,保障通过预言机上链的数据是真实有效的。(2)针对我国碳排放场景,将上述协议与我国碳排放机制融合,提出一种基于预言机和零知识证明的区块链数据上链方案。该方案要上链的数据为企业碳排放合规性证明,由数据源利用零知识证明算法生成零知识证明,预言机系统进行零知识证明验证和预言机系统的数据认证。通过预言机系统认证的数据才可以完成最终的数据上链。(3)实现本文提到的零知识证明算法和Schnorr签名算法,并对其进行功能性测试与性能分析。实验结果表明,相比于BLS签名算法,本文选择的Schnorr算法效率更高,签名验证消耗时间更少;加入零知识证明算法后,虽然运行效率降低,但极大地增强了数据的隐私安全性,在数据可用不可见的前提下,保证了数据的可用性。1相关工作和背景知识1.1相关工作凭借区块链去中心化、多方共识、不可篡改、透明化、安全可信的特性,基于区块链技术的碳排放研究越来越多。袁莉莉等人对基于区块链技术的碳排放机制进行了研究,通过区块链公开透明、可追溯、可共享等优点解决了碳排放环节中信息不对称和容易数据造假的痛点问题,实现了碳交易的可追溯、可共享,提高了碳交易效率,降低了碳交易成本。张泽基于区块链智能合约技术设计了一个碳排放交易系统,实现了碳排放交易系统的基本功能,使交易数据能够记录到区块链中,相比于传统的碳交易平台更加安全透明。刘林林基于区块链技术设计了一个碳排放交易模型,通过属性基加密的密码学技术提供了高强度的隐私保护能力。宋得民等人
提出了基于区块链的智慧碳排放管理方案,通过区块链技术进行碳排放情况的智能化、数字化管理,并运用长短期记忆神经网络算法对碳配额的购买进行合理规划,从而降低交易风险。吴花平等人对基于区块链的碳排放审计流程优化进行了研究,阐述了区块链技术与碳排放审计结合的可行性,并对区块链技术环境下的碳排放审计流程进行了举例说明。1.2区块链技术区块链技术最初源于中本聪在2008年发表的题为Bitcoin:APeer-to-PeerElectronicCash
System的论文。其并非凭空出现的新技术,而是由密码学技术、点对点网络(PeertoPeer,P2P)以及时间戳技术等现有技术整合而成。经过多年的技术创新,区块链已经进入到了第三阶段。最初是用于记录比特币等数字货币交易的数据结构。之后随着以太坊的出现,一个开源的有智能合约功能的公共区块链平台带来了更多的应用实现。到如今,具有公开透明、可追溯特点的区块链技术正在扩展到人们生活的各个方面,逐渐将去中心化的思想带到人们的生活。1.3零知识证明零知识证明(Zero-KnowledgeProof,ZKP)是由S.Goldwasser、S.Micali及C.Rackoff提出的一种密码协议。它能在不向验证者透露消息内容的前提下,证明消息含有某个值或者处于某个区间。零知识证明可以用于解决区块链隐私保护以及数据的合法性验证等问题。本文的零知识证明协议是基于Paillier算法,用于解决碳排放合规的合法性证明。Alice需要在不透露c和C具体值的前提下向Bob证明两数之间的大小关系,其中c和C为Alice拥有的隐私信息。证明流程如下文所述。(1)系统初始化:利用Paillier密钥生成算法,为Alice和Bob分别生成公私钥对。(2)零知识证明生成:Alice获取Bob的公钥 根据要证明大小关系的两数c和C生成零知识证明π,并将零知识证明π发送给Bob。(3)零知识证明验证:Bob用自己的私钥 对零知识证明π进行验证,通过验证结果可以知道两数c和C之间的大小关系。1.4Paillier算法Paillier算法
是PascalPaillier在1999年发明的概率公钥加密算法,满足加法同态。该算法可以进行零知识证明计算。Paillier算法具体包括以下步骤。(1)密钥生成:选择两个随机的大素数p和q,保证为两个参数的最大公约数。计算n为素数的乘积,λ为最小公倍数,可以计算两个参数的最小公倍数。选取随机正整数且存在其中函数的定义 。此时,公钥为私钥为(2)加密过程:对于明文m,选择随机数r,满足是互质的关系。计算密文(3)解密过程:利用私钥进行解密,明文1.5预言机区块链
系统通过智能合约代码将数据写入区块中,智能合约代码会根据预先设定的条件自动执行,保障写入数据的过程是透明的、可追踪、不可篡改。然而,区块链是一个确定性的、封闭的系统环境,智能合约中不允许存在不确定的因素。因此,区块链无法主动获取链下数据。为了建立外部数据和区块链链上数据之间的桥梁,可以通过区块链预言机进行外部数据的数据上链。区块链预言机(BlockchainOracle)是一种连接现实数据源和链上用户智能合约的数据服务机制。发送到区块链的数据或交易事件需要通过预言机作为确定性输入才能触发用户的智能合约。预言机是区块链与真实数据源之间的唯一数据交互接口,外部数据源的数据首先提交预言机进行聚合和汇总,然后由预言机触发用户智能合约进行数据上链。预言机的工作流程如图1所示。图1预言机工作流程门限预言机属于分布式预言机的一种,是多点部署预言机的机制,数据上链不由任何单一的节点所控制,没有单点失效的风险。在门限预言机中,采用门限签名算法对预言机的上传数据进行汇总,普通预言机节点可以对与其相连的任何数据源进行认证。设系统中参与数据源认证的预言机数量为n,签名门限为t,当提交相同数据的预言机数量超过门限值t时,则认为该数据是正确的,同时,可以通过设置积分奖惩机制管理预言机节点,减少恶意预言机作恶的可能。如果预言机节点提供了不正确的数据,就会被扣除相应的积分,而积分也会对门限预言机的选取具有重要意义。2方案设计2.1方案模型本文的基于预言机和零知识证明的区块链数据上链方案的模型如图2所示。该方案是针对碳排放应用场景提出的一种基于预言机和零知识证明的区块链数据上链方案,包括以下实体:用户节点、用户智能合约、预言机智能合约、预言机群、数据源。(1)用户节点:将用户数据上传到区块链系统,并通过请求用户智能合约进行链下数据上链,获取所需的链下实时数据。(2)用户智能合约:接受用户节点的链下数据上链的请求,并向预言机智能合约请求相关数据。(3)预言机智能合约:验证预言机群传来的数据和签名,上传相关用户数据,并完成预言机群的积分管理。(4)预言机群:向数据源请求链下实时数据,验证数据源传来的数据和零知识证明,对于正确有效的数据生成签名并上传给预言机智能合约。(5)数据源:收到预言机的数据请求,通过传感器收集相关实时数据,并生成对应的零知识证明,上传到对应预言机。图2方案模型2.2方案描述在该方案中,数据上链工作流程可以分为系统初始化、数据请求、数据证明、数据签名、数据上链5个阶段。各个阶段详细描述如下文所述。(1)系统初始化:预言机节点启动服务程序,该服务可以调用第三方API,获取链下实时数据,并构造提供交易给智能合约。每个预言机节点还要利用安全参数产生全局参数,将全局参数公开,生成各自的公私钥对。(2)数据请求:用户节点向区块链系统发出实时数据请求,通过请求用户智能合约进行链下实时数据上链,获取相关数据信息。(3)数据证明:数据源处的传感器收集到原始数据后,根据数据请求来源的预言机的公钥,生成对应的零知识证明。将实时数据和零知识证明上传到对应的预言机。预言机通过自己的私钥进行零知识证明验证,核查验证结果与实时数据是否相符,若相符则认为该数据正确。(4)数据签名:各个预言机对正确的数据根据自己的私钥生成签名,上传到门限预言机。门限预言机进行签名验证,验证通过的数据才能够进行门限统计。当验证通过的相同数据的数量达到门限值时,则认为该数据已经通过预言机群的验证。将正确的数据生成签名并上传到预言机智能合约,由预言机智能合约进行签名验证,允许验证通过的数据进行数据上链。同时预言机智能合约还要完成预言机群的积分管理。(5)数据上链:若用户智能合约将预言机智能合约传来的数据进行上链,则认为该数据已经通过验证。2.3算法设计2.3.1零知识证明算法设计本文将零知识证明算法用于两数的大小关系证明,对于两数c和C进行大小比较,生成并上传大小关系证明E,算法流程具体如下文所述。(1)密钥初始化Step1该算法由预言机节点i执行,大素数p和q的选择要保证且Step2选取随机正整数且存在其中函数的定义为Step3输出私钥和公钥并将公钥进行公开。(2)证明生成Step1该算法由数据源节点执行,传感器收集碳排放量数据c,与碳排放量阈值C和预言机i的公钥作为输入。Step2拆分Step3选择随机数满足且是互质的关系,计算Step4选择随机数满足且是互质的关系,计算Step5用上述参数生成零知识证明E,计算:式中:为整数,是拆分过程的中间值;是对的数据加密结果;是对的数据加密结果;为预言机节点i的公钥。(3)证明验证Step1该算法由预言机节点i执行,由零知识证明E、私钥和碳排放量合规性信息m作为输入,进行零知识证明验证。Step2利用私钥计算:式中:X为零知识证明的验证结果;是对E的数据解密结果;为预言机节点i的私钥。Step3验证两数的大小关系,若X>0,则表示若X<0,则表示;若X=0,则表示Step4通过验证结果X来判断碳排放量合规性信息m的正确性。2.3.2门限签名算法设计门限签名算法适用于分布式预言机的场景,用于预言机系统进行数据认证,防止恶意预言机节点上传脏数据到区块链系统。本文选择Schnorr签名算法用于单个预言机节点对数据的签名,签名生成后上传至门限预言机。门限预言机收到超过门限值个相同数据后,认为该数据是正确的。此时,门限预言机对该数据签名并上传到区块链中进行上链。算法具体流程如下文所述。(1)密钥生成initPara。Step1此算法由预言机节点i执行,选择两个随机的大素数p和q,且q是p的素因子。选取整数a,使得a,p,q被系统所有节点共同拥有,是系统的初始参数。Step2预言机节点i生成私钥并计算作为预言机节点i的公钥。(2)数据签名GenSign。Step1此算法由预言机节点i执行,选择随机整数r,并计算Step2将R附在消息m后面进行Hash计算,h为哈希值。Step3利用预言机节点i的私钥计算s为签名中间值。Step4生成对消息m的签名(3)签名验证CheckSign。Step1此算法由门限预言机执行,获取预言机节点i的公钥Step2通过上述参数,计算为验证过程的中间值。Step3计算并比较和h的大小关系。如果一致,则认为数据正确。(4)门限触发。Step1该算法由门限预言机执行,设定该算法门限值为t。Step2当签名验证通过的相同数据的个数达到门限值t时,则认为该数据是正确的,经过了预言机群认证。Step3通过门限预言机的私钥sk对该数据进行签名,并上传到区块链系统进行上链。2.4算法正确性验证2.4.1零知识证明算法正确性验证由同态加密方案的性质,可以计算出:式中:是对的数据加密结果;是对的数据加密结果;为生成元;n为加密参数。将上述结果进行解密可以得到:因为上述结果对模n取余可得:又因为由于所以若m>0,则若m<0,则若m=0,则因此,此协议是正确的。2.4.2Schnorr签名算法正确性验证签名验证者收到后,可以计算:式中:为验证过程的中间值;a为系统参数;r为随机数。所以由此可验证消息m没有在传输过程中被篡改,且消息m的发送方一定为拥有对应私钥的用户。2.5具体应用方案在碳排放应用场景中,政府部门需要向碳排放企业获取碳排放合规性报告,完成监管和审查企业碳排放数据的工作。我国碳排放数据的报告对象是温室气体,主要分为二氧化碳、甲烷、一氧化二氮。碳排放企业需要通过传感器收集核查所有温室气体排放数据,并与国家规定企业碳排放限额作比较,生成对应的碳排放量合规性证明并进行数据上链,接受政府部门的监管和审查。针对碳排放应用,本文详细设计基于预言机和零知识证明的区块链数据上链方案。方案中涉及的相关参数由表1给出。具体应用方案流程如图3所示。图3方案流程表1方案相关参数首先,政府部门向碳排放企业请求碳排放合规性证明。碳排放企业向用户智能合约发出碳排放量合规信息的数据请求,调用预言机系统收集企业碳排放量数据;然后,预言机系统将积分值最高者选为门限预言机,多个预言机向数据源处请求数据信息;数据源处的传感器收集原始数据并生成零知识证明,上传给对应预言机;预言机收到信息后验证零知识证明的正确性,选择正确的信息进行签名,发送正确的数据和签名给签名门限预言机;门限预言机接收数据后先进行签名验证,然后在收到门限值个相同数据时认为该数据可以进行上链,生成对应的签名,最后将收集的链下正确数据和签名返回到链上智能合约,并传递给碳排放企业和政府部门。方案具体流程如下文所述。(1)碳排放企业和政府部门请求链下碳排放数据。触发用户智能合约,请求获取数据源处碳排放量的合规情况。(2)向预言机系统请求链下数据。用户智能合约向预言机群发起数据请求,收集企业碳排放量的合规信息。(3)预言机获取链下数据。预言机接收到用户智能合约消息后,向多个外部数据源获取碳排放量合规信息。(4)上传零知识证明。接受来自编号为i的预言机的请求,传感器收集当月碳排放量c,并根据碳排放量阈值C和预言机i的公钥生成对应的零知识证明向预言机i上传碳排放量合规信息m和零知识证明E。(5)预言机验证零知识证明。预言机i根据私钥对零知识证明E进行验证,计算如果e≤0,则证明该数据源处碳排放量合规;如果e>0,则证明该数据源处碳排放量不合规。当零知识证明的结果与碳排放量合规信息m保持一致时,则认为该信息m正确。(6)预言机发送数据和签名。用积分制度来规范预言机的行为(每个预言机的积分初始值为0,每发送一次正确数据积分值加1),选出积分值最高的节点,将其称为门限预言机。预言机i对验证通过的信息m生成签名,根据私钥和随机整数计算将签名发送给门限预言机。(7)门限预言机将正确的数据和签名上链。门限预言机不断地接收预言机传送来的数据和签名等信息。接收预言机i发送来的数据和签名进行验证,获取预言机i的公钥计算验证是否等于若通过验证的数据m数量达到t,则认为该数据m是正确的,根据门限预言机的私钥sk,生成签名发送给预言机智能合约。(8)预言机智能合约调用用户智能合约。预言机智能合约获取门限预言机的公钥pk,对发送来的签名和数据进行验证。若验证正确,则发送正确数据和签名给用户智能合约。对发送正确数据的预言机积分值加1,对发送错误数据的预言机积分值减1。(9)用户智能合约将数据返回给碳排放企业和政府部门。预言机智能合约触发用户智能合约后,用户智能合约接收到数据和签名随后将数据返回给碳排放企业和政府部门,碳排放企业和政府部门收到所需的链下实时碳排放量合规数据。3安全性与可行性分析通过方案设计部分提出的方案,传感器收集的碳排放量具体值在上传到预言机节点之前,会先生成针对碳排放合规性的零知识证明。通过仅上传该零知识证明,可以在避免向预言机节点透露企业碳排放量具体值的前提下,证明该企业碳排放量符合规定,保护了企业碳排放数据的隐私性。在预言机系统中,通过门限签名的方式,只有在门限预言机收到达到门限值数量的相同数据时,才认定该数据是正确的。将该数据用门限预言机的私钥进行签名,代表正确性经过了预言机系统的认证。门限预言机在上传数据和签名的同时还要分别上传提供正确数据和错误数据的预言机编号,通过积分管理制度来激励惩罚预言机节点,可以筛选出可信的预言机节点并且提高预言机节点的效率。零知识证明和相关签名的密钥采用隐蔽信道传输,可实现密钥的不可篡改性、安全性和完整性。区块链系统通过该数据上链方案,保障了数据的保密性、完整性、可用性、不可篡改性。4实验分析4.1实验环境本方案的仿真实验在虚拟机中进行,采用的虚拟机是VMwareWorkstationPro。在虚拟机中,采用Ubuntu20.04操作系统,处理器内核4个,内存8GB。智能合约在Remix上编译,环境选择InjectedWeb3链接MetaMask的账户,将智能合约在本地Ganach
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省泰州市姜堰区2023-2024学年四年级上学期期中英语试卷
- 消费者心理学与营销实战考核试卷
- 新能源企业文化与价值观建设考核试卷
- DB11∕T 3008.9-2018 人力资源服务规范 第9部分:人力资源管理咨询服务
- 宝鸡教研课件教学课件
- 淮阴工学院《计算机网络4》2023-2024学年期末试卷
- 淮阴工学院《机电系统建模与仿真1》2022-2023学年期末试卷
- 淮阴工学院《公共危机管理》2022-2023学年第一学期期末试卷
- 细菌类生物制品相关行业投资方案
- 光伏支架相关行业投资规划报告范本
- MOOC 实验室安全学-武汉理工大学 中国大学慕课答案
- MOOC 模拟电子电路-杭州电子科技大学 中国大学慕课答案
- 基于人工智能的文化遗产保护与传承策略
- MOOC 高等数学(上)-西北工业大学 中国大学慕课答案
- 无人机测试与评估标准
- 碧桂园的财务风险分析与防范措施
- 2024年江西吉安市城市建设投资开发有限公司招聘笔试参考题库含答案解析
- (高清版)WST 813-2023 手术部位标识标准
- 《眼科与视功能检查》-2.视力检查课件(实操)
- 冶金煤气安全生产培训课件
- 工会劳动竞赛方案
评论
0/150
提交评论