CN111953773A - 去中心化地址映射方法及装置 - Google Patents
去中心化地址映射方法及装置 Download PDFInfo
- Publication number
- CN111953773A CN111953773A CN202010801305.8A CN202010801305A CN111953773A CN 111953773 A CN111953773 A CN 111953773A CN 202010801305 A CN202010801305 A CN 202010801305A CN 111953773 A CN111953773 A CN 111953773A
- Authority
- CN
- China
- Prior art keywords
- address
- address mapping
- mapping
- source
- user account
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0655—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了去中心化地址映射方法及装置,该方法包括以下步骤:S1:接收用户账户发送的地址映射请求,地址映射请求包括源链地址、目标链地址;S2:调用预先部署在区块链上的地址映射合约,验证源链地址与用户账户的关系:若源链地址对应的账户为用户账户,则通过地址映射合约进行源链地址到目标链地址的地址映射;若源链地址对应的账户不为用户账户,则拒绝地址映射请求。本发明实现了区块链地址去中心化、可信任、安全的地址映射方式,保证了地址映射的源链地址为用户账户的拥有者,以确保了地址映射请求的安全性,同时地址映射之后的目标链地址将可以使用源链地址下的代币,大大扩大了区块链代币的适用范围。
Description
技术领域
本发明属于区块链技术领域,尤其涉及去中心化地址映射方法及装置。
背景技术
区块链技术基于其不可伪造、全程留痕、可以追溯、公开透明、集体维护等特征,在现实生活中实现了各种各样的功能,不仅得到了安全、可靠的保障,而且极大地方便了现实生活的方方面面。其中,去中心化是区块链技术的核心价值,将区块链的数据分散地存储在网络中的许多节点上,而不依赖网络中绝对的一个或几个节点来进行所有数据的存储与管理,如此,以实现系统安全性、交易安全性、节约性、自主高效性。
随着区块链的不断发展,呈现出了多平台化的趋势,但是由于很多区块链平台之间的限制,区块链平台之间的用户之间并不相通,也即是,不同区块链平台的用户是相对独立的,会造成用户量的局限性。例如,对于以太坊上发布的代币,其用户一般将局限于属于以太坊的用户,而其他区块链平台上的用户可能很多都不属于以太坊。因此,现想把以太坊上的代币迁移到另一区块链平台上,以使当前区块链平台中的代币能够被另一区块链平台上的用户所使用,其中,该迁移需要维持当前区块链平台上对应代币的所有用户及余额关系表。
要实现上述迁移过程,其存在着若干技术挑战,其中之一就是构建正确的用户地址和余额映射关系。直观的解决方案就是基于中心化的方案,存在一个中心化机构,该中心化机构存储用户在不同区块链上的地址并将这些地址关联起来,但是这个方案引入中心化机构,与区块链本身去中心化的思想背道而驰。同时,中心化机构也难验证用户是否确实拥有地址映射的账户地址,如此,就会存在区块链资金被盗的安全问题。
发明内容
本发明为解决上述技术问题,提供了去中心化地址映射方法及装置,其实现了去中心化、可信任、安全的地址映射,其技术方案为:
一种去中心化地址映射方法,包括以下步骤:
S1:接收用户账户发送的地址映射请求,地址映射请求包括源链地址、目标链地址;
S2:调用预先部署在区块链上的地址映射合约,验证源链地址与用户账户的关系:
若源链地址对应的账户为用户账户,则通过地址映射合约进行源链地址到目标链地址的地址映射;
若源链地址对应的账户不为用户账户,则拒绝地址映射请求。
在其中一个实施例中,步骤S2中,通过地址映射合约进行源链地址到目标链地址的地址映射进一步包括:
检验源链地址和目标链地址是否已存在地址映射关系:若源链地址和目标链地址均不存在地址映射关系,则进行源链地址到目标链地址的地址映射,反之则拒绝地址映射请求。
在其中一个实施例中,步骤S1中,地址映射请求还包括用户账户的私钥签名;
步骤S2中,在调用预先部署在区块链上的地址映射合约之前,还包括:
验证地址映射请求中的私钥签名,验证通过之后则调用地址映射合约,反之则拒绝地址映射请求。
在其中一个实施例中,步骤S2之后还包括步骤S3:
S31:接收用户账户发送的映射查询请求,映射查询请求包括源链地址;
S32:调用预先部署在区块链上的地址映射合约,验证源链地址与用户账户的关系:
若源链地址对应的账户为用户账户,则通过地址映射合约反馈源链地址对应的目标链地址;
若源链地址对应的账户不为用户账户,则拒绝映射查询请求。
在其中一个实施例中,步骤S1中,地址映射请求还包括用于限制目标链地址使用源链地址的代币额度的额度限制信息;
步骤S2中,通过地址映射合约进行源链地址到目标链地址的地址映射之后,还包括:
根据额度限制信息,通过地址映射合约对目标链地址进行代币额度配置。
一种去中心化地址映射装置,包括:
部署模块,用于在区块链上预先部署地址映射合约;
接收模块,用于接收用户账户发送的地址映射请求,地址映射请求包括源链地址、目标链地址;
地址映射模块,用于调用预先部署在区块链上的地址映射合约,验证源链地址与用户账户的关系:若源链地址对应的账户为用户账户,则通过地址映射合约进行源链地址到目标链地址的地址映射;若源链地址对应的账户不为用户账户,则拒绝地址映射请求。
在其中一个实施例中,地址映射模块还用于检验源链地址和目标链地址是否已存在地址映射关系:若源链地址和目标链地址均不存在地址映射关系,则进行源链地址到目标链地址的地址映射,反之则拒绝地址映射请求。
在其中一个实施例中,地址映射请求还包括用户账户的私钥签名;
地址映射模块还用于验证地址映射请求中的私钥签名,验证通过之后则调用地址映射合约,反之则拒绝地址映射请求。
在其中一个实施例中,还包括映射查询模块;
接收模块还用于接收用户账户发送的映射查询请求,映射查询请求包括源链地址;
映射查询模块用于调用预先部署在区块链上的地址映射合约,验证源链地址与用户账户的关系:若源链地址对应的账户为用户账户,则通过地址映射合约反馈源链地址对应的目标链地址;若源链地址对应的账户不为用户账户,则拒绝映射查询请求。
在其中一个实施例中,地址映射请求还包括用于限制目标链地址使用源链地址的代币额度的额度限制信息;
地址映射模块还用于根据额度限制信息,通过地址映射合约对目标链地址进行代币额度配置。
一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述去中心化地址映射方法。
一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述去中心化地址映射方法。
本发明与现有技术相比具有以下的优点和积极效果:
1)本发明通过部署一地址映射合约,验证地址映射请求中源链地址对应的账户是否为用户账户,在验证通过的情况下,再通过地址映射合约进行源链地址到目标链地址的地址映射,如此,实现了去中心化的地址映射方式,同时,确保了地址映射的源链地址为用户账户的拥有者,确保了地址映射请求的安全性,地址映射之后的目标链地址将可以使用源链地址下的代币,大大扩大了区块链代币的适用范围;
2)本发明在进行地址映射时,检验源链地址和目标链地址是否已经映射过,均无地址映射关系的情况,才进行对应的地址映射,避免了同一源链地址或目标链地址被重复或多次进行地址映射,确保了映射地址的一一对应,从而保证区块链平台的有序性;
3)本发明还能通过地址映射合约根据源链地址进行映射关系的查询,其中,地址映射合约验证源链地址对应的账户是否用户账户,在验证通过的情况下,才反馈查询的结果,确保了用户账户的安全与隐私;
4)本发明的地址映射请求设置额度限制信息,如此,通过地址映射之后的目标链地址使用源链地址的代币时可以进行一定代币额度的限制,实现了有限范围内的地址映射,提高了地址映射的安全性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
图1为本发明一个实施例中去中心化地址映射方法的整体流程图;
图2为本发明一个实施例中去中心化地址映射方法的地址映射流程图;
图3为本发明一个实施例中去中心化地址映射方法的地址映射过程图;
图4为本发明一个实施例中去中心化地址映射方法的映射查询流程图;
图5为本发明一个实施例中去中心化地址映射方法的映射查询过程图;
图6为本发明一个实施例中去中心化地址映射装置的结构框图。
附图标记说明:
1-部署模块;2-接收模块;3-地址映射模块;4-映射查询模块。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
区块链简单地说就是一种去中心化的分布式账本数据库,区块链技术本质上是一种数据库技术,每个区块就像一个硬盘,把信息全部保存下来,再通过密码学技术进行加密,这些被保存的信息就无法被篡改。区块链具有去中心化、开放性、独立性、安全性、匿名性的特征,可以应用到生活的众多方面,其中,在众多应用中,交易、支付等是区块链的重要应用之一,由于区块链去中心化的特点,可以帮助点对点交易,让支付和交易变得更加高效、更加便捷,区块链平台允许创建在满足某些条件时变为活动的智能合约,这意味着当交易双方同意满足其条件时,可以释放自动付款。
虽然区块链具有众多优势,但对于区块链平台上发布的代币,一般局限于其发布的区块链平台上的用户,也就造成了该代币的用户量局限性,其中,若另一区块链平台上的用户想进行该代币的交易,那交易的双方均需属于该代币发布的区块链平台,才能进行交易,如此大大限制了区块链代币的适用范围。
第一实施例
为解决上述问题,参看图1,本实施例提出一种去中心化地址映射方法,包括以下步骤:
S1:接收用户账户发送的地址映射请求,地址映射请求包括源链地址、目标链地址;
S2:调用预先部署在区块链上的地址映射合约,验证源链地址与用户账户的关系:
若源链地址对应的账户为用户账户,则通过地址映射合约进行源链地址到目标链地址的地址映射;
若源链地址对应的账户不为用户账户,则拒绝地址映射请求。
现对本实施例进行详细说明,但不仅限于此。
本实施例适用于不同区块链平台之间的地址映射,尤其适用于将一区块链平台上的代币迁移到另一区块链平台上使用,其中,另一区块链平台上构建有类似该代币的智能合约,本实施例主要实现了将该代币的归属用户及余额关系表迁移至该智能合约中。本实施例通过区块链节点执行具体的步骤,节点指的是区块链网络中的负责维护网络运行的终端,可以为手机、矿机、服务器、计算机等等。
本实施例预先在区块链上部署了一个地址映射的智能合约,即地址映射合约。其中,智能合约是一种特殊协议,旨在提供、验证及执行合约。具体来说,智能合约是区块链被称之为“去中心化的”重要原因,它允许在不需要第三方的情况下,执行可追溯、不可逆转和安全的交易。智能合约包含了有关交易的所有信息,只有在满足要求后才会执行结果操作。智能合约和传统纸质合约的区别在于智能合约是由计算机生成的。而智能合约根据功能的逻辑来编写和运作,区块链网络使用的智能合约,只要满足输入要求,也就是说只要代码编写的要求被满足,合约中的义务将在安全和信任的网络中得到执行。本实施例中,区块链节点可以调用该地址映射合约执行具体地址映射的逻辑步骤。
1)具体介绍步骤S1
本实施例接收用户账户发送的地址映射请求,地址映射请求包括源链地址、目标链地址。其中,源链地址为用户账户一区块链平台上的账户地址,目标链地址为另一区块链平台上的账户地址。该目标链地址通常可以为属于用户账户的地址,即该地址映射请求旨在请求实现同一用户账户将自己在不同区块链平台上的账户地址之间的映射。但另一方面,该目标链地址也可以为其他用户账户的账户地址,如此该地址映射请求旨在请求实现一用户账户将自己在一区块链平台上的账户地址映射到另一区块链平台上另一用户账户的账户地址。
较优地,本实施例的地址映射请求还包括用户账户的私钥签名,即用户账户私钥对上述请求字段的签名Hash。具体而言,参看图2,在步骤S1与S2之间,区块链节点接收到该地址映射请求,会验证地址映射请求中的私钥签名,确认用户账户的身份,以确认地址映射请求是否合法,其中,区块链节点通过区块链上该用户账户的公钥验证该私钥签名的有效性,验证通过之后再执行步骤S2,否则地址映射请求无效。
2)具体介绍步骤S2
本实施例的区块链节点接收到地址映射请求之后,对地址映射请求的字段信息进行解析,获取其中的源链地址和目标链地址,核对地址映射请求的信息,以保证地址映射请求的信息准确性。具体核对方式可以为通过区块链上公开的地址信息进行源链地址和目标链地址的核对,也可以通过带校验位的形式进行源链地址和目标链地址的核对。
本实施例核对地址映射请求的信息无误之后,则调用预先部署在区块链上的地址映射合约,其中,该地址映射合约预先申明有本实施例方法对应的地址映射处理的具体步骤,调用地址映射合约即是调用地址映射合约中申明的步骤逻辑,以执行具体的委托交易处理过程。具体而言,参看图2和图3,本实施例调用地址映射合约验证源链地址与用户账户的关系,即源链地址是否归属于用户账户,若源链地址对应的账户为用户账户,则通过地址映射合约进行源链地址到目标链地址的地址映射,反之,则拒绝地址映射请求,避免用户账户将另一用户账户的账户地址映射给另一区块链平台上的账户地址,以造成该另一用户账户的财产损失。
较优地,参看图2,本实施例的地址映射合约在进行地址映射之前,还需检验源链地址和目标链地址是否已存在地址映射关系,即源链地址或目标链地址之前是否已经地址映射过,若源链地址和目标链地址均不存在地址映射关系,则进行源链地址到目标链地址的地址映射,反之则拒绝地址映射请求,以保证地址映射的地址一一对应,防止一对多的地址映射,造成区块链生态的破坏。本实施例在进行地址映射时,检验源链地址和目标链地址是否已经映射过,均无地址映射关系的情况,才进行对应的地址映射,避免了同一源链地址或目标链地址被重复或多次进行地址映射,确保了映射地址的一一对应,从而保证区块链平台的有序性。
在本实施例的另一种方案中,地址映射请求还包括额度限制信息,该额度限制信息用于限制目标链地址使用源链地址的代币额度,通过地址映射合约对目标链地址进行代币额度配置,如此,通过地址映射之后的目标链地址使用源链地址的代币时可以进行一定代币额度的限制,实现了有限范围内的地址映射,提高了地址映射的安全性。
3)具体介绍步骤S3
参看图4和图5,本实施例的步骤S2之后还包括步骤S3,用以实现用户账户对地址映射结果的查询。具体而言,S31:接收用户账户发送的映射查询请求,映射查询请求包括源链地址。较优地,映射查询请求也包括用户账户的私钥签名,区块链节点在接收到映射查询请求之后,通过区块链上用户账户的公钥验证该私钥签名,以验证该映射查询请求是否合法,验证合法之后执行步骤S32,否则拒绝映射查询请求。S32:区块链节点接收到映射查询请求之后进行解析,获取其中的信息,并进行信息核对。核对信息无误之后,调用预先部署在区块链上的地址映射合约,该地址映射合约还预先申明有本实施例方法对应的映射关系查询的具体步骤,其中,通过地址映射合约验证验证源链地址与用户账户的关系,若源链地址对应的账户为用户账户,则通过地址映射合约反馈源链地址对应的目标链地址,源链地址无对应的目标链地址则反馈无映射关系,若源链地址对应的账户不为用户账户,则拒绝映射查询请求。
本实施例还能通过地址映射合约根据源链地址进行映射关系的查询,其中,地址映射合约验证源链地址对应的账户是否用户账户,在验证通过的情况下,才反馈查询的结果,确保了用户账户的安全与隐私。
基于上述实施例内容,现再结合一具体场景对本实施例进一步说明。
现用户A在以太坊上的地址为EthAddressA,在Cosmos上的地址为CosmosAddressA,其中,这里的EthAddressA和CosmosAddressA是完全不同的。同时,用户B在以太坊上的地址为EthAddressB,在Cosmos上的地址为CosmosAddressB。现需要把{EthAddressA,numEthA}映射为{CosmosAddressA,numCosmosA}。这里需要维护numEthA和numCosmosA之间的一个关系,比如number(numEthA)=number(numCosmosA)。同时,把{EthAddressB,numEthB}映射为{CosmosAddressB,numCosmosB},这里需要保证number(numEthB)=number(numCosmosB)。
那么这里存在若干技术挑战,其中之一就是要构建正确的用户账户地址和余额映射关系,即{EthAddressA,numEthA}->{CosmosAddressA,numCosmosA},而不能被映射成{EthAddressA,numEthA}->{CosmosAddressB,numCosmosB},和{EthAddressB,numEthB}->{CosmosAddressA,numCosmosA}。假设代币余额numEthA的数量远多于代币余额numEthB,这就会导致本来用户A拥有的代币被用户B给窃取了。
现通过本实施例的上述去中心化地址映射方法分别进行上述用户A和用户B的地址映射:
分别接收到用户A和用户B发送的地址映射请求,其中,用户A的地址映射请求中包括源链地址EthAddressA和目标链地址CosmosAddressA,用户B的地址映射请求中包括源链地址EthAddressB和目标链地址CosmosAddressB;
区块链节点接收到上述两个地址映射请求之后,通过调用地址映射合约分别验证EthAddressA与用户A之间的关系、EthAddressB与用户B之间关系:若EthAddressA对应的账户为用户A,则进行{EthAddressA,numEthA}->{CosmosAddressA,numCosmosA}的地址映射,否则拒绝该地址映射请求;若EthAddressB对应的账户为用户B,则进行{EthAddressB,numEthB}->{CosmosAddressB,numCosmosB}的地址映射,否则拒绝该地址映射请求。
其中,在通过调用地址映射合约分别验证EthAddressA与用户A之间的关系、EthAddressB与用户B之间关系的同时,还需检验EthAddressA、EthAddressB是否已存在地址映射关系,若不存在则正常执行地址映射的步骤,若已经存在地址映射关系则拒绝该地址映射请求。
另外,若上述用户A发送的地址映射请求还包括额度限制信息,则地址映射合约在进行{EthAddressA,numEthA}->{CosmosAddressA,numCosmosA}的地址映射的之后,还会通过对CosmosAddressA进行代币额度配置,具体可以通过在记录地址映射关系的表中增设一额度限制信息的字段,以实现通过地址映射之后的CosmosAddressA使用EthAddressA的代币时可以进行一定代币额度的限制,实现了有限范围内的地址映射,提高了地址映射的安全性。
具体地,上述本申请在区块链上部署了一地址映射合约AddressMap,具体提供两个接口add_address_map()和get_address_dst()。最重要的是接口add_address_map(),它接受两个地址参数src和dst,其中地址src是源链地址,地址dst是目标链的地址,在合约接口add_address_map()的实现中判定msg.sender==src,这里msg.sender即交易的发起者,例如只有用户EthAddressA才能发起add_address_map(EthAddressA,CosmosAddressA)的成功操作,而EthAddressB发起的add_address_map(EthAddressA,CosmosAddressB)一定会失败,因为msg.sender==EthAddressB,而src==EthAddressA,所以msg.sender!=src。
合约接口get_address_dst()具体用于查询获取映射关系,可以获知账户地址是否已经地址映射过,其需要接受查询的地址参数src,其中地址src是源链地址,在合约接口get_address_dst()的实现中判定msg.sender==src,这里msg.sender即交易的发起者,例如只有用户EthAddressA才能发起get_address_dst(EthAddressA)的成功操作,而EthAddressB发起的get_address_dst(EthAddressA)一定会失败,因为msg.sender==EthAddressB,而src==EthAddressA,所以msg.sender!=src。
本实施例的地址映射合约中的两个接口add_address_map()和get_address_dst()具体如下:
本实施例通过部署一地址映射合约,验证地址映射请求中源链地址对应的账户是否为用户账户,在验证通过的情况下,再通过地址映射合约进行源链地址到目标链地址的地址映射,如此,实现了去中心化的地址映射方式,同时,确保了地址映射的源链地址为用户账户的拥有者,确保了地址映射请求的安全性,地址映射之后的目标链地址将可以使用源链地址下的代币,大大扩大了区块链代币的适用范围。
第二实施例
参看图6,本发明提出了一种基于第一实施例的一种去中心化地址映射装置,包括:
部署模块1,用于在区块链上预先部署地址映射合约;
接收模块2,用于接收用户账户发送的地址映射请求,地址映射请求包括源链地址、目标链地址;
地址映射模块3,用于调用预先部署在区块链上的地址映射合约,验证源链地址与用户账户的关系:若源链地址对应的账户为用户账户,则通过地址映射合约进行源链地址到目标链地址的地址映射;若源链地址对应的账户不为用户账户,则拒绝地址映射请求。
现具体对本实施例进行详细说明,但不仅限于此。
本实施例适用于不同区块链平台之间的地址映射,尤其适用于将一区块链平台上的代币迁移到另一区块链平台上使用,其中,另一区块链平台上构建有类似该代币的智能合约,本实施例主要实现了将该代币的归属用户及余额关系表迁移至该智能合约中。本实施例通过区块链节点执行具体的步骤,节点指的是区块链网络中的负责维护网络运行的终端,可以为手机、矿机、服务器、计算机等等。
本实施例的部署模块预先在区块链上部署了一个地址映射的智能合约,即地址映射合约。其中,智能合约是一种特殊协议,旨在提供、验证及执行合约。具体来说,智能合约是区块链被称之为“去中心化的”重要原因,它允许在不需要第三方的情况下,执行可追溯、不可逆转和安全的交易。智能合约包含了有关交易的所有信息,只有在满足要求后才会执行结果操作。智能合约和传统纸质合约的区别在于智能合约是由计算机生成的。而智能合约根据功能的逻辑来编写和运作,区块链网络使用的智能合约,只要满足输入要求,也就是说只要代码编写的要求被满足,合约中的义务将在安全和信任的网络中得到执行。本实施例中,区块链节点可以调用该地址映射合约执行具体地址映射的逻辑步骤。
本实施例的接收模块接收用户账户发送的地址映射请求,地址映射请求包括源链地址、目标链地址。其中,源链地址为用户账户一区块链平台上的账户地址,目标链地址为另一区块链平台上的账户地址。该目标链地址通常可以为属于用户账户的地址,即该地址映射请求旨在请求实现同一用户账户将自己在不同区块链平台上的账户地址之间的映射。但另一方面,该目标链地址也可以为其他用户账户的账户地址,如此该地址映射请求旨在请求实现一用户账户将自己在一区块链平台上的账户地址映射到另一区块链平台上另一用户账户的账户地址。
较优地,本实施例接收模块接收的地址映射请求还包括用户账户的私钥签名,即用户账户私钥对上述请求字段的签名Hash。具体而言,区块链节点接收到该地址映射请求,会验证地址映射请求中的私钥签名,确认用户账户的身份,以确认地址映射请求是否合法,其中,区块链节点通过区块链上该用户账户的公钥验证该私钥签名的有效性。
本实施例的地址映射模块接收到地址映射请求之后,对地址映射请求的字段信息进行解析,获取其中的源链地址和目标链地址,核对地址映射请求的信息,以保证地址映射请求的信息准确性。具体核对方式可以为通过区块链上公开的地址信息进行源链地址和目标链地址的核对,也可以通过带校验位的形式进行源链地址和目标链地址的核对。
本实施例的地址映射模块核对地址映射请求的信息无误之后,则调用预先部署在区块链上的地址映射合约,其中,该地址映射合约预先申明有本实施例方法对应的地址映射处理的具体步骤,调用地址映射合约即是调用地址映射合约中申明的步骤逻辑,以执行具体的委托交易处理过程。具体而言,本实施例调用地址映射合约验证源链地址与用户账户的关系,即源链地址是否归属于用户账户,若源链地址对应的账户为用户账户,则通过地址映射合约进行源链地址到目标链地址的地址映射,反之,则拒绝地址映射请求,避免用户账户将另一用户账户的账户地址映射给另一区块链平台上的账户地址,以造成该另一用户账户的财产损失。
较优地,本实施例的地址映射合约在进行地址映射之前,还需检验源链地址和目标链地址是否已存在地址映射关系,即源链地址或目标链地址之前是否已经地址映射过,若源链地址和目标链地址均不存在地址映射关系,则进行源链地址到目标链地址的地址映射,反之则拒绝地址映射请求,以保证地址映射的地址一一对应,防止一对多的地址映射,造成区块链生态的破坏。本实施例在进行地址映射时,检验源链地址和目标链地址是否已经映射过,均无地址映射关系的情况,才进行对应的地址映射,避免了同一源链地址或目标链地址被重复或多次进行地址映射,确保了映射地址的一一对应,从而保证区块链平台的有序性。
在本实施例的另一种方案中,地址映射请求还包括额度限制信息,该额度限制信息用于限制目标链地址使用源链地址的代币额度,通过地址映射合约对目标链地址进行代币额度配置,如此,通过地址映射之后的目标链地址使用源链地址的代币时可以进行一定代币额度的限制,实现了有限范围内的地址映射,提高了地址映射的安全性。
参看图6,本实施例还包括映射查询模块4,接收模块2还用于接收用户账户发送的映射查询请求,映射查询请求包括源链地址。具体而言,接收模块接收用户账户发送的映射查询请求,映射查询请求包括源链地址。较优地,映射查询请求也包括用户账户的私钥签名,区块链节点在接收到映射查询请求之后,通过区块链上用户账户的公钥验证该私钥签名,以验证该映射查询请求是否合法,否则拒绝映射查询请求。映射查询模块接收到映射查询请求之后进行解析,获取其中的信息,并进行信息核对。核对信息无误之后,调用预先部署在区块链上的地址映射合约,该地址映射合约还预先申明有本实施例方法对应的映射关系查询的具体步骤,其中,通过地址映射合约验证验证源链地址与用户账户的关系,若源链地址对应的账户为用户账户,则通过地址映射合约反馈源链地址对应的目标链地址,链地址无对应的目标链地址则反馈无映射关系,若源链地址对应的账户不为用户账户,则拒绝映射查询请求。
本实施例还能通过地址映射合约根据源链地址进行映射关系的查询,其中,地址映射合约验证源链地址对应的账户是否用户账户,在验证通过的情况下,才反馈查询的结果,确保了用户账户的安全与隐私。
本实施例通过部署一地址映射合约,验证地址映射请求中源链地址对应的账户是否为用户账户,在验证通过的情况下,再通过地址映射合约进行源链地址到目标链地址的地址映射,如此,实现了去中心化的地址映射方式,同时,确保了地址映射的源链地址为用户账户的拥有者,确保了地址映射请求的安全性,地址映射之后的目标链地址将可以使用源链地址下的代币,大大扩大了区块链代币的适用范围。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
第三实施例
本发明还提出了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述第一实施例所提及的去中心化地址映射方法。
第四实施例
本发明提出了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述第一实施例中所提及的去中心化地址映射方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种去中心化地址映射方法,其特征在于,包括以下步骤:
S1:接收用户账户发送的地址映射请求,所述地址映射请求包括源链地址、目标链地址;
S2:调用预先部署在区块链上的地址映射合约,验证所述源链地址与所述用户账户的关系:
若所述源链地址对应的账户为所述用户账户,则通过所述地址映射合约进行所述源链地址到所述目标链地址的地址映射;
若所述源链地址对应的账户不为所述用户账户,则拒绝所述地址映射请求。
2.根据权利要求1所述的去中心化地址映射方法,其特征在于,所述步骤S2中,所述通过所述地址映射合约进行所述源链地址到所述目标链地址的地址映射进一步包括:
检验所述源链地址和所述目标链地址是否已存在地址映射关系:若所述源链地址和所述目标链地址均不存在地址映射关系,则进行所述源链地址到所述目标链地址的地址映射,反之则拒绝所述地址映射请求。
3.根据权利要求2所述的去中心化地址映射方法,其特征在于,所述步骤S1中,所述地址映射请求还包括所述用户账户的私钥签名;
所述步骤S2中,在所述调用预先部署在区块链上的地址映射合约之前,还包括:
验证所述地址映射请求中的私钥签名,验证通过之后则调用所述地址映射合约,反之则拒绝所述地址映射请求。
4.根据权利要求1至3任意一项所述的去中心化地址映射方法,其特征在于,所述步骤S2之后还包括步骤S3:
S31:接收所述用户账户发送的映射查询请求,所述映射查询请求包括所述源链地址;
S32:调用预先部署在区块链上的所述地址映射合约,验证所述源链地址与所述用户账户的关系:
若所述源链地址对应的账户为所述用户账户,则通过所述地址映射合约反馈所述源链地址对应的所述目标链地址;
若所述源链地址对应的账户不为所述用户账户,则拒绝所述映射查询请求。
5.根据权利要求1至3任意一项所述的去中心化地址映射方法,其特征在于,所述步骤S1中,所述地址映射请求还包括用于限制所述目标链地址使用所述源链地址的代币额度的额度限制信息;
所述步骤S2中,所述通过所述地址映射合约进行所述源链地址到所述目标链地址的地址映射之后,还包括:
根据所述额度限制信息,通过所述地址映射合约对所述目标链地址进行代币额度配置。
6.一种去中心化地址映射装置,其特征在于,包括:
部署模块,用于在区块链上预先部署地址映射合约;
接收模块,用于接收用户账户发送的地址映射请求,所述地址映射请求包括源链地址、目标链地址;
地址映射模块,用于调用预先部署在区块链上的地址映射合约,验证所述源链地址与所述用户账户的关系:若所述源链地址对应的账户为所述用户账户,则通过所述地址映射合约进行所述源链地址到所述目标链地址的地址映射;若所述源链地址对应的账户不为所述用户账户,则拒绝所述地址映射请求。
7.根据权利要求6所述的去中心化地址映射装置,其特征在于,所述地址映射模块还用于检验所述源链地址和所述目标链地址是否已存在地址映射关系:若所述源链地址和所述目标链地址均不存在地址映射关系,则进行所述源链地址到所述目标链地址的地址映射,反之则拒绝所述地址映射请求。
8.根据权利要求7所述的去中心化地址映射装置,其特征在于,所述地址映射请求还包括所述用户账户的私钥签名;
所述地址映射模块还用于验证所述地址映射请求中的私钥签名,验证通过之后则调用所述地址映射合约,反之则拒绝所述地址映射请求。
9.根据权利要求6至8任意一项所述的去中心化地址映射装置,其特征在于,还包括映射查询模块;
所述接收模块还用于接收所述用户账户发送的映射查询请求,所述映射查询请求包括所述源链地址;
所述映射查询模块用于调用预先部署在区块链上的所述地址映射合约,验证所述源链地址与所述用户账户的关系:若所述源链地址对应的账户为所述用户账户,则通过所述地址映射合约反馈所述源链地址对应的所述目标链地址;若所述源链地址对应的账户不为所述用户账户,则拒绝所述映射查询请求。
10.根据权利要求6至8任意一项所述的去中心化地址映射装置,其特征在于,所述地址映射请求还包括用于限制所述目标链地址使用所述源链地址的代币额度的额度限制信息;
所述地址映射模块还用于根据所述额度限制信息,通过所述地址映射合约对所述目标链地址进行代币额度配置。
11.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述的去中心化地址映射方法。
12.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至5中任一项所述的去中心化地址映射方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010801305.8A CN111953773B (zh) | 2020-08-11 | 2020-08-11 | 去中心化地址映射方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010801305.8A CN111953773B (zh) | 2020-08-11 | 2020-08-11 | 去中心化地址映射方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111953773A true CN111953773A (zh) | 2020-11-17 |
CN111953773B CN111953773B (zh) | 2023-05-26 |
Family
ID=73332180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010801305.8A Active CN111953773B (zh) | 2020-08-11 | 2020-08-11 | 去中心化地址映射方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111953773B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679857A (zh) * | 2017-10-10 | 2018-02-09 | 马晶瑶 | 区块链的跨链交易方法和存储介质 |
US20180288022A1 (en) * | 2017-03-31 | 2018-10-04 | Dr. Vijay Madisetti | Method and System for Identity and Access Management for Blockchain Interoperability |
CN109146448A (zh) * | 2018-07-13 | 2019-01-04 | 杭州复杂美科技有限公司 | 跨链资产转移方法、设备和存储介质 |
CN109460413A (zh) * | 2018-11-19 | 2019-03-12 | 众安信息技术服务有限公司 | 用于跨区块链建立账户的方法及系统 |
CN109685489A (zh) * | 2018-12-28 | 2019-04-26 | 杭州云象网络技术有限公司 | 一种区块链之间的资产跨链交易方法 |
CN109784881A (zh) * | 2018-12-29 | 2019-05-21 | 广州蓝石信息技术有限公司 | 基于去中心化网关的通用跨链支付方案 |
CN109872235A (zh) * | 2019-01-25 | 2019-06-11 | 东莞市大易产业链服务有限公司 | 一种基于区块链技术的数字资产互通方法 |
CN111199489A (zh) * | 2018-11-16 | 2020-05-26 | 上海派链信息科技有限公司 | 用于跨区块链资产管理的方法、设备、计算机可读存储介质和计算机程序产品 |
-
2020
- 2020-08-11 CN CN202010801305.8A patent/CN111953773B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180288022A1 (en) * | 2017-03-31 | 2018-10-04 | Dr. Vijay Madisetti | Method and System for Identity and Access Management for Blockchain Interoperability |
CN107679857A (zh) * | 2017-10-10 | 2018-02-09 | 马晶瑶 | 区块链的跨链交易方法和存储介质 |
CN109146448A (zh) * | 2018-07-13 | 2019-01-04 | 杭州复杂美科技有限公司 | 跨链资产转移方法、设备和存储介质 |
CN111199489A (zh) * | 2018-11-16 | 2020-05-26 | 上海派链信息科技有限公司 | 用于跨区块链资产管理的方法、设备、计算机可读存储介质和计算机程序产品 |
CN109460413A (zh) * | 2018-11-19 | 2019-03-12 | 众安信息技术服务有限公司 | 用于跨区块链建立账户的方法及系统 |
CN109685489A (zh) * | 2018-12-28 | 2019-04-26 | 杭州云象网络技术有限公司 | 一种区块链之间的资产跨链交易方法 |
CN109784881A (zh) * | 2018-12-29 | 2019-05-21 | 广州蓝石信息技术有限公司 | 基于去中心化网关的通用跨链支付方案 |
CN109872235A (zh) * | 2019-01-25 | 2019-06-11 | 东莞市大易产业链服务有限公司 | 一种基于区块链技术的数字资产互通方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111953773B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3591510B1 (en) | Method and device for writing service data in block chain system | |
US10929198B2 (en) | Blockchain-based resource allocation method and apparatus | |
CN112184222B (zh) | 基于区块链的业务处理方法、业务处理方法、装置及设备 | |
CN111382168B (zh) | 在联盟链网络中创建节点组、基于节点组的交易方法 | |
CN111159307B (zh) | 跨链数据订阅方法及装置 | |
CN112307455B (zh) | 基于区块链的身份认证方法及装置、电子设备 | |
CN110458631B (zh) | 基于区块链的票据号码分配方法、装置及电子设备 | |
CN110048846B (zh) | 一种基于区块链智能合约的签名验证方法及系统 | |
CN110020854B (zh) | 一种基于多个区块链网络的数据存证方法及系统 | |
WO2020119379A1 (zh) | 一种基于区块链智能合约的编解码方法及系统 | |
CN108550038A (zh) | 一种应用于区块链的数据传播系统及方法 | |
CN112380294B (zh) | 区块链跨链访问方法及装置 | |
CN106878367B (zh) | 服务接口异步调用的实现方法和装置 | |
CN110020945B (zh) | 一种基于多个区块链网络的数据读取方法及系统 | |
CN110060153B (zh) | 一种基于多个区块链网络的数据存证方法及系统 | |
CN111369257B (zh) | 通过智能合约在区块链上实现资产代扣的方法与装置 | |
CN111651467B (zh) | 一种区块链节点接口发布调用方法和装置 | |
WO2020119382A1 (zh) | 一种基于区块链智能合约的数据处理方法及系统 | |
US20240078551A1 (en) | Blockchain-based user element authorization methods and apparatuses | |
CN106921708B (zh) | 群组管理方法及装置 | |
CN111669434A (zh) | 一种通信群组的建立方法、系统、装置及设备 | |
CN111953773B (zh) | 去中心化地址映射方法及装置 | |
CN113507432B (zh) | 一种联盟链权限管理方法和装置 | |
CN114296651A (zh) | 一种用于存储自定义数据信息的方法与设备 | |
CN110060152B (zh) | 一种基于多个区块链网络的数据读取方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |