CN111614777B - 一种基于以太坊区块链的跨组织账户手机号码共享方法 - Google Patents

一种基于以太坊区块链的跨组织账户手机号码共享方法 Download PDF

Info

Publication number
CN111614777B
CN111614777B CN202010463376.1A CN202010463376A CN111614777B CN 111614777 B CN111614777 B CN 111614777B CN 202010463376 A CN202010463376 A CN 202010463376A CN 111614777 B CN111614777 B CN 111614777B
Authority
CN
China
Prior art keywords
organization
mobile phone
phone number
intelligent contract
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.)
Active
Application number
CN202010463376.1A
Other languages
English (en)
Other versions
CN111614777A (zh
Inventor
夏本辉
韩德志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Maritime University
Original Assignee
Shanghai Maritime University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Maritime University filed Critical Shanghai Maritime University
Priority to CN202010463376.1A priority Critical patent/CN111614777B/zh
Publication of CN111614777A publication Critical patent/CN111614777A/zh
Application granted granted Critical
Publication of CN111614777B publication Critical patent/CN111614777B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供一种基于以太坊区块链的跨组织账户手机号码共享方法,包含:将手机号码关联绑定了该手机号码的组织账户,建立该手机号码与该组织账户的绑定信息;将所述绑定信息存储在区块链的各个区块链节点;通过存储在区块链上的智能合约生成和/或更新手机号码与单个组织账户的绑定信息;通过具有社会公信力的组织账户调用智能合约将手机号码与其所有绑定的组织账户解绑,实现手机号码在多个组织之间的非信任关联。本发明解决了不同组织账户需要单独解绑手机号码的问题,避免了因手机号码注销导致的组织账户安全性问题。

Description

一种基于以太坊区块链的跨组织账户手机号码共享方法
技术领域
本发明涉及以太坊区块链技术领域,特别涉及一种基于以太坊区块链的跨组织账户手机号码共享方法。
背景技术
现今很多组织为了提高用户账户的安全性,都会要求用户将手机号码和账户绑定,以便用于获取验证码来验证身份信息,实现身份验证、访问控制等功能。然而,由于各组织之间的封闭性,同一个手机号码绑定的账户之间是不存在共享的操作的。所以当用户需要更换手机号码时,就需要分别为每个组织账户进行解绑。而一旦用户的原手机号码注销而组织账户没有与其解绑,还可能存在很多安全问题。
以太坊区块链是一种去中心化、防篡改的开源区块链实现方案,本质上是可多方节点共同参与的分布式数据库系统。多个节点共同维护的区块链数据,是获得多方共识的,同时也不能被非法篡改。以太坊网络以交易的形式交换和存储数据,交易内部记录了发送方和接收方的地址、发送的数据内容等。在设定时间内,多个区块链节点与智能合约交互时产生的交易集合,被通过共识算法获得打包权的节点打包成区块加入区块链中,并以广播的方式发送给以太坊网络上的每个区块链节点进行同步备份。
智能合约是一段运行在以太坊虚拟机上的代码,代码本身和执行结果都会存储在区块链上。智能合约一旦被部署就不能被修改,所以通过智能合约的写入和读取操作都是固定的,因此可以通过智能合约实现多节点间的非信任操作。
随着用户的关联手机号码的账户越来越多,现如今手机号码的绑定模式存在问题:
1、各组织之间相互隔离,各自只维护自己的手机绑定功能,信息也保存在各自数据库中,这对于用户来说管理不便;
2、如果使用集中式数据存储方式,那么各组织对第三方存储机构的信任问题也很难解决;
3、当用户手机号码发生变动时,手机号码关联的账户需要手动进行各自解绑,增加用户的操作成本;
4、手机号码信息在各组织之间属于公开信息,如果各组织之间进行封闭式管理,会造成信息的冗余存储,存在不必要的浪费。
发明内容
本发明的目的是提供一种基于以太坊区块链的跨组织账户手机号码共享方法,借助区块链技术的共识机制和去中心化特性,以智能合约的方式方便用户管理在多个组织账户之间关联的手机号码,解决各组织独立使用号码绑定功能造成的操作不便问题。
为了达到上述目的,本发明提供一种基于以太坊区块链的跨组织账户手机号码共享方法,包含:
将手机号码关联绑定了该手机号码的组织账户,建立该手机号码与该组织账户的绑定信息;将所述绑定信息存储在区块链的各个区块链节点;所述区块链节点与组织账户一一对应;
通过存储在区块链上的智能合约生成和/或更新手机号码与单个组织账户的绑定信息;具有打包权的区块链节点将生成和/或更新后的绑定信息通过交易的形式打包成区块加入区块链中,并广播给每个区块链节点进行同步备份;
通过具有社会公信力的组织账户调用所述智能合约将手机号码与其所有绑定的组织账户解绑;智能合约生成对应的事件,区块链节点订阅该事件后,在智能合约触发该事件时,分别同步将该手机号码与其所有绑定的组织账户解绑,实现手机号码在多个组织之间的非信任关联。
优选的,所述绑定信息包含手机号码,和由绑定该手机号码的组织生成的组织信息;所述组织信息不包含组织和手机用户的隐私信息。
优选的,所述智能合约存储有手机号码和与手机号码对应的组织列表,所述组织列表用于存储所有绑定了该手机号码的组织的账户地址;以太坊为所述组织分配对应的公私钥对,通过对组织的公钥进行编码生成组织的账户地址,所述账户地址唯一标志组织身份。
优选的,将手机号码绑定组织账户时,具体包含步骤:
S1.1、用户访问组织服务器并输入手机号码,组织通过其公钥将该手机号码和组织生成的所述组织信息orgMsg加密发送给对应的以太坊节点,该以太坊节点通过该组织的私钥priKey解密该组织发送的信息,并以交易的形式将其发送给对应的区块链节点上的智能合约;
S1.2、智能合约根据所述交易,将存储的全局变量msg.sender解析为组织的账户地址;
S1.3、智能合约以所述手机号码为键映射到存储在智能合约内的与该手机号码对应的组织列表;若该组织列表为
Figure BDA0002511688700000031
进入S1.4,否则进入S1.5;
S1.4、则根据msg.sender和orgMsg建立键值对,将所述键值对关联到该手机号码下,并将msg.sender保存到该手机号码对应的组织列表中;
S1.5、以msg.sender为键查找与该手机号码对应的组织列表;若该组织列表中不包含msg.sender,则根据msg.sender和orgMsg建立键值对,并关联到该手机号码下,并将msg.sender保存到对应的组织列表中;
S1.6、区块链具有打包权的节点将更新后的绑定信息和组织列表通过交易的形式打包成区块加入区块链中,并以广播给每个区块链节点进行同步备份。
优选的,更新手机号码所绑定组织的组织信息时,具体包含步骤:
S2.1、用户访问组织服务器并输入手机号码,组织通过其公钥将该手机号码和组织生成的所述组织信息orgMsg加密发送给对应的以太坊节点,该以太坊节点通过该组织的私钥priKey解密该组织发送的信息,并以交易的形式将其发送给对应的区块链节点上的智能合约;
S2.2、智能合约根据所述交易,将存储的全局变量msg.sender解析为组织的账户地址;
S2.3、智能合约以手机号码为键映射到该手机号码对应的组织列表,若该组织列表包含msg.sender,以msg.sender为键映射到对应键值对中的orgMsg,更新orgMsg;
S2.4、区块链具有打包权的节点将更新后的绑定信息和组织列表通过交易的形式打包成区块加入区块链中,并以广播给每个区块链节点进行同步备份。
优选的,将手机号码解绑单个组织时,具体包含步骤:
S3.1、用户访问组织的服务器并发出解除手机号码与该组织账户的绑定请求,组织根据该请求要求其对应的以太坊节点调用智能合约中解除手机号码与单个组织账户的绑定操作;
S3.2、智能合约将存储的全局变量msg.sender解析为组织的账户地址;
S3.3、智能合约以手机号码为键映射到对应的组织列表,以该组织列表中的所述账户地址msg.sender为键映射到对应的键值对,删除该键值对;
S3.4、从手机号码对应的组织列表中删除msg.sender;
S3.5、区块链具有打包权的节点将更新后的绑定信息和组织列表通过交易的形式打包成区块加入区块链中,并以广播给每个区块链节点进行同步备份。
优选的,更换与组织账户绑定的手机号码时,具体包含步骤:
S4.1、用户访问组织服务器并输入旧手机号码,组织通过其公钥将该旧手机号码和组织生成的所述组织信息orgMsg加密发送给对应的以太坊节点,该以太坊节点通过该组织的私钥priKey解密该组织发送的信息,并以交易的形式将其发送给对应的区块链节点上的智能合约;
S4.2、所述智能合约根据所述交易,将存储的全局变量msg.sender解析为组织的账户地址;
S4.3、智能合约以旧手机号码为键映射到对应的组织列表,并以该组织列表中的所述账户地址msg.sender为键映射到对应的键值对,删除该键值对;
S4.4、从旧手机号码对应的组织列表中删除msg.sender;
S4.5、用户向组织服务器输入新手机号码,组织通过对应的以太坊节点将该新手机号码发送给智能合约;
S4.6、智能合约以所述新手机号码为键映射到存储在智能合约内的与该新手机号码对应的组织列表;若该组织列表为
Figure BDA0002511688700000041
进入S4.7,否则进入S4.8;
S4.7、根据msg.sender和orgMsg建立键值对,将所述键值对关联到该新手机号码下,并将msg.sender保存到该新手机号码对应的组织列表中
S4.8、以msg.sender为键查找与该新手机号码对应的组织列表;若该组织列表中不包含msg.sender,则根据msg.sender和orgMsg建立键值对,并关联到该新手机号码下,并将msg.sender保存到新手机号码对应的组织列表中;
S4.9、区块链具有打包权的节点将更新后的绑定信息和组织列表通过交易的形式打包成区块加入区块链中,并以广播给每个区块链节点进行同步备份。
优选的,删除与手机号码绑定的所有组织账户时,具体包含步骤:
S5.1、用户访问具有社会公信力的组织的服务器并发出解绑手机号码与其所有绑定组织账户的请求,所述具有社会公信力的组织根据该请求要求其对应的以太坊节点调用智能合约中解除手机号码与多个组织账户的绑定操作;
S5.2、智能合约将存储的全局变量msg.sender解析为该组织的账户地址;
S5.3、智能合约以手机号码为键映射到对应的组织列表,遍历该组织列表中所有的账户地址,并以该账户地址为键映射到对应的键值对,删除该键值对;
S5.4、删除该手机号码对应的组织列表的所有账户地址,将该组织列表赋为
Figure BDA0002511688700000051
S5.5、智能合约根据步骤S5.2至S5.4生成对应的事件,以太坊网络所有区块链节点订阅该事件;当智能合约触发了所述事件,所有区块链节点做出响应操作。
与现有技术相比,本发明的基于以太坊区块链的跨组织账户手机号码共享方法的有益效果在于:
(1)解决了各组织账户绑定的手机号码的分散式管理,对用户来说,只需在具有公信力的组织节点即可实现将所有组织账号与手机号码解绑,提高对手机号码的管理效率;
(2)通过区块链的去中心化结构,各组织以共识算法关联而不是集中式信任机制,有效抵御恶意节点的攻击,且将操作和数据分离,手机号码和绑定的账户信息存储在区块链上,减少各组织间手机号码与账户绑定信息的冗余存储。
附图说明
为了更清楚地说明本发明技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图:
图1为本发明的基于以太坊区块链的跨组织账户手机号码共享方法的流程示意图;
图2为本发明中智能合约存储的数据结构示意图;
图3为本发明的实施例中,手机用户、组织、以太坊节点、区块链网络之间数据流示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以太坊网络包含若干个以太坊节点,一个以太坊节点对应一个组织,一个组织对应一个区块链节点。以太坊为所述组织分配对应的公私钥对,通过对组织的公钥进行编码(如:hash运算)生成组织的账户地址(也即以太坊节点地址),所述账户地址唯一标志组织身份。智能合约存储在区块链上,智能合约为程序代码,组织通过智能合约维护区块链存储的数据。智能合约的运行结果也存储在区块链节点。
本发明提供一种基于以太坊区块链的跨组织账户手机号码共享方法,包含:将手机号码关联绑定了该手机号码的组织账户,建立该手机号码与该组织账户的绑定信息,将所述绑定信息存储在区块链上;
通过存储在区块链上的智能合约生成和/或更新手机号码与单个组织账户的绑定信息;具有打包权的区块链节点将生成和/或更新后的绑定信息通过交易的形式打包成区块加入区块链中,并广播给每个区块链节点进行同步备份;
通过具有社会公信力的组织账户调用所述智能合约将手机号码与其所有绑定的组织账户解绑;智能合约生成对应的事件,区块链节点订阅该事件后,在智能合约触发该事件时,分别同步将该手机号码与其所有绑定的组织账户解绑,实现手机号码在多个组织之间的非信任关联。
如图2所示,在本发明的实施例中,所述绑定信息包含手机号码,和由绑定该手机号码的组织生成的组织信息,所述组织信息不包含组织和手机用户的隐私信息,通常可以是组织的域名或IP地址。智能合约中还存储有多个组织列表,所述组织列表存储有与手机号码绑定的组织的账户地址。
在本发明的实施例中,智能合约将手机号码存储在phoneNumberList中,通过建立以手机号码为索引的映射结构实现手机号码与组织的账户地址、组织信息的关联。所述映射结构为:
mapping(string=>Relation)phoneNumberList;
其中,string表示手机号码,而Relation表示关联数据结构,可以保存与手机号码关联的多个组织的账户地址和组织信息。Relation的具体结构为:
Figure BDA0002511688700000071
其中,count表示组织列表,组织列表内按绑定的时间顺序保存着所有组织地址,而orgLists为组织关联信息结构,其以组织地址为键,保存着每个组织的组织信息和账户地址,orgLists的数据结构如下:
Figure BDA0002511688700000072
Owner保存的是组织的账户地址。显然,当需要扩展绑定数据时,可以修改orgLists结构。
如图1所示,将手机号码绑定组织账户时,具体包含步骤:
S1.1、用户访问组织服务器并输入手机号码,组织通过其公钥将该手机号码和组织生成的所述组织信息orgMsg加密发送给对应的以太坊节点,该以太坊节点通过该组织的私钥priKey解密该组织发送的信息,并以交易的形式将其发送给对应的区块链节点上的智能合约;
S1.2、智能合约根据所述交易,将存储的全局变量msg.sender解析为组织的账户地址;
S1.3、智能合约以所述手机号码为键映射到存储在智能合约内的与该手机号码对应的组织列表;若该组织列表为
Figure BDA0002511688700000081
进入S1.4,否则进入S1.5;
S1.4、则根据msg.sender和orgMsg建立键值对(msg.sender,orgMsg),将所述键值对关联到该手机号码下,并将msg.sender保存到该手机号码对应的组织列表中;所述键值对也即orgLists中存储的内容;
S1.5、以msg.sender为键查找与该手机号码对应的组织列表;若该组织列表中不包含msg.sender,则根据msg.sender和orgMsg建立键值对(msg.sender,orgMsg),并关联到该手机号码下,并将msg.sender保存到对应的组织列表中;
S1.6、区块链具有打包权的节点将更新后的绑定信息和组织列表通过交易的形式打包成区块加入区块链中,并以广播给每个区块链节点进行同步备份。
实施例一
如图2、图3所示,手机号为18016660001的用户访问组织org1的服务器,输入其手机号,由组织org1生成对应的orgMsg,在本实施例中orgMsg为org1的域名www.org1.com。组织的服务器将该手机号和orgMsg通过组织的公钥发送给对应的以太坊节点,以太坊节点通过组织的私钥解密得到该手机号和orgMsg并发送给对应区块链节点的智能合约。
智能合约以18016660001为键映射到该号码下所有绑定的组织列表count,如果该表为
Figure BDA0002511688700000082
说明该手机号码从未绑定过账户,则以(oxca…3c,“www.org1.com”)为键值对,关联到18016660001下,同时初始化组织列表,并将msg.sender(也即oxca…3c)保存到组织列表count中;
如果组织列表count不为空,则以msg.sender为键查找号码18016660001是否已绑定了org1(在组织列表中查找是否包含org1的账户地址)。如果还未绑定过,则以(msg.sender,“www.org1.com”)为键值对,关联到18016660001下,并将msg.sender保存到与18016660001对应的组织列表中。
org1对应的区块链节点根据进行的操作生成对应的事件,区块链中除org1的其他区块链节点订阅该事件,分别同步生成对应的绑定信息,具体包含:将手机号码存入各自的phoneNumberList中,将oxca…3c加入与号码18016660001对应的组织列表中,同时建立与18016660001对应的键值对(oxca…3c,“www.org1.com”)。其他区块链节点响应org1的区块链节点进行同步操作,此为现有技术。
进一步的,区块链节点还会将更新的绑定信息保存到对应的以太坊节点,各组织服务器监听到对应的以太坊节点进行了数据更新,会做出响应:如在该组织数据库增加手机号码,发送手机号码与账户绑定成功的消息给用户等。
如图1所示,更新手机号码所绑定组织的组织信息时,具体包含步骤:
S2.1、用户访问组织服务器并输入手机号码,组织通过其公钥将该手机号码和组织生成的所述组织信息orgMsg加密发送给对应的以太坊节点,该以太坊节点通过该组织的私钥priKey解密该组织发送的信息,并以交易的形式将其发送给对应的区块链节点上的智能合约;
S2.2、智能合约根据所述交易,将存储的全局变量msg.sender解析为组织的账户地址;
S2.3、智能合约以手机号码为键映射到该手机号码对应的组织列表,若该组织列表包含msg.sender,以msg.sender为键映射到对应键值对中的orgMsg,更新orgMsg;
S2.4、区块链具有打包权的节点将更新后的绑定信息和组织列表通过交易的形式打包成区块加入区块链中,并以广播给每个区块链节点进行同步备份。
如图1所示,将手机号码解绑单个组织时,具体包含步骤:
S3.1、用户访问组织的服务器并发出解除手机号码与该组织账户的绑定请求,组织根据该请求要求其对应的以太坊节点调用智能合约中解除手机号码与单个组织的绑定操作;
S3.2、智能合约将存储的全局变量msg.sender解析为组织的账户地址;
S3.3、智能合约以手机号码为键映射到对应的组织列表,以该组织列表中的所述账户地址msg.sender为键映射到对应的键值对,删除该键值对;
S3.4、从手机号码对应的组织列表中删除msg.sender;
S3.5、区块链具有打包权的节点将更新后的绑定信息和组织列表通过交易的形式打包成区块加入区块链中,并以广播给每个区块链节点进行同步备份。
实施例二
如图2所示,本实施例中将手机号18016660001与Org1解绑。通过Org1的智能合约以18016660001为键映射到对应的组织列表,Org1的账户地址msg.sender为oxca…3c。以msg.sender为键找到与Org1对应的关联信息结构orgList,也即是(oxca…3c,“www.org1.com”),删除(oxca…3c,“www.org1.com”);删除成功后,删除号码18016660001对应组织列表中的账户地址oxca…3c。
如图1所示,更换与组织账户绑定的手机号码时,具体包含步骤:
S4.1、用户访问组织服务器并输入旧手机号码,组织通过其公钥将该旧手机号码和组织生成的所述组织信息orgMsg加密发送给对应的以太坊节点,该以太坊节点通过该组织的私钥priKey解密该组织发送的信息,并以交易的形式将其发送给对应的区块链节点上的智能合约;
S4.2、所述智能合约根据所述交易,将存储的全局变量msg.sender解析为组织的账户地址;
S4.3、智能合约以旧手机号码为键映射到对应的组织列表,并以该组织列表中的所述账户地址msg.sender为键映射到对应的键值对,删除该键值对;
S4.4、从旧手机号码对应的组织列表中删除msg.sender;
S4.5、用户向组织服务器输入新手机号码,组织通过对应的以太坊节点将该新手机号码发送给对应的智能合约;
S4.6、智能合约以所述新手机号码为键映射到存储在智能合约内的与该新手机号码对应的组织列表;若该组织列表为
Figure BDA0002511688700000101
进入S4.7,否则进入S4.8;
S4.7、根据msg.sender和orgMsg建立键值对(msg.sender,orgMsg),将所述键值对关联到该新手机号码下,并将msg.sender保存到该新手机号码对应的组织列表中
S4.8、以msg.sender为键查找与该新手机号码对应的组织列表;若该组织列表中不包含msg.sender,则根据msg.sender和orgMsg建立键值对(msg.sender,orgMsg),并关联到该新手机号码下,并将msg.sender保存到新手机号码对应的组织列表中;
S4.9、区块链具有打包权的节点将更新后的绑定信息和组织列表通过交易的形式打包成区块加入区块链中,并以广播给每个区块链节点进行同步备份。
实施例三
本实施例中,将与Org1绑定的手机号码18016660001更换为18123332233。首先解绑18016660001与Org1;然后将18123332233与Org1绑定。
如图1所示,删除与手机号码绑定的所有组织账户时,具体包含步骤:
S5.1、用户访问具有社会公信力的组织(如银行、政府机构)的服务器并发出解绑手机号码与其所有绑定组织账户请求,该具有社会公信力的组织根据该请求要求其对应的以太坊节点(如银行、政府机构的以太坊节点)调用智能合约中解除手机号码与多个组织的绑定操作;
S5.2、智能合约将存储的全局变量msg.sender解析为该组织的账户地址;
S5.3、智能合约以手机号码为键映射到对应的组织列表,遍历该组织列表中所有的账户地址,并以该账户地址为键映射到对应的键值对,删除该键值对;
S5.4、删除该手机号码对应的组织列表的所有账户地址,将该组织列表赋为
Figure BDA0002511688700000111
S5.5、智能合约对上述步骤S5.2至S5.4生成对应事件,以太坊网络所有区块链节点订阅该事件;当智能合约触发了该事件后,所有区块链节点做出响应操作,如修改绑定信息、向用户返回执行结果。
在本发明中,为保证手机号码关联组织账户的安全性,只有通过具有社会公信力的组织的以太坊节点才能够将手机号码与多个其他组织账户解绑。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (4)

1.一种基于以太坊区块链的跨组织账户手机号码共享方法,其特征在于,包含:
将手机号码关联绑定了该手机号码的组织账户,建立该手机号码与该组织账户的绑定信息;将所述绑定信息存储在区块链的各个区块链节点;所述区块链节点与组织账户一一对应;
通过存储在区块链上的智能合约生成和/或更新手机号码与单个组织账户的绑定信息;具有打包权的区块链节点将生成和/或更新后的绑定信息通过交易的形式打包成区块加入区块链中,并广播给每个区块链节点进行同步备份;
通过具有社会公信力的组织账户调用所述智能合约将手机号码与其所有绑定的组织账户解绑;智能合约生成对应的事件,区块链节点订阅该事件后,在智能合约触发该事件时,分别同步将该手机号码与其所有绑定的组织账户解绑,实现手机号码在多个组织之间的非信任关联;
将手机号码绑定组织账户时,包含步骤:
S1.1、用户访问组织服务器并输入手机号码,组织通过其公钥将该手机号码和组织生成的所述组织信息orgMsg加密发送给对应的以太坊节点,该以太坊节点通过该组织的私钥priKey解密该组织发送的信息,并以交易的形式将其发送给对应的区块链节点上的智能合约;
S1.2、智能合约根据所述交易,将存储的全局变量msg.sender解析为组织的账户地址;
S1.3、智能合约以所述手机号码为键映射到存储在智能合约内的与该手机号码对应的组织列表;若该组织列表为
Figure FDA0003917545030000011
进入S1.4,否则进入S1.5;
S1.4、则根据msg.sender和orgMsg建立键值对,将所述键值对关联到该手机号码下,并将msg.sender保存到该手机号码对应的组织列表中;
S1.5、以msg.sender为键查找与该手机号码对应的组织列表;若该组织列表中不包含msg.sender,则根据msg.sender和orgMsg建立键值对,并关联到该手机号码下,并将msg.sender保存到对应的组织列表中;
S1.6、区块链具有打包权的节点将更新后的绑定信息和组织列表通过交易的形式打包成区块加入区块链中,并以广播给每个区块链节点进行同步备份;
更新手机号码所绑定组织的组织信息时,包含步骤:
S2.1、用户访问组织服务器并输入手机号码,组织通过其公钥将该手机号码和组织生成的所述组织信息orgMsg加密发送给对应的以太坊节点,该以太坊节点通过该组织的私钥priKey解密该组织发送的信息,并以交易的形式将其发送给对应的区块链节点上的智能合约;
S2.2、智能合约根据所述交易,将存储的全局变量msg.sender解析为组织的账户地址;
S2.3、智能合约以手机号码为键映射到该手机号码对应的组织列表,若该组织列表包含msg.sender,以msg.sender为键映射到对应键值对中的orgMsg,更新orgMsg;
S2.4、区块链具有打包权的节点将更新后的绑定信息和组织列表通过交易的形式打包成区块加入区块链中,并以广播给每个区块链节点进行同步备份;
更换与组织账户绑定的手机号码时,包含步骤:
S4.1、用户访问组织服务器并输入旧手机号码,组织通过其公钥将该旧手机号码和组织生成的所述组织信息orgMsg加密发送给对应的以太坊节点,该以太坊节点通过该组织的私钥priKey解密该组织发送的信息,并以交易的形式将其发送给对应的区块链节点上的智能合约;
S4.2、所述智能合约根据所述交易,将存储的全局变量msg.sender解析为组织的账户地址;
S4.3、智能合约以旧手机号码为键映射到对应的组织列表,并以该组织列表中的所述账户地址msg.sender为键映射到对应的键值对,删除该键值对;
S4.4、从旧手机号码对应的组织列表中删除msg.sender;
S4.5、用户向组织服务器输入新手机号码,组织通过对应的以太坊节点将该新手机号码发送给智能合约;
S4.6、智能合约以所述新手机号码为键映射到存储在智能合约内的与该新手机号码对应的组织列表;若该组织列表为
Figure FDA0003917545030000021
进入S4.7,否则进入S4.8;
S4.7、根据msg.sender和orgMsg建立键值对,将所述键值对关联到该新手机号码下,并将msg.sender保存到该新手机号码对应的组织列表中
S4.8、以msg.sender为键查找与该新手机号码对应的组织列表;若该组织列表中不包含msg.sender,则根据msg.sender和orgMsg建立键值对,并关联到该新手机号码下,并将msg.sender保存到新手机号码对应的组织列表中;
S4.9、区块链具有打包权的节点将更新后的绑定信息和组织列表通过交易的形式打包成区块加入区块链中,并以广播给每个区块链节点进行同步备份;
删除与手机号码绑定的所有组织账户时,包含步骤:
S5.1、用户访问具有社会公信力的组织的服务器并发出解绑手机号码与其所有绑定组织账户的请求,所述具有社会公信力的组织根据该请求要求其对应的以太坊节点调用智能合约中解除手机号码与多个组织账户的绑定操作;
S5.2、智能合约将存储的全局变量msg.sender解析为该组织的账户地址;
S5.3、智能合约以手机号码为键映射到对应的组织列表,遍历该组织列表中所有的账户地址,并以该账户地址为键映射到对应的键值对,删除该键值对;
S5.4、删除该手机号码对应的组织列表的所有账户地址,将该组织列表赋为
Figure FDA0003917545030000031
S5.5、智能合约根据步骤S5.2至S5.4生成对应的事件,以太坊网络所有区块链节点订阅该事件;当智能合约触发了所述事件,所有区块链节点做出响应操作。
2.如权利要求1所述的基于以太坊区块链的跨组织账户手机号码共享方法,其特征在于,所述绑定信息包含手机号码,和由绑定该手机号码的组织生成的组织信息;所述组织信息不包含组织和手机用户的隐私信息。
3.如权利要求2所述的基于以太坊区块链的跨组织账户手机号码共享方法,其特征在于,所述智能合约存储有手机号码和与手机号码对应的组织列表,所述组织列表用于存储所有绑定了该手机号码的组织的账户地址;以太坊为所述组织分配对应的公私钥对,通过对组织的公钥进行编码生成组织的账户地址,所述账户地址唯一标志组织身份。
4.如权利要求3所述的基于以太坊区块链的跨组织账户手机号码共享方法,其特征在于,将手机号码解绑单个组织时,具体包含步骤:
S3.1、用户访问组织的服务器并发出解除手机号码与该组织账户的绑定请求,组织根据该请求要求其对应的以太坊节点调用智能合约中解除手机号码与单个组织账户的绑定操作;
S3.2、智能合约将存储的全局变量msg.sender解析为组织的账户地址;
S3.3、智能合约以手机号码为键映射到对应的组织列表,以该组织列表中的所述账户地址msg.sender为键映射到对应的键值对,删除该键值对;
S3.4、从手机号码对应的组织列表中删除msg.sender;
S3.5、区块链具有打包权的节点将更新后的绑定信息和组织列表通过交易的形式打包成区块加入区块链中,并以广播给每个区块链节点进行同步备份。
CN202010463376.1A 2020-05-27 2020-05-27 一种基于以太坊区块链的跨组织账户手机号码共享方法 Active CN111614777B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010463376.1A CN111614777B (zh) 2020-05-27 2020-05-27 一种基于以太坊区块链的跨组织账户手机号码共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010463376.1A CN111614777B (zh) 2020-05-27 2020-05-27 一种基于以太坊区块链的跨组织账户手机号码共享方法

Publications (2)

Publication Number Publication Date
CN111614777A CN111614777A (zh) 2020-09-01
CN111614777B true CN111614777B (zh) 2023-03-07

Family

ID=72201328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010463376.1A Active CN111614777B (zh) 2020-05-27 2020-05-27 一种基于以太坊区块链的跨组织账户手机号码共享方法

Country Status (1)

Country Link
CN (1) CN111614777B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732730B (zh) * 2020-12-29 2023-06-16 中国联合网络通信集团有限公司 基于区块链的卡数据更新方法、系统及提供商平台
CN113660288B (zh) * 2021-09-18 2023-04-18 中国联合网络通信集团有限公司 基于区块链系统的用户号码绑定方法和绑定系统
CN114422121A (zh) * 2021-12-23 2022-04-29 江苏丰链数字科技有限公司 一种基于区块链的物品绑定方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008747A (zh) * 2019-04-01 2019-07-12 北京柏链基石科技有限公司 一种基于区块链的隐私数据的保护方法、装置及电子设备
CN116932564A (zh) * 2019-06-28 2023-10-24 创新先进技术有限公司 用于更新区块链中的数据的系统和方法
CN111027036B (zh) * 2019-12-09 2022-10-21 武汉信安珞珈科技有限公司 一种基于区块链的身份关联方法

Also Published As

Publication number Publication date
CN111614777A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN111614777B (zh) 一种基于以太坊区块链的跨组织账户手机号码共享方法
KR102155462B1 (ko) 데이터 액세스를 위한 방법, 시스템 및 장치
CN108898390B (zh) 基于区块链的智能合约调用方法及装置、电子设备
CN110502916B (zh) 一种基于区块链的敏感性数据处理方法与系统
CN110147684B (zh) 用于实现区块链数据隐私保护的方法及设备
CN103595730A (zh) 一种密文云存储方法和系统
CN107391758A (zh) 数据库切换方法、装置及设备
CN110008665B (zh) 一种区块链的权限控制方法及装置
CN113271311B (zh) 一种跨链网络中的数字身份管理方法及系统
CN113077259A (zh) 基于区块链的存证方法、装置及电子设备
CN107395587B (zh) 一种基于多点协作机制的数据管理方法及系统
US20190303935A1 (en) System and methods for preventing reverse transactions in a distributed environment
CN111460489B (zh) 基于ipfs区块链客户永续存储方法
CN111625843A (zh) 一种适用于大数据平台的数据透明加解密系统
US11789949B2 (en) Method and system of performing an operation on a single-table, multi-tenant database and partition key format therefor
CN109873784A (zh) 面向大数据的混合云安全存储管理系统
CN111107142B (zh) 业务访问方法和装置
CN112989404A (zh) 基于区块链的日志管理方法及相关设备
CN112653767B (zh) 数字身份管理方法、装置、电子设备和可读存储介质
US20040158564A1 (en) System and method for facilitating information transformations
CN116684425B (zh) 区块链的数据处理方法、系统、装置和计算机设备
KR100826886B1 (ko) 무선 네트워크 연동을 위한 스마트카드의 파일 링크 방법
CN117057806B (zh) 基于区块链的数据处理方法、装置及相关设备
CN112883038B (zh) 一种基于区块链的数据管理方法、计算机及可读存储介质
US20240097879A1 (en) Blockchain-based data management of distributed binary objects

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