CN112738139A - 一种跨链访问控制方法和装置 - Google Patents
一种跨链访问控制方法和装置 Download PDFInfo
- Publication number
- CN112738139A CN112738139A CN202110339716.4A CN202110339716A CN112738139A CN 112738139 A CN112738139 A CN 112738139A CN 202110339716 A CN202110339716 A CN 202110339716A CN 112738139 A CN112738139 A CN 112738139A
- Authority
- CN
- China
- Prior art keywords
- access
- blockchain
- relay device
- request
- block chain
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供了一种跨链访问控制方法和装置,所述方法由第一中继设备执行,所述第一中继设备与第一区块链连接,所述第一中继设备中预设有与所述第一区块链对应的访问控制表,所述访问控制表中包括所述第一区块链中的资源的授权信息,所述方法包括:接收对第一区块链的访问请求,所述访问请求用于请求访问的所述第一区块链中的资源;基于所述访问控制表判断所述访问请求是否被授权;在判断所述访问请求被授权的情况中,进行对所述资源的访问。
Description
技术领域
本说明书实施例涉及区块链技术领域,更具体地,涉及一种跨链访问控制方法和装置。
背景技术
区块链技术也被称之为分布式账本技术,是一种去中心化的分布式数据库技术,其特点是去中心化、公开透明、不可篡改、可信任。区块链的每笔数据,都会广播到全网的区块链节点,每个全节点都有全量的、一致的数据。随着区块链技术的火热,出现了许多不同类型的链,应用在金融、健康医疗、供应链、资产管理和溯源等领域。然而大部分链上应用(加密货币或者智能合约)都无法跨越当前链的边界,不能与其他链协同合作实现数据的流通,从而限制了区块链的发挥空间。如何能让不同类型的链协同合作实现数据的流通成了探索的方向。
在现有的一种跨链技术中,在第一区块链中将待发送给第二区块链的跨链消息写入第一区块链的收据,链下的中继设备从第一区块链获取该收据,将该收据提供给第二区块链。该收据中包括对第二区块链的数据读取请求或者对智能合约的调用请求。在该情况中,为了保证区块链中的数据安全性,如何对第二区块链进行访问权限控制,是亟待解决的问题。
因此,需要一种更有效的跨链访问控制方案。
发明内容
本说明书实施例旨在提供一种更有效的跨链访问控制方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种跨链访问控制方法,所述方法由第一中继设备执行,所述第一中继设备与第一区块链连接,所述第一中继设备中预设有与所述第一区块链对应的访问控制表,所述访问控制表中包括所述第一区块链中的资源的授权信息,所述方法包括:
接收对第一区块链的访问请求,所述访问请求用于请求访问的所述第一区块链中的资源;
基于所述访问控制表判断所述访问请求是否被授权;
在判断所述访问请求被授权的情况中,进行对所述资源的访问。
在一种实施方式中,所述访问请求中包括发送所述访问请求的第二区块链的标识,其中,基于所述访问控制表判断所述访问请求是否被授权包括:基于所述访问控制表判断所述资源是否为被授权给所述第二区块链的资源。
在一种实施方式中,所述访问请求中还包括请求的对所述资源的访问方式,其中,基于所述访问控制表判断所述访问请求是否被授权包括:基于所述访问控制表判断所述请求的对所述资源的访问方式是否为被授权给所述第二区块链的访问方式。
在一种实施方式中,所述访问请求为对所述第一区块链中的智能合约的调用请求,其中,进行对所述资源的访问包括,向所述第一区块链发送交易以调用所述智能合约。
在一种实施方式中,所述访问请求为对所述第一区块链中的数据的读取请求,其中,进行对所述资源的访问包括,从所述第一区块链读取所述数据。
在一种实施方式中,从所述第一区块链读取所述数据包括,从所述第一区块链读取所述数据及其证明数据。
在一种实施方式中,所述第一中继设备连接于中继设备网络中,所述第一中继设备中存储有查找表,所述查找表中记录了所述中继网络中的预定数目个中继设备各自连接的区块链,所述方法还包括,基于所述查找表将所述数据发送给所述预定数目个中继设备中的至少一个中继设备。
本说明书另一方面提供一种跨链访问控制装置,所述装置部署于第一中继设备,所述第一中继设备与第一区块链连接,所述第一中继设备中预设有与所述第一区块链对应的访问控制表,所述访问控制表中包括所述第一区块链中的资源的授权信息,所述装置包括:
接收单元,配置为,接收对第一区块链的访问请求,所述访问请求用于请求访问的所述第一区块链中的资源;
判断单元,配置为,基于所述访问控制表判断所述访问请求是否被授权;
访问单元,配置为,在判断所述访问请求被授权的情况中,进行对所述资源的访问。
在一种实施方式中,所述访问请求中包括发送所述访问请求的第二区块链的标识,其中,所述判断单元还配置为:基于所述访问控制表判断所述资源是否为被授权给所述第二区块链的资源。
在一种实施方式中,所述访问请求中还包括请求的对所述资源的访问方式,其中,所述判断单元还配置为:基于所述访问控制表判断所述请求的对所述资源的访问方式是否为被授权给所述第二区块链的访问方式。
在一种实施方式中,所述访问请求为对所述第一区块链中的智能合约的调用请求,其中,所述访问单元还配置为,向所述第一区块链发送交易以调用所述智能合约。
在一种实施方式中,所述访问请求为对所述第一区块链中的数据的读取请求,其中,所述访问单元还配置为,从所述第一区块链读取所述数据。
在一种实施方式中,所述访问单元还配置为,从所述第一区块链读取所述数据及其证明数据。
在一种实施方式中,所述第一中继设备连接于中继设备网络中,所述第一中继设备中存储有查找表,所述查找表中记录了所述中继网络中的预定数目个中继设备各自连接的区块链,所述装置还包括,发送单元,配置为,基于所述查找表将所述数据发送给所述预定数目个中继设备中的至少一个中继设备。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一种方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器在执行所述计算机程序时,实现上述任一种方法。
在根据本说明书实施例的跨链访问控制方案中,通过在中继设备中进行区块链访问权限控制,使得区块链接入跨链网络中时,可根据实际需求设置跨链资源访问权限,从而保证区块链中的资源的安全性和可控性。
附图说明
通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:
图1示出根据本说明书实施例的跨链系统的示意图;
图2示出根据本说明书实施例的一种跨链调用合约的方法流程图;
图3示出根据本说明书实施例的跨链读取数据的示意图;
图4示出根据本说明书实施例的一种跨链读取数据的方法流程图;
图5示出根据本说明书实施例的一种跨链访问控制装置500。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出根据本说明书实施例的跨链系统的示意图。如图1所示,所述跨链系统包括第一区块链11、中继设备网络12和第二区块链13。其中,所述中继设备网络12中包括多个具有预定连接关系的中继设备,图1仅示意示出第一中继设备121和第二中继设备122,其中以虚线示出的云朵表示,第一中继设备121与第二中继设备122有可能直接连接,或者有可能通过其它中继设备连接。中继设备网络12中的每个中继设备与至少一个区块链连接,每个中继设备中存储有查找表,该查找表记录了预定数目个中继设备与其连接的区块链的对应关系,从而通过中继设备网络12中的多个中继设备,中继设备网络可与更多个区块链连接。图1中示意示出了,第一区块链11与第一中继设备121连接,第二区块链13与第二中继设备122连接。
其中,第二区块链13中部署有第一合约和消息发送合约,第二区块链13中部署有消息接收合约和第四合约。其中,所述第一合约和第四合约例如为用于进行跨链转账的合约。第二区块链13中的账户A例如希望给第一区块链11中的账户B进行转账,账户A通过发送调用第一合约的交易而发起转账。当在第二区块链13中执行在该交易时,执行第一合约,从而对账户A的余额减去转账的数目,并执行第一合约中调用的消息发送合约,从而在第二区块链13中存入例如收据m,其中m为收据编号,收据m中包括待发送给第一区块链11中的第四合约的消息。该消息中例如包括该消息的发送链(第二区块链13)标识、接收链(第一区块链11)标识、接收合约(第四合约)账户、发送账户(账户A)、接收账户(账户B)、及对账户B的余额增加的数目等内容。
假设第二区块链13为以太坊链,在第二区块链13中存入收据m之后,第二中继设备122可从第二区块链13中获取所述收据m及对应的简单支付验证(Spv)证明数据。第二中继设备122基于收据m中消息的内容可确定该消息的接收链为第一区块链11,第二中继设备122确定其是否与第一区块链11连接,如果与第一区块链11连接,则第二中继设备122可基于其中的访问控制表确定第二区块链13是否被授权调用第四合约的权限,如果确定第二区块链13被授权调用第四合约的权限,则将收据m及其Spv证明数据提供给第一区块链11(该情况在图1中未示出)。如果第二中继设备122确定其不与第一区块链11连接,则可如图1中所示,通过读取查找表,确定到第一区块链11的路由路径,从而第二中继设备122可将收据m及其Spv证明数据发送到中继设备网络12中,以最后发送给第一中继设备121。
第一中继设备121在接收到收据m及其Spv证明数据之后,可基于其中的访问控制表确定第二区块链13是否被授权调用第四合约的权限,如果确定第二区块链13被授权调用第四合约的权限,则向第一区块链11发送交易n,其中n为交易编号,在交易n中以收据m及其Spv证明数为传入参数调用消息接收合约。当第一区块链11中的节点执行交易n时,也即在执行消息接收合约时,使用Spv证明数据对收据m进行验证,以验证收据m是否确实为第二区块链13中的收据。在验证通过之后,从消息的数据解析出消息。之后,基于消息中的接收合约账户(即第四合约的合约账户),以该消息作为传入参数调用第四合约,从而将消息传递给第四合约。第四合约在接收到消息之后,根据消息的内容将第一区块链11中的账户B的余额增加与预定数目对应的数目,从而完成所述转账过程。
可以理解,上述参考图1的描述只是示意性的,而不是用于限制本说明书实施例的范围。例如,所述中继设备不限于为图1中所示的形式,所述第一合约和第四合约不限于为用于转账的合约,等等。
下面将具体描述上述跨链中转数据过程中的访问权限控制方法。
图2示出根据本说明书实施例的一种跨链调用合约的方法流程图,所述方法可由图1中的中继设备网络12的任一中继设备执行,下文中以第一中继设备121为例进行示例描述,所述方法包括:
步骤S202,接收对第一区块链11中的合约的调用请求;
步骤S204,基于访问控制表判断所述调用请求是否被授权;
步骤S206,基于所述判断的结果确定是否向第一区块链11提供所述调用请求。
首先,在步骤S202,接收对第一区块链11中的合约的调用请求。
如上文所述,第一中继设备121从中继设备网络中的其它中继设备接收到收据m及其Spv证明,该收据m中包括消息,该消息例如以预定数据结构包括该消息的发送链(第二区块链13)标识、接收链(第一区块链11)标识、接收合约(第四合约)账户、发送账户、接收账户(账户B)、及对账户B的余额增加的数目等内容。从而,上述数据结构可默认指示对第四合约的访问方式是调用方式,因此,根据该消息中包括的接收合约账户(即第四合约的账户)可确定该收据m为对第一区块链11中的第四合约的调用请求。可以理解,在访问请求中也可以另外包括用于指示访问方式的字段,以指示该访问请求是调用请求。
可以理解,所述调用请求不限于为上述形式,例如,该调用请求中可以不包括发送链标识,如果第一中继设备121仅与第一区块链11和第二区块链13连接,则该调用请求中还可以不包括接收链标识。所述调用请求中可仅包括请求调用的智能合约的标识(如账户地址),或者,所述调用请求中可包括请求调用的智能合约的标识和传入该智能合约的参数。
在步骤S204,基于访问控制表判断所述调用请求是否被授权。
表1示意示出根据本说明书实施例的与第一区块链11对应的访问控制表:
表1
如表1中所示,其中,“区块链标识”一栏用于记录被授权的区块链的标识,在表1中以区块链的域名作为区块链的标识,“资源”一栏用于记录被授权的区块链具体被授权访问的第一区块链11中的资源,该资源例如包括区块数据、交易数据、合约等,“访问方式”一栏用于记录被授权的区块链具体被授权的访问方式,该访问方式包括对合约的调用和对数据的读取等。具体是,假设第二区块链13的域名为域名2,则表1中记录了,对第二区块链13授权对第一区块链11中的第四合约的调用权限、以及对第一区块链11中的区块p中的交易q的读取权限,表1中还记录了域名为域名3的区块链具有对第一区块链11中的区块p的读取权限。
可以理解,表1所示的访问控制表仅仅是示意性的,而不是限制性的。例如,区块链标识一栏中不限于记录区块链的域名,而可以记录其它用于唯一标识区块链的区块链标识。访问控制表中不限于包括表1中所示的3栏,而是可以仅记录其中的一栏或两栏,例如,访问控制表中仅包括表1中的“资源”栏,这表示,对于所有的区块链都授权对第四合约的调用权限、对区块p中交易q、和区块p的读取权限。
表2示出根据本说明书实施例的另一与第一区块链11对应的访问控制表的示意图。
表2
相比于表1中的相对于各个区块链记录该区块链被授权的资源及访问方式的信息,在表2中,相对于各个资源记录该资源的授权信息。可以理解,根据本说明书实施例的访问控制表不限于如表2所示。所述访问控制表中还可以包括其它栏,以对其它项进行授权。例如,所述访问控制表可包括发送合约账户一栏,以授权发送资源调用请求的合约的账户。如图1所示,在该访问控制表中还可以限定第四合约账户的被授权的发送合约账户为图1中的第一合约的账户,从而,在基于该访问授权表判断调用请求是否被授权时,可判断发送该调用请求的合约是否为第一合约。
第一中继设备121可基于上述任一种访问控制表判断所述调用请求是否被授权。具体是,例如对于表1所示的访问控制表,获取所述消息中的发送链标识(即第二区块链13的域名2),确定该域名是否记录在上述访问控制表中,如果记录了,可确定第二区块链13是被授权的区块链,如果未记录,则可确定第二区块链13未被授权访问第一区块链11。从表1可以确定,第二区块链13是被授权访问第一区块链11的区块链。然后,获取消息中的第四合约账户,基于访问控制表确定该合约账户是否被授权给第二区块链13,从表1中可确定,在与域名2对应的资源栏中记录有第四合约账户,并且在与第四合约账户的访问方式中记录有“调用”,因此,可确定第二区块链13被授权了对第四合约的调用。也就是说,基于访问控制表确定了上述调用请求是被授权的调用请求。
例如对于表2所示的访问控制表,可首先在表2中找到调用请求中请求调用的智能合约,如第四合约账户,然后判断第四合约对应的区块链标识中是否包括第二区块链13的标识(即域名2),之后判断第四合约对应的访问方式是否包括调用方式,从而确定所述调用请求是否被授权。可以理解,如上文所述,所述访问控制表可以具有其它各种形式。例如,所述访问控制表中不包括访问方式一栏,在该情况中,只需要判断第四合约对应的区块链标识中是否包括第二区块链13的标识(即域名2)。
在步骤S206,基于所述判断的结果确定是否向第一区块链11提供所述调用请求。
在确定所述调用请求被授权的情况中,如上文所述,第一中继设备121向第一区块链11发送交易n,在所述交易n中以收据m和Spv证明为参数调用消息接收合约,从而使得在执行消息接收合约的过程中,以收据m中的消息为传入参数调用第四合约,从而实现对第四合约的调用。可以理解,第一中继设备121不限于以该方式向第一区块链11提供调用请求,例如,第一中继设备121可直接以收据m和Spv证明为参数调用第四合约,从而实现对第四合约的调用。
在确定所述调用请求未被授权的情况中,第一中继设备121将不向第一区块链11提供调用请求,并通过中继设备网络12向第二区块链13返回调用失败信息。
图3示出根据本说明书实施例的跨链读取数据的示意图。实施图3所示过程的系统与图1所示的系统相同,其中,第二区块链13中还部署有第五合约。第五合约例如为用于计算第一区块链11中的账户B的账户余额,在执行第五合约时,需要读取第一区块链中账户B与其它账户之间的转账交易过程,以用于计算账户B的余额,在第一区块链11中例如通过收据b(其中b为收据编号)对该转账交易进行了记录。为此,第五合约中调用消息发送合约,以发出读取第一区块链11中的收据b的请求。当在第二区块链13中执行该消息发送合约时,在第二区块链13中存入收据a,收据a中包括所述读取请求。
当在第二区块链13中存入收据a之后,第二中继设备122可从第二区块链13中获取所述收据a,从而可获取所述读取请求。第二中继设备122基于所述读取请求中的内容可确定该读取请求用于请求读取第一区块链11中的收据b,第二中继设备122确定其是否与第一区块链11连接,如果与第一区块链11连接,则第二中继设备122可直接从第一区块链11读取收据b(该情况在图3中未示出)。如果第二中继设备122确定其不与第一区块链11连接,则可如图3中所示,通过读取查找表,确定到第一区块链11的路由路径,从而第二中继设备122可将所述读取请求发送到中继设备网络12中,以最后发送给第一中继设备121。
第一中继设备121在接收到读取请求之后,可基于其中的访问控制表确定第二区块链13是否被授权读取收据b的权限,如果确定第二区块链13被授权该权限,则从第一区块链11读取收据b及其简单支付验证(Spv)证明数据,并将收据b及其Spv证明数据发回给第二中继设备122。之后,第二中继设备122可通过向第二区块链13发送交易(未示出)而将收据b及其Spv证明数据回传给消息发送合约,其中,在该交易中以收据b及其Spv证明数据为传入参数调用消息发送合约。消息发送合约在收到收据b及其Spv证明数据之后,通过Spv证明数据对收据b进行验证,在验证通过之后,以收据b作为传入参数调用第五合约,从而将收据b提供给第五合约。
下面将具体描述上述跨链读取数据的过程。
图4示出根据本说明书实施例的一种跨链读取数据的方法流程图,所述方法可由图1中的中继设备网络12的任一中继设备执行,下文中以第一中继设备121为例进行示例描述,所述方法包括:
步骤S402,接收对第一区块链11中的数据的读取请求;
步骤S404,基于访问控制表判断所述读取请求是否被授权;
步骤S406,基于所述判断的结果确定是否从第一区块链11读取数据。
首先,在步骤S402,接收对第一区块链11中的数据的读取请求。
参考图3,第一中继设备121从中继设备网络中的其它中继设备接收到对第一区块链11中的收据b的读取请求。该读取请求中例如包括请求发送链(第二区块链13)标识、接收链(第一区块链11)标识、收据b的标识等内容,其中,收据b的标识例如包括区块号(例如区块p),收据编号(例如收据b)。可以理解,所述读取请求不限于请求第一区块链11中的收据,而是可以读取第一区块链11中记录的任意数据,如交易数据、合约数据、账户状态数据、区块头数据等等,在此不作限定。另外,可以理解,所述读取请求不限于具有上述形式,例如,所述读取请求中可仅包括请求读取的数据的标识。
在步骤S404,基于访问控制表判断所述读取请求是否被授权。
第一中继设备121中的访问控制表如上文表1所示。第一中继设备121可基于该访问控制表判断所述读取请求是否被授权。具体是,获取读取中的发送链标识(即第二区块链13的域名2),确定该域名是否记录在上述访问控制表中,如果记录了,可确定第二区块链13是被授权的区块链,如果未记录,则可确定第二区块链13未被授权访问第一区块链11。从表1可以确定,第二区块链13是被授权访问第一区块链11的区块链。然后,获取读取请求中的待读取数据的标识(即收据b),基于访问控制表确定该数据是否被授权给第二区块链13。假设收据b为交易q的交易收据,从表1中可确定,在与域名2对应的资源栏中记录有区块p交易q,并且在该资源对应的访问方式中记录有“读取”,因此,可确定第二区块链13被授权了对收据b的读取。也就是说,基于访问控制表确定了上述读取请求是被授权的读取请求。
在步骤S406,基于所述判断的结果确定是否从第一区块链11读取数据。
在基于上述判断结果确定所述读取请求被授权的情况中,第一中继设备121在第一区块链11中进行对收据m的读取。在基于上述判断结果确定所述读取请求未被授权的情况中,第一中继设备121确定不从第一区块链11进行所述读取,并通过中继设备网络12向第二区块链13返回读取失败信息。
在确定所述读取请求被授权的情况中,第一中继设备121与第一区块链11中的任一节点连接,并从该节点读取收据b。具体是,在第一中继设备121中例如安装了第一区块链11的客户端,该客户端中的界面中直接显示了可连接的区块链的节点选项,该选项中包括第一区块链11中的节点的标识,从而,与第一中继设备121对应的业务人员直接点击第一区块链11中的节点的标识,即可通过客户端连接到第一区块链11。在连接到第一区块链11之后,客户端的界面中将显示用于读取数据的按钮或输入框,业务人员通过在客户端中进行点击或输入,从而可读取到第一区块链11中的相应数据。例如,通过在客户端中选择区块p中的收据b,从而可读取到收据b,通过点击客户端中的与收据b对应的Spv证明数据按钮,从而可读取到收据b的Spv证明数据。在以太坊链中,Spv证明数据为用于对数据进行Spv验证的数据,例如,收据b的Spv证明数据包括:区块p的区块头哈希值、区块p中包括的收据树根哈希值、收据树中从收据b到根节点的树路径中其它各个节点的哈希值。
可以理解,这里,第一中继设备121读取收据b及其证明数据仅仅为本说明书实施例的一种示例描述,而不是用于限制本说明书实施例的范围。例如,在第二区块链13不需要证明数据的情况中,第一中继设备121可以仅读取收据b,以用于传回给第二区块链13。再例如,在第二区块链13请求读取的数据不是可证明数据的情况中,第一中继设备121可以仅读取请求读取的数据,而不需要读取其证明数据。
第一中继设备121在从第一区块链11读取数据b及其Spv证明数据之后,将收据b及其Spv证明数据直接或间接地发送给第二中继设备122。从而第二中继设备122将收据b及其Spv证明数据提供给第一区块链11。
在一种实施方式中,如上文所述,第二中继设备122与第一中继设备121直接连接,从而,第一中继设备121可直接将收据b及其Spv证明数据发送给第二中继设备122。
在一种实施方式中,第二中继设备122在先前发送读取请求时基于其中的查找表确定发送路径,从而通过其它中继设备的中转而将所述读取请求发送给第一中继设备121。所述查找表例如为分布式散列表(DHT表),第二中继设备122可基于该查找表计算路由路径,使得以最少的中转次数将所述读取请求发送到第一中继设备121。在各个中继设备发送的过程中,可对所述读取请求附加上其从第二中继设备122到第一中继设备121的发送路径,例如,其发送路径为第二中继设备122→第三中继设备(图3中未示出)→第一中继设备121。从而,第一中继设备121在发回与该读取请求对应的读取数据时,可基于该发送路径将读取的数据发送回第二中继设备122。
在一种实施方式中,第一中继设备121可基于其本地的查找表确定将收据b及其Spv证明数据提供给第二区块链13的路由路径,从而通过该路由路径将收据b及其Spv证明数据发送回第二中继设备122。
图5示出根据本说明书实施例的一种跨链访问控制装置500,所述装置500部署于第一中继设备,所述第一中继设备与第一区块链连接,所述第一中继设备中预设有与所述第一区块链对应的访问控制表,所述访问控制表中包括所述第一区块链中的资源的授权信息,所述装置500包括:
接收单元51,配置为,接收对第一区块链的访问请求,所述访问请求用于请求访问的所述第一区块链中的资源;
判断单元52,配置为,基于所述访问控制表判断所述访问请求是否被授权;
访问单元53,配置为,在判断所述访问请求被授权的情况中,进行对所述资源的访问。
在一种实施方式中,所述访问请求中包括发送所述访问请求的第二区块链的标识,其中,所述判断单元52还配置为:基于所述访问控制表判断所述资源是否为被授权给所述第二区块链的资源。
在一种实施方式中,所述访问请求中还包括请求的对所述资源的访问方式,其中,所述判断单元52还配置为:基于所述访问控制表判断所述请求的对所述资源的访问方式是否为被授权给所述第二区块链的访问方式。
在一种实施方式中,所述访问请求为对所述第一区块链中的智能合约的调用请求,其中,所述访问单元53还配置为,向所述第一区块链发送交易以调用所述智能合约。
在一种实施方式中,所述访问请求为对所述第一区块链中的数据的读取请求,其中,所述访问单元53还配置为,从所述第一区块链读取所述数据。
在一种实施方式中,所述访问单元53还配置为,从所述第一区块链读取所述数据及其证明数据。
在一种实施方式中,所述第一中继设备连接于中继设备网络中,所述第一中继设备中存储有查找表,所述查找表中记录了所述中继网络中的预定数目个中继设备各自连接的区块链,所述装置500还包括,发送单元54,配置为,基于所述查找表将所述数据发送给所述预定数目个中继设备中的至少一个中继设备。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一种方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器在执行所述计算机程序时,实现上述任一种方法。
在根据本说明书实施例的跨链访问控制方案中,通过在中继设备中进行区块链访问权限控制,使得区块链接入跨链网络中时,可根据实际需求设置跨链资源访问权限,从而保证区块链中的资源的安全性和可控性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。其中,软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本说明书实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书实施例的具体实施方式而已,并不用于限定本说明书实施例的保护范围,凡在本说明书实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书实施例的保护范围之内。
Claims (16)
1.一种跨链访问控制方法,所述方法由第一中继设备执行,所述第一中继设备与第一区块链连接,所述第一中继设备中预设有与所述第一区块链对应的访问控制表,所述访问控制表中包括所述第一区块链中的资源的授权信息,所述方法包括:
接收对第一区块链的访问请求,所述访问请求用于请求访问的所述第一区块链中的资源;
基于所述访问控制表判断所述访问请求是否被授权;
在判断所述访问请求被授权的情况中,进行对所述资源的访问。
2.根据权利要求1所述的方法,其中,所述访问请求中包括发送所述访问请求的第二区块链的标识,其中,基于所述访问控制表判断所述访问请求是否被授权包括:基于所述访问控制表判断所述资源是否为被授权给所述第二区块链的资源。
3.根据权利要求2所述的方法,其中,所述访问请求中还包括请求的对所述资源的访问方式,其中,基于所述访问控制表判断所述访问请求是否被授权包括:基于所述访问控制表判断所述请求的对所述资源的访问方式是否为被授权给所述第二区块链的访问方式。
4.根据权利要求1-3中任一项所述的方法,其中,所述访问请求为对所述第一区块链中的智能合约的调用请求,其中,进行对所述资源的访问包括,向所述第一区块链发送交易以调用所述智能合约。
5.根据权利要求1-3中任一项所述的方法,其中,所述访问请求为对所述第一区块链中的数据的读取请求,其中,进行对所述资源的访问包括,从所述第一区块链读取所述数据。
6.根据权利要求5所述的方法,其中,从所述第一区块链读取所述数据包括,从所述第一区块链读取所述数据及其证明数据。
7.根据权利要求5所述的方法,其中,所述第一中继设备连接于中继设备网络中,所述第一中继设备中存储有查找表,所述查找表中记录了所述中继网络中的预定数目个中继设备各自连接的区块链,所述方法还包括,基于所述查找表将所述数据发送给所述预定数目个中继设备中的至少一个中继设备。
8.一种跨链访问控制装置,所述装置部署于第一中继设备,所述第一中继设备与第一区块链连接,所述第一中继设备中预设有与所述第一区块链对应的访问控制表,所述访问控制表中包括所述第一区块链中的资源的授权信息,所述装置包括:
接收单元,配置为,接收对第一区块链的访问请求,所述访问请求用于请求访问的所述第一区块链中的资源;
判断单元,配置为,基于所述访问控制表判断所述访问请求是否被授权;
访问单元,配置为,在判断所述访问请求被授权的情况中,进行对所述资源的访问。
9.根据权利要求8所述的装置,其中,所述访问请求中包括发送所述访问请求的第二区块链的标识,其中,所述判断单元还配置为:基于所述访问控制表判断所述资源是否为被授权给所述第二区块链的资源。
10.根据权利要求9所述的装置,其中,所述访问请求中还包括请求的对所述资源的访问方式,其中,所述判断单元还配置为:基于所述访问控制表判断所述请求的对所述资源的访问方式是否为被授权给所述第二区块链的访问方式。
11.根据权利要求8-10中任一项所述的装置,其中,所述访问请求为对所述第一区块链中的智能合约的调用请求,其中,所述访问单元还配置为,向所述第一区块链发送交易以调用所述智能合约。
12.根据权利要求8-10中任一项所述的装置,其中,所述访问请求为对所述第一区块链中的数据的读取请求,其中,所述访问单元还配置为,从所述第一区块链读取所述数据。
13.根据权利要求12所述的装置,其中,所述访问单元还配置为,从所述第一区块链读取所述数据及其证明数据。
14.根据权利要求12所述的装置,其中,所述第一中继设备连接于中继设备网络中,所述第一中继设备中存储有查找表,所述查找表中记录了所述中继网络中的预定数目个中继设备各自连接的区块链,所述装置还包括,发送单元,配置为,基于所述查找表将所述数据发送给所述预定数目个中继设备中的至少一个中继设备。
15.一种计算机可读存储介质,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行权利要求1-7中任一项的所述的方法。
16.一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序或指令,所述处理器在执行所述计算机程序或指令时,实现权利要求1-7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110339716.4A CN112738139B (zh) | 2021-03-30 | 2021-03-30 | 一种跨链访问控制方法和装置 |
PCT/CN2021/133127 WO2022205966A1 (zh) | 2021-03-30 | 2021-11-25 | 一种跨链访问控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110339716.4A CN112738139B (zh) | 2021-03-30 | 2021-03-30 | 一种跨链访问控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112738139A true CN112738139A (zh) | 2021-04-30 |
CN112738139B CN112738139B (zh) | 2021-07-06 |
Family
ID=75596073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110339716.4A Active CN112738139B (zh) | 2021-03-30 | 2021-03-30 | 一种跨链访问控制方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112738139B (zh) |
WO (1) | WO2022205966A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113283987A (zh) * | 2021-05-17 | 2021-08-20 | 网易(杭州)网络有限公司 | 业务处理方法、装置、区块链网关、区块链节点及存储介质 |
WO2022205966A1 (zh) * | 2021-03-30 | 2022-10-06 | 蚂蚁区块链科技(上海)有限公司 | 一种跨链访问控制方法和装置 |
WO2022205965A1 (zh) * | 2021-03-30 | 2022-10-06 | 蚂蚁区块链科技(上海)有限公司 | 跨链访问控制方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170237648A1 (en) * | 2016-02-15 | 2017-08-17 | Fujitsu Limited | Recording medium and packet relay method |
CN110650189A (zh) * | 2019-09-20 | 2020-01-03 | 深圳供电局有限公司 | 一种基于中继的区块链的交互系统及方法 |
CN112003889A (zh) * | 2020-07-10 | 2020-11-27 | 南京邮电大学 | 分布式跨链系统及跨链信息交互与系统访问控制机制 |
CN112016136A (zh) * | 2020-10-22 | 2020-12-01 | 浙江网商银行股份有限公司 | 基于联盟链的数据处理方法及装置 |
CN112508560A (zh) * | 2020-12-01 | 2021-03-16 | 浙商银行股份有限公司 | 区块链跨链身份认证和权限管控方法、装置及计算机设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11194837B2 (en) * | 2018-05-01 | 2021-12-07 | International Business Machines Corporation | Blockchain implementing cross-chain transactions |
CN110751475A (zh) * | 2019-10-24 | 2020-02-04 | 杭州趣链科技有限公司 | 一种区块链交易的跨链方法及系统、设备和存储介质 |
CN112381651A (zh) * | 2020-11-19 | 2021-02-19 | 深圳前海微众银行股份有限公司 | 一种基于物联网的区块链跨链交易方法及装置 |
CN112738139B (zh) * | 2021-03-30 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 一种跨链访问控制方法和装置 |
-
2021
- 2021-03-30 CN CN202110339716.4A patent/CN112738139B/zh active Active
- 2021-11-25 WO PCT/CN2021/133127 patent/WO2022205966A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170237648A1 (en) * | 2016-02-15 | 2017-08-17 | Fujitsu Limited | Recording medium and packet relay method |
CN110650189A (zh) * | 2019-09-20 | 2020-01-03 | 深圳供电局有限公司 | 一种基于中继的区块链的交互系统及方法 |
CN112003889A (zh) * | 2020-07-10 | 2020-11-27 | 南京邮电大学 | 分布式跨链系统及跨链信息交互与系统访问控制机制 |
CN112016136A (zh) * | 2020-10-22 | 2020-12-01 | 浙江网商银行股份有限公司 | 基于联盟链的数据处理方法及装置 |
CN112508560A (zh) * | 2020-12-01 | 2021-03-16 | 浙商银行股份有限公司 | 区块链跨链身份认证和权限管控方法、装置及计算机设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022205966A1 (zh) * | 2021-03-30 | 2022-10-06 | 蚂蚁区块链科技(上海)有限公司 | 一种跨链访问控制方法和装置 |
WO2022205965A1 (zh) * | 2021-03-30 | 2022-10-06 | 蚂蚁区块链科技(上海)有限公司 | 跨链访问控制方法和装置 |
CN113283987A (zh) * | 2021-05-17 | 2021-08-20 | 网易(杭州)网络有限公司 | 业务处理方法、装置、区块链网关、区块链节点及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022205966A1 (zh) | 2022-10-06 |
CN112738139B (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110443704B (zh) | 一种跨链发送资源的方法和装置 | |
CN110311790B (zh) | 一种跨链发送可认证消息的方法和装置 | |
CN112738139B (zh) | 一种跨链访问控制方法和装置 | |
CN108881187B (zh) | 一种适用于许可链场景的跨链数据传递方法及设备 | |
CN111461723B (zh) | 基于区块链的数据处理系统及方法、装置 | |
CN110430162B (zh) | 一种跨链发送可认证消息的方法和装置 | |
JP7019697B2 (ja) | ブロックチェーン上の動的アクセス制御 | |
CN110046998B (zh) | 跨链用权系统及方法、装置、电子设备、存储介质 | |
CN110430235B (zh) | 跨链发送可认证消息的方法、装置、存储介质和计算设备 | |
CN112613877B (zh) | 应用于区块链网络的智能合约触发方法、装置及相关设备 | |
WO2021082340A1 (zh) | 数据处理方法、装置、系统和存储介质 | |
CN112804358B (zh) | 一种基于中继设备网络跨链中转数据的方法和装置 | |
CN113901505B (zh) | 数据共享方法、装置、电子设备及存储介质 | |
CN112769871B (zh) | 跨链访问控制方法和装置 | |
CN114567643B (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
CN112866421B (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
CN111240862A (zh) | 一种通用接口平台以及数据转换方法 | |
CN110417742B (zh) | 跨链发送、中转、接收可认证消息的方法、装置及存储介质 | |
CN112804357B (zh) | 一种基于中继设备网络跨链读取数据的方法和装置 | |
CN105516134A (zh) | 一种系统集成的认证方法及系统 | |
CN115708119A (zh) | 跨链交易系统、方法、设备及存储介质 | |
CN116467062A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN111222991A (zh) | 一种区块链之间的跨链方法及系统 | |
CN115987683B (zh) | 区块链网络中节点访问控制方法、装置、设备和介质 | |
CN113452734B (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 |