WO2020186672A1 - Blockchain-based mail transmission and reception system - Google Patents

Blockchain-based mail transmission and reception system Download PDF

Info

Publication number
WO2020186672A1
WO2020186672A1 PCT/CN2019/096828 CN2019096828W WO2020186672A1 WO 2020186672 A1 WO2020186672 A1 WO 2020186672A1 CN 2019096828 W CN2019096828 W CN 2019096828W WO 2020186672 A1 WO2020186672 A1 WO 2020186672A1
Authority
WO
WIPO (PCT)
Prior art keywords
mail
blockchain
data
receiving
ciphertext data
Prior art date
Application number
PCT/CN2019/096828
Other languages
French (fr)
Chinese (zh)
Inventor
王泽亚
朱波
Original Assignee
深圳幂度信息科技有限公司
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 深圳幂度信息科技有限公司 filed Critical 深圳幂度信息科技有限公司
Publication of WO2020186672A1 publication Critical patent/WO2020186672A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • This application belongs to the field of blockchain technology, and in particular relates to a blockchain-based mail sending and receiving system.
  • the current e-mail system mainly consists of three parts: mail server, user agent and mail transfer protocol.
  • the mail server provides mail transmission and storage.
  • each mail server provider has its own mail server.
  • User agents are programs that send or read mail, such as the commonly used OutLook, Foxmail, etc.
  • the mail transfer protocol refers to the agreement that must be followed during the transmission of mail. It specifies how different servers (or clients) should exchange information.
  • Common mail transfer protocols include SMPT (Simple Mail Transfer Protocol), POP3 (Post Office Protocol 3), IMAP (Internet Mail Access Protocol), etc.
  • SMPT Simple Mail Transfer Protocol
  • POP3 Post Office Protocol 3
  • IMAP Internet Mail Access Protocol
  • the mail server is centralized and is vulnerable to hacker attacks or the service provider uses user mail data at will without the user's consent, causing user data leakage, especially confidential data, causing great losses to users;
  • E-mails are transmitted and stored in plain text on the Internet, and the contents of the e-mails may be intercepted or modified. Although some mail clients provide data encryption, this function is not used or checked by default. Users often send emails in clear text without their knowledge;
  • Denial of email users One is the denial of the sender, that is, the sender does not admit that the mail has been sent, and the other is the denial of the recipient, that is, the recipient does not recognize the receipt of the mail.
  • the denial of the sender can be solved by digital signature technology, and the denial of the recipient can be ensured by a non-repudiation agreement, which requires more than 5 data exchanges to complete a secure communication and is difficult.
  • the embodiment of the present application provides a blockchain-based mail receiving and dispatching system to solve the problems that the existing mail receiving and dispatching system is likely to cause user data leakage and repudiation.
  • the embodiment of the application provides a blockchain-based mail receiving and sending system, which may include:
  • Blockchain mail client used to send and receive mail, encrypt the content of the sent mail, and decrypt the content of the received mail;
  • the mail block chain system is used to store the transaction data generated during the mail sending and receiving process through each block chain node.
  • the blockchain mail client encrypts the content of the mail to be sent, obtains the mail ciphertext data, constructs transaction data, and sends the transaction data to the mail blockchain system.
  • the transaction The data includes the ciphertext data of the mail, the sender's email address, the recipient's email address, and the sending time;
  • the transaction data is propagated, verified, packaged, and a block is generated through each blockchain node.
  • the blockchain mail client monitors whether there is a new block output, and if there is a new block output, it sends an inquiry message to an associated node, and the associated node is related to the blockchain mail
  • the associated node After receiving the inquiry message, the associated node searches for associated transaction data in the newly generated block, and if the associated transaction data is found, sends the associated transaction data to the blockchain mail Client, the associated transaction data is transaction data including an associated address, and the associated address is an email address corresponding to the blockchain mail client;
  • the blockchain mail client After receiving the associated transaction data, the blockchain mail client determines whether the associated address is the sender's email address, if it is, it determines that the mail is sent successfully, and if not, it determines that a new mail is received.
  • the blockchain mail client parses out the mail ciphertext data from the associated transaction data, and decrypts the mail ciphertext data to obtain the mail content.
  • the email receiving and sending system of the blockchain may further include a decentralized storage system, and the decentralized storage system is used to store ciphertext data of the email.
  • the blockchain mail client encrypts the content of the mail to be sent to obtain mail ciphertext data, and sends the mail ciphertext data to the decentralized storage system;
  • the decentralized storage system After receiving the ciphertext data of the email, the decentralized storage system stores the ciphertext data of the email, and sends response information to the blockchain email client.
  • the response information includes the email Location information of the ciphertext data in the decentralized storage system;
  • the blockchain mail client After receiving the response information, the blockchain mail client constructs transaction data and sends the transaction data to the mail blockchain system.
  • the transaction data includes the mail ciphertext data in the Describe the location information in the decentralized storage system;
  • the mail blockchain system After receiving the transaction data, the mail blockchain system disseminates, verifies, and packages the transaction data through blockchain nodes, and generates blocks.
  • the blockchain mail client encrypts the content of the mail to be sent to obtain mail ciphertext data, constructs transaction data, and sends the transaction data to the mail blockchain system;
  • the mail blockchain system After receiving the transaction data, the mail blockchain system disseminates and verifies the transaction data through each blockchain node;
  • the transaction node initiates a storage request to the decentralized storage system, and sends the email ciphertext data in the transaction data to the decentralized storage system, and the transaction node is a verified blockchain node;
  • the decentralized storage system After receiving the ciphertext data of the mail, the decentralized storage system stores the ciphertext data of the mail and sends response information to the transaction node.
  • the response information includes the ciphertext data of the mail Positioning information in the decentralized storage system;
  • the transaction node After receiving the response information, the transaction node removes the mail ciphertext data from the transaction data, and adds the location information of the mail ciphertext data in the decentralized storage system Enter the transaction data to form transaction data recorded in the mail blockchain system.
  • the blockchain mail client parses out the location information of the mail ciphertext data in the decentralized storage system from the associated transaction data, and according to the mail ciphertext data in the decentralized storage system
  • the location information in the centralized storage system sends a data request to the decentralized storage system
  • the centralized storage system After receiving the data request, the centralized storage system sends the email ciphertext data to the blockchain email client;
  • the blockchain mail client After receiving the mail ciphertext data, the blockchain mail client decrypts the mail ciphertext data to obtain the mail content.
  • the blockchain mail client divides the mail content to be sent into a first mail content and a second mail content, and encrypts the first mail content and the second mail content respectively, Obtain the first mail ciphertext data and the second mail ciphertext data, store the first mail ciphertext data in the mail blockchain system or the decentralized storage system, and store the second mail The ciphertext data is stored in the decentralized storage system.
  • the storing the second mail ciphertext data in the decentralized storage system includes:
  • the second mail ciphertext data is stored on the local storage medium of the blockchain mail client, and the transaction data including local positioning information is sent to the mail blockchain system.
  • the local positioning information is Location information of the second mail ciphertext data on the local storage medium;
  • the mail blockchain system After receiving the transaction data, the mail blockchain system sends the local positioning information in the transaction data to the centralized storage system through a blockchain node;
  • the centralized storage system After receiving the local positioning information, the centralized storage system sends a data acquisition request to the blockchain mail client according to the local positioning information;
  • the blockchain mail client After receiving the data acquisition request, the blockchain mail client sends the second mail ciphertext data to the centralized storage system;
  • the decentralized storage system After receiving the second mail ciphertext data, the decentralized storage system stores the mail ciphertext data, and sends response information to the blockchain node, where the response information includes the first 2.
  • the blockchain node After receiving the response information, the blockchain node constructs new transaction data, and disseminates, verifies, and packages the new transaction data, and generates a block.
  • the new transaction data includes the The location information of the second mail ciphertext data in the decentralized storage system and the first mail data, the first mail data being the first mail ciphertext data or the first mail ciphertext data in the Describe the location information in the decentralized storage system.
  • the embodiment of the application has the beneficial effect that: the blockchain-based mail receiving and sending system provided by the embodiment of the application includes a blockchain mail client and a mail blockchain system, wherein the block The chain mail client is used to send and receive mail, encrypt the content of the sent mail, and decrypt the content of the received mail; the mail blockchain system is used to send and receive mail through each blockchain node The transaction data generated is stored.
  • the user's email plaintext data is encrypted in the blockchain email client, ensuring the security of the data during the sending and transmission phase. Even if the data is intercepted by malicious programs, it is ciphertext.
  • Fig. 1 is a schematic block diagram of a blockchain-based mail receiving and dispatching system provided in the first embodiment
  • FIG. 2 is a schematic diagram of the blockchain mail client sending transaction data to the mail blockchain system in the scenario of the first embodiment
  • Figure 3 is a schematic diagram of a blockchain mail client obtaining mail status
  • FIG. 4 is a schematic diagram of the blockchain mail client displaying the content of the mail in the scenario of the first embodiment
  • FIG. 5 is a schematic block diagram of a blockchain-based mail receiving and sending system provided in Embodiment 2 of the application;
  • FIG. 6 is a schematic diagram of the blockchain mail client sending transaction data to the mail blockchain system in the scenario of the second embodiment
  • FIG. 7 is a schematic diagram of the blockchain mail client displaying the mail content in the scenario of the second embodiment.
  • a blockchain-based mail receiving and sending system in an embodiment of the present application may include a blockchain mail client and a mail blockchain system.
  • the blockchain mail client is used to send and receive mail, encrypt the content of the sent mail, and decrypt the content of the received mail.
  • the mail block chain system is used to store transaction data generated in the process of mail sending and receiving through each block chain node.
  • the mail blockchain system includes a large number of blockchain nodes, and its specific structure and operation mechanism can be any of various existing blockchain systems, which is not specifically limited in this embodiment.
  • the blockchain mail client When the user needs to send mail through the blockchain mail client, the blockchain mail client first encrypts the content of the mail to be sent to obtain the mail ciphertext data. Then, the blockchain mail client will construct the mail ciphertext data and other data into transaction data, and send the transaction data to the mail blockchain system (as shown in Figure 2).
  • the transaction data includes but is not limited to data such as the ciphertext data of the mail, the sender's email address, the recipient's email address, and the sending time.
  • the transaction data is propagated, verified, packaged, and a block is generated through each blockchain node.
  • the blockchain mail client will monitor in real time whether there is a new block output, and if there is a new block output, it will send an inquiry message to the associated node.
  • the node is a blockchain node connected to the blockchain mail client.
  • the associated node After receiving the inquiry message, the associated node searches for associated transaction data in the newly generated block, and if the associated transaction data is found, sends the associated transaction data to the blockchain mail
  • the associated transaction data is transaction data including an associated address
  • the associated address is an email address corresponding to the blockchain mail client.
  • the blockchain mail client After the blockchain mail client receives the associated transaction data, it will perform relevant storage and analysis, and determine whether the associated address is the sender’s email address, if it is, it will determine that the mail is sent successfully, if not, then Determine that a new mail has been received.
  • the blockchain email client when the blockchain email client needs to display the email content, it can parse the email ciphertext data from the associated transaction data and decrypt the email ciphertext data. Obtain the email content, and finally display the decrypted email content.
  • the blockchain mail client After user A fills in the email content and clicks send, the blockchain mail client first encrypts the email content locally with user A's public key to get the email cipher text data: 0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee. Subsequently, the blockchain mail client will form a transaction data according to preset rules, such as:
  • the blockchain email client of user A sends the transaction data to the email blockchain system.
  • the transaction data will be transmitted to each blockchain node through the P2P network.
  • the blockchain node will receive the transaction data. Carry out independent verification to verify the legality and integrity of the data. Only the verified transaction data will be added to the transaction data pool by the blockchain node and prioritized according to the given rules. Assuming that the transaction data sent by user A to user B meets the priority requirements and is packaged into blocks by blockchain nodes, each blockchain node starts to compete to produce legal blocks. When a new block is produced (assuming the height of the new block is 1000), the blockchain node that produces the new block will immediately spread the new block through the P2P network.
  • the blockchain mail client After the blockchain mail client learns that there is a new block output, it will initiate a query to the blockchain node connected to it: whether the block with a height of 1000 contains transaction data related to 3b7f77bfcf8d7d30b8a3 (in practice, it passes the bloom filter) If the algorithm initiates an inquiry anonymously), if the block with a height of 1000 contains relevant transaction data, the blockchain node will return the transaction data to the blockchain mail client, and then the blockchain mail client will respond to the transaction data Analyze.
  • User A's client will use “3b7f77bfcf8d7d30b8a3" to match the value of the "from” field and the value of the "to” field respectively, where it matches the value of the "from” field, then the client of user A will prompt the user to send the email successfully.
  • the client of user B will determine that user B's address "2d5bfca369f80e19c6a0" matches the value of the "to” field, and then it will prompt the user to receive a new email.
  • the mail receiving and sending system in this embodiment of the present application may include a decentralized storage system in addition to the blockchain mail client and mail blockchain system in the first embodiment.
  • the storage system includes, but is not limited to, storage systems such as IPFS, which are used to store ciphertext data of the mail, thereby reducing the storage burden of the mail blockchain system.
  • the blockchain email client when a user needs to send emails through the blockchain email client, the blockchain email client first encrypts the content of the email to be sent to obtain the email ciphertext data, and The email ciphertext data is sent to the decentralized storage system.
  • the decentralized storage system After receiving the ciphertext data of the email, the decentralized storage system stores the ciphertext data of the email, and sends response information to the blockchain email client.
  • the response information includes the email
  • the location information of the ciphertext data in the decentralized storage system may also include the storage status, the hash value of the ciphertext data of the mail, and the like.
  • the blockchain mail client judges whether the storage is successful according to the storage status. If not, the user is prompted with information and other operations are performed by the user. If so, the transaction data is constructed, and Send the transaction data to the mail blockchain system, the transaction data includes the location information of the mail ciphertext data in the decentralized storage system, and may also include the sender's email address and the recipient's email address Data such as address and sending time.
  • the blockchain mail client After user A fills in the email content and clicks send, the blockchain mail client first encrypts the email content locally with user A's public key to get the email cipher text data: 0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee. Subsequently, the blockchain mail client will send the ciphertext data of the email to the decentralized storage system, and the decentralized storage system will return the following response information:
  • the mail blockchain system After receiving the transaction data, the mail blockchain system disseminates, verifies, and packages the transaction data through blockchain nodes, and generates blocks.
  • the blockchain mail client when the blockchain mail client needs to display the content of the mail, it can parse out the location information of the mail ciphertext data in the decentralized storage system from the associated transaction data. And send a data request to the decentralized storage system according to the location information of the mail ciphertext data in the decentralized storage system.
  • the centralized storage system After receiving the data request, the centralized storage system sends the email ciphertext data to the blockchain email client.
  • the blockchain mail client After receiving the ciphertext data of the mail, the blockchain mail client decrypts the ciphertext data of the mail to obtain the mail content, and finally displays the decrypted mail content.
  • the mail receiving and sending system in this embodiment also includes a blockchain mail client, a mail blockchain system, and a decentralized storage system.
  • the blockchain mail client initiates a storage request to the decentralized storage system
  • the blockchain node in the mail blockchain system initiates storage to the decentralized storage system. request.
  • the blockchain email client first encrypts the content of the email to be sent to obtain the email ciphertext data, construct transaction data, and
  • the transaction data is sent to the mail blockchain system, and the transaction data includes, but is not limited to, the mail ciphertext data, the sender's email address, the recipient's email address, and the sending time.
  • the mail blockchain system After receiving the transaction data, the mail blockchain system disseminates and verifies the transaction data through each blockchain node.
  • the transaction node initiates a storage request to the decentralized storage system, and sends the email ciphertext data in the transaction data to the decentralized storage system, and the transaction node is a verified blockchain node.
  • the decentralized storage system After receiving the ciphertext data of the mail, the decentralized storage system stores the ciphertext data of the mail and sends response information to the transaction node.
  • the response information includes the ciphertext data of the mail
  • the location information in the decentralized storage system may also include the storage status, the hash value of the ciphertext data of the mail, and the like.
  • the transaction node After receiving the response information, the transaction node removes the mail ciphertext data from the transaction data, and adds the location information of the mail ciphertext data in the decentralized storage system Enter the transaction data to form transaction data recorded in the mail blockchain system.
  • the blockchain mail client After user A fills in the email content and clicks send, the blockchain mail client first encrypts the email content locally with user A's public key to get the email cipher text data: 0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee. Subsequently, the blockchain mail client will form a transaction data according to preset rules, such as:
  • the blockchain node in the email blockchain system will perform independent verification after obtaining the transaction data. For the transaction data that has passed the verification, the value of the "data" field of the transaction data will be parsed, and a storage request will be initiated to the decentralized storage system. If there is no storage of the data in the decentralized storage system, if there is no hash of the ciphertext data, then the data will be stored and returned to the corresponding content hash or URL or other location information to the corresponding blockchain node If the storage of the data already exists in the decentralized storage system, the storage location of the data will be returned to the corresponding blockchain node, such as the hash of the mail ciphertext data in the decentralized storage system: 0xea674fdde714fd979de3edf0f56aa9716b898ec8. The blockchain node will add the hash to the transaction data and remove the email ciphertext data field in the transaction data, such as:
  • the mail receiving and sending system in this embodiment also includes a blockchain mail client, a mail blockchain system, and a decentralized storage system.
  • the blockchain mail client initiates a storage request to the decentralized storage system.
  • the decentralized storage system actively initiates the data acquisition request. This embodiment is particularly suitable for email content. Including large text or attachments.
  • the blockchain email client first divides the email content to be sent into a first email content and a second email content.
  • the content of an email is small text data
  • the content of the second email is large text or an attachment.
  • the blockchain mail client separately encrypts the first mail content and the second mail content to obtain the first mail ciphertext data and the second mail ciphertext data, and the first mail
  • the ciphertext data is stored in the mail blockchain system or the decentralized storage system
  • the second mail ciphertext data is stored in the decentralized storage system.
  • the process of storing the first mail ciphertext data in the mail blockchain system is similar to the process in the first embodiment, and storing the first mail ciphertext data in the decentralized storage system
  • the process in is similar to the process in the second embodiment.
  • the process of storing the second email ciphertext data in the decentralized storage system specifically includes the following process:
  • the blockchain mail client stores the second mail ciphertext data on the local storage medium of the blockchain mail client, and sends transaction data including local positioning information to the mail blockchain system , To propagate among the various blockchain nodes of the mail blockchain system, and the local positioning information is the positioning information of the second mail ciphertext data on the local storage medium, such as a local URL or other Form of positioning information.
  • the transaction data may also include data such as the sender's email address, the recipient's email address, and the sending time.
  • the email blockchain system After the email blockchain system receives the transaction data, it parses the transaction data through the blockchain node, and when the specific data field is parsed, it communicates with the decentralized storage system, The local positioning information in the transaction data is sent to the centralized storage system.
  • the centralized storage system After receiving the local positioning information, the centralized storage system sends a data acquisition request to the blockchain mail client according to the local positioning information.
  • the blockchain mail client After receiving the data acquisition request, the blockchain mail client sends the second mail ciphertext data to the centralized storage system.
  • the decentralized storage system After receiving the second mail ciphertext data, the decentralized storage system stores the mail ciphertext data and sends response information to the blockchain node, where the response information includes the first
  • the location information of the second mail ciphertext data in the decentralized storage system may also include storage status, the hash value of the second mail ciphertext data, and the like.
  • the blockchain node After receiving the response information, the blockchain node constructs new transaction data, and disseminates, verifies, and packages the new transaction data, and generates a block.
  • the new transaction data includes the The location information of the second email ciphertext data in the decentralized storage system and the first email data may also include data such as the sender's email address, the recipient's email address, and the sending time.
  • the first email data is all The first mail ciphertext data (corresponding to the situation of storing the first mail ciphertext data in the mail blockchain system) or the first mail ciphertext data in the decentralized storage system
  • the location information (corresponding to the situation of storing the first email ciphertext data in the decentralized storage system).
  • user A sends an email to user B.
  • the email content also includes a 20M audio attachment.
  • the blockchain email client After user A fills in the email content and clicks send, the blockchain email client first performs asymmetric encryption of the text information and audio attachments locally with the public key of user A, and obtains 0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee and 0x3d27146593c566cac92119d76f1ec874.
  • Each blockchain node will parse out the "data2" field value in the transaction data, that is, "http://192.168.1.123:8888/UserA/mail/e07dced0592d6c3ed8e33011" and submit it to the decentralized storage system. After obtaining the URL, the decentralized storage system will request user A's blockchain email client to obtain the email ciphertext data resource. After the decentralized storage system completes the storage of the email ciphertext data, the location information of the email ciphertext data is returned to the corresponding blockchain node, for example, the hash is 0xa828a6989deec5905636ac8e07dced0592d6c3e. In the end, the blockchain node nodes form the following transaction data according to certain rules:
  • the process of displaying the email content by the blockchain email client can also refer to the specific descriptions in Embodiment 1 and Embodiment 2, which will not be repeated here.
  • the user's mail plaintext data is encrypted in the blockchain mail client, which ensures the security of the data during the sending and transmission stage. Even if the data is intercepted by malicious programs, it is ciphertext. If the ciphertext data is tampered with, the check code will also become invalid, and the blockchain node will not pass the verification. Moreover, due to the decentralized storage and With features such as non-tampering, users cannot delete and modify their behavior of sending and receiving emails, which can effectively prevent user denial.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to the technical field of blockchain, and more particularly, relates to a blockchain-based mail transmission and reception system. The mail transmission and reception system comprises a blockchain mail client and a mail blockchain system. The blockchain mail client is used to transmit and receive mails, to encrypt the content of a sent mail, and to decrypt the content of a received mail. The mail blockchain system is used to store transaction data generated in a mail transmission and reception process by means of respective blockchain nodes. In the system, since plaintext data of a mail sent by a user is encrypted by a blockchain mail client, the security of data is ensured in sending and transmission stages. Even if the data is intercepted by a malicious program, the intercepted data is a ciphertext. Tampering with the ciphertext data renders a check code invalid, and such data will be unable to pass authentication performed by a blockchain node. Characteristics of a blockchain, such as decentralised storage and non-tamperability, can effectively prevent repudiation by a user.

Description

一种基于区块链的邮件收发系统A mail receiving and dispatching system based on blockchain 技术领域Technical field
本申请属于区块链技术领域,尤其涉及一种基于区块链的邮件收发系统。This application belongs to the field of blockchain technology, and in particular relates to a blockchain-based mail sending and receiving system.
背景技术Background technique
随着互联网的普及,电子邮件已经成为人们最重要和不可或缺的通信手段之一,特别是各类企业、政府机关及其他组织机构等。With the popularization of the Internet, e-mail has become one of the most important and indispensable means of communication for people, especially various enterprises, government agencies, and other organizations.
目前电子邮件系统主要包含三部分:邮件服务器,用户代理和邮件传送协议。邮件服务器提供邮件的传输和存储,一般每个邮件服务器的提供商都有自己的邮件服务器。用户代理是邮件发送或读取的程序,如常用的OutLook、Foxmail等。邮件传送协议是指邮件在传送过程中必须遵守的约定,它规定了不同的服务器(或客户端)之间应如何交换信息,常见的邮件传送协议有SMPT(Simple Mail Transfer Protocol)、POP3(Post Office Protocol 3)、IMAP(Internet Mail Access Protocol)等。现有的电子邮件系统尚存在如下不足:The current e-mail system mainly consists of three parts: mail server, user agent and mail transfer protocol. The mail server provides mail transmission and storage. Generally, each mail server provider has its own mail server. User agents are programs that send or read mail, such as the commonly used OutLook, Foxmail, etc. The mail transfer protocol refers to the agreement that must be followed during the transmission of mail. It specifies how different servers (or clients) should exchange information. Common mail transfer protocols include SMPT (Simple Mail Transfer Protocol), POP3 (Post Office Protocol 3), IMAP (Internet Mail Access Protocol), etc. The existing email system still has the following shortcomings:
邮件服务器是中心化的,容易受到黑客攻击或服务商在未经用户同意的情况下随意使用用户邮件数据,造成用户数据泄露,特别是涉密数据,给用户造成极大损失;The mail server is centralized and is vulnerable to hacker attacks or the service provider uses user mail data at will without the user's consent, causing user data leakage, especially confidential data, causing great losses to users;
电子邮件在网络中是以明文形式进行传输和存储,邮件内容存在被截获或被修改的风险。虽然部分邮件客户端提供数据加密功能,但是该功能默认是不使用或未被勾选,用户往往在不知情的情况下将邮件以明文方式发送;E-mails are transmitted and stored in plain text on the Internet, and the contents of the e-mails may be intercepted or modified. Although some mail clients provide data encryption, this function is not used or checked by default. Users often send emails in clear text without their knowledge;
电子邮件用户存在抵赖行为。一种是发件人抵赖行为,即发件人不承认发过该邮件,另一种是收件人抵赖行为,即收件人不承认接收该邮件。发件人抵赖行为目前可通过数字签名技术解决,收件人抵赖行为可通过非否认协议来确保,而非否认协议需要5次以上的数据交换才能完成一次安全通信且难度较大。Denial of email users. One is the denial of the sender, that is, the sender does not admit that the mail has been sent, and the other is the denial of the recipient, that is, the recipient does not recognize the receipt of the mail. The denial of the sender can be solved by digital signature technology, and the denial of the recipient can be ensured by a non-repudiation agreement, which requires more than 5 data exchanges to complete a secure communication and is difficult.
技术问题technical problem
有鉴于此,本申请实施例提供了一种基于区块链的邮件收发系统,以解决现有的邮件收发系统易造成用户数据泄露、以及易产生抵赖行为的问题。In view of this, the embodiment of the present application provides a blockchain-based mail receiving and dispatching system to solve the problems that the existing mail receiving and dispatching system is likely to cause user data leakage and repudiation.
技术解决方案Technical solutions
本申请实施例提供了一种基于区块链的邮件收发系统,可以包括:The embodiment of the application provides a blockchain-based mail receiving and sending system, which may include:
区块链邮件客户端,用于收发邮件,对发送的邮件内容进行加密处理,对接收到的邮件内容进行解密处理;Blockchain mail client, used to send and receive mail, encrypt the content of the sent mail, and decrypt the content of the received mail;
邮件区块链系统,用于通过各个区块链节点对邮件收发过程中产生的交易数据进行存储。The mail block chain system is used to store the transaction data generated during the mail sending and receiving process through each block chain node.
进一步地,所述区块链邮件客户端将待发送的邮件内容进行加密处理,得到邮件密文数据,构造交易数据,并将所述交易数据发送至所述邮件区块链系统,所述交易数据包括所述邮件密文数据、发送方邮箱地址、接收方邮箱地址以及发送时间;Further, the blockchain mail client encrypts the content of the mail to be sent, obtains the mail ciphertext data, constructs transaction data, and sends the transaction data to the mail blockchain system. The transaction The data includes the ciphertext data of the mail, the sender's email address, the recipient's email address, and the sending time;
所述邮件区块链系统在接收到所述交易数据后,通过各个区块链节点对所述交易数据进行传播、验证、打包并产出区块。After the mail blockchain system receives the transaction data, the transaction data is propagated, verified, packaged, and a block is generated through each blockchain node.
进一步地,所述区块链邮件客户端监测是否有新的区块产出,若有新的区块产出,则向关联节点发送询问消息,所述关联节点为与所述区块链邮件客户端连接的区块链节点;Further, the blockchain mail client monitors whether there is a new block output, and if there is a new block output, it sends an inquiry message to an associated node, and the associated node is related to the blockchain mail The blockchain node connected by the client;
所述关联节点在接收到所述询问消息后,在新产出的区块中查找关联交易数据,若查找到所述关联交易数据,则将所述关联交易数据发送至所述区块链邮件客户端,所述关联交易数据为包含关联地址的交易数据,所述关联地址为与所述区块链邮件客户端对应的邮箱地址;After receiving the inquiry message, the associated node searches for associated transaction data in the newly generated block, and if the associated transaction data is found, sends the associated transaction data to the blockchain mail Client, the associated transaction data is transaction data including an associated address, and the associated address is an email address corresponding to the blockchain mail client;
所述区块链邮件客户端在接收到所述关联交易数据后,判断所述关联地址是否为发送方邮箱地址,若是,则判定邮件发送成功,若否,则判定接收到新邮件。After receiving the associated transaction data, the blockchain mail client determines whether the associated address is the sender's email address, if it is, it determines that the mail is sent successfully, and if not, it determines that a new mail is received.
进一步地,所述区块链邮件客户端从关联交易数据中解析出邮件密文数据,并对所述邮件密文数据进行解密处理,得到邮件内容。Further, the blockchain mail client parses out the mail ciphertext data from the associated transaction data, and decrypts the mail ciphertext data to obtain the mail content.
优选地,所述区块链的邮件收发系统还可以包括去中心化存储系统,所述去中心化存储系统用于对邮件密文数据进行存储。Preferably, the email receiving and sending system of the blockchain may further include a decentralized storage system, and the decentralized storage system is used to store ciphertext data of the email.
可选地,所述区块链邮件客户端将待发送的邮件内容进行加密处理,得到邮件密文数据,并将所述邮件密文数据发送至所述去中心化存储系统;Optionally, the blockchain mail client encrypts the content of the mail to be sent to obtain mail ciphertext data, and sends the mail ciphertext data to the decentralized storage system;
所述去中心化存储系统在接收到所述邮件密文数据后,对所述邮件密文数据进行存储,并向所述区块链邮件客户端发送响应信息,所述响应信息包括所述邮件密文数据在所述去中心化存储系统中的定位信息;After receiving the ciphertext data of the email, the decentralized storage system stores the ciphertext data of the email, and sends response information to the blockchain email client. The response information includes the email Location information of the ciphertext data in the decentralized storage system;
所述区块链邮件客户端在收到所述响应信息后,构造交易数据,并将所述交易数据发送至所述邮件区块链系统,所述交易数据包括所述邮件密文数据在所述去中心化存储系统中的定位信息;After receiving the response information, the blockchain mail client constructs transaction data and sends the transaction data to the mail blockchain system. The transaction data includes the mail ciphertext data in the Describe the location information in the decentralized storage system;
所述邮件区块链系统在接收到所述交易数据后,通过区块链节点对所述交易数据进行传播、验证、打包并产出区块。After receiving the transaction data, the mail blockchain system disseminates, verifies, and packages the transaction data through blockchain nodes, and generates blocks.
可选地,所述区块链邮件客户端将待发送的邮件内容进行加密处理,得到邮件密文数据,构造交易数据,并将所述交易数据发送至所述邮件区块链系统;Optionally, the blockchain mail client encrypts the content of the mail to be sent to obtain mail ciphertext data, constructs transaction data, and sends the transaction data to the mail blockchain system;
所述邮件区块链系统在接收到所述交易数据后,通过各个区块链节点对所述交易数据进行传播、验证;After receiving the transaction data, the mail blockchain system disseminates and verifies the transaction data through each blockchain node;
交易节点向所述去中心化存储系统发起存储请求,将所述交易数据中的邮件密文数据发送到所述去中心化存储系统中,所述交易节点为验证通过的区块链节点;The transaction node initiates a storage request to the decentralized storage system, and sends the email ciphertext data in the transaction data to the decentralized storage system, and the transaction node is a verified blockchain node;
所述去中心化存储系统在接收到所述邮件密文数据后,对所述邮件密文数据进行存储,并向所述交易节点发送响应信息,所述响应信息包括所述邮件密文数据在所述去中心化存储系统中的定位信息;After receiving the ciphertext data of the mail, the decentralized storage system stores the ciphertext data of the mail and sends response information to the transaction node. The response information includes the ciphertext data of the mail Positioning information in the decentralized storage system;
所述交易节点在收到所述响应信息后,将所述邮件密文数据从所述交易数据中移除,并将所述邮件密文数据在所述去中心化存储系统中的定位信息添加入所述交易数据中,形成记录到所述邮件区块链系统中的交易数据。After receiving the response information, the transaction node removes the mail ciphertext data from the transaction data, and adds the location information of the mail ciphertext data in the decentralized storage system Enter the transaction data to form transaction data recorded in the mail blockchain system.
进一步地,所述区块链邮件客户端从关联交易数据中解析出所述邮件密文数据在所述去中心化存储系统中的定位信息,并根据所述邮件密文数据在所述去中心化存储系统中的定位信息向所述去中心化存储系统发送数据请求;Further, the blockchain mail client parses out the location information of the mail ciphertext data in the decentralized storage system from the associated transaction data, and according to the mail ciphertext data in the decentralized storage system The location information in the centralized storage system sends a data request to the decentralized storage system;
所述中心化存储系统在接收到所述数据请求后,将所述邮件密文数据发送至所述区块链邮件客户端;After receiving the data request, the centralized storage system sends the email ciphertext data to the blockchain email client;
所述区块链邮件客户端在接收到所述邮件密文数据后,对所述邮件密文数据进行解密处理,得到邮件内容。After receiving the mail ciphertext data, the blockchain mail client decrypts the mail ciphertext data to obtain the mail content.
可选地,所述区块链邮件客户端将待发送的邮件内容划分为第一邮件内容和第二邮件内容,并分别对所述第一邮件内容和所述第二邮件内容进行加密处理,得到第一邮件密文数据和第二邮件密文数据,将所述第一邮件密文数据存储至所述邮件区块链系统中或所述去中心化存储系统中,将所述第二邮件密文数据存储至所述去中心化存储系统中。Optionally, the blockchain mail client divides the mail content to be sent into a first mail content and a second mail content, and encrypts the first mail content and the second mail content respectively, Obtain the first mail ciphertext data and the second mail ciphertext data, store the first mail ciphertext data in the mail blockchain system or the decentralized storage system, and store the second mail The ciphertext data is stored in the decentralized storage system.
进一步地,所述将所述第二邮件密文数据存储至所述去中心化存储系统中包括:Further, the storing the second mail ciphertext data in the decentralized storage system includes:
将所述第二邮件密文数据存储至所述区块链邮件客户端的本地存储介质上,并将包括本地定位信息的交易数据发送至所述邮件区块链系统,所述本地定位信息为所述第二邮件密文数据在所述本地存储介质上的定位信息;The second mail ciphertext data is stored on the local storage medium of the blockchain mail client, and the transaction data including local positioning information is sent to the mail blockchain system. The local positioning information is Location information of the second mail ciphertext data on the local storage medium;
所述邮件区块链系统在接收到所述交易数据后,通过区块链节点将所述交易数据中的本地定位信息发送至所述中心化存储系统;After receiving the transaction data, the mail blockchain system sends the local positioning information in the transaction data to the centralized storage system through a blockchain node;
所述中心化存储系统在接收到所述本地定位信息后,根据所述本地定位信息向所述区块链邮件客户端发送数据获取请求;After receiving the local positioning information, the centralized storage system sends a data acquisition request to the blockchain mail client according to the local positioning information;
所述区块链邮件客户端在接收到所述数据获取请求后,将所述第二邮件密文数据发送至所述中心化存储系统;After receiving the data acquisition request, the blockchain mail client sends the second mail ciphertext data to the centralized storage system;
所述去中心化存储系统在接收到所述第二邮件密文数据后,对所述邮件密文数据进行存储,并向所述区块链节点发送响应信息,所述响应信息包括所述第二邮件密文数据在所述去中心化存储系统中的定位信息;After receiving the second mail ciphertext data, the decentralized storage system stores the mail ciphertext data, and sends response information to the blockchain node, where the response information includes the first 2. Location information of the ciphertext data of the mail in the decentralized storage system;
所述区块链节点在收到所述响应信息后,构造新的交易数据,并对所述新的交易数据进行传播、验证、打包并产出区块,所述新的交易数据包括所述第二邮件密文数据在所述去中心化存储系统中的定位信息和第一邮件数据,所述第一邮件数据为所述第一邮件密文数据或所述第一邮件密文数据在所述去中心化存储系统中的定位信息。After receiving the response information, the blockchain node constructs new transaction data, and disseminates, verifies, and packages the new transaction data, and generates a block. The new transaction data includes the The location information of the second mail ciphertext data in the decentralized storage system and the first mail data, the first mail data being the first mail ciphertext data or the first mail ciphertext data in the Describe the location information in the decentralized storage system.
有益效果Beneficial effect
本申请实施例与现有技术相比存在的有益效果是:本申请实施例提供的基于区块链的邮件收发系统包括区块链邮件客户端和邮件区块链系统,其中,所述区块链邮件客户端,用于收发邮件,对发送的邮件内容进行加密处理,对接收到的邮件内容进行解密处理;所述邮件区块链系统,用于通过各个区块链节点对邮件收发过程中产生的交易数据进行存储。通过这样的系统,用户邮件明文数据均在区块链邮件客户端进行加密处理,保证了数据在发送和传输阶段的安全性。即使数据被恶意程序截获得到的也是密文,如果密文数据被篡改那么校验码也会随之失效,区块链节点验证时也会不通过,而且由于区块链的去中心化存储及不可篡改等特性,用户无法删除和修改其发送和接收邮件的行为,即可以有效防止用户的抵赖行为。Compared with the prior art, the embodiment of the application has the beneficial effect that: the blockchain-based mail receiving and sending system provided by the embodiment of the application includes a blockchain mail client and a mail blockchain system, wherein the block The chain mail client is used to send and receive mail, encrypt the content of the sent mail, and decrypt the content of the received mail; the mail blockchain system is used to send and receive mail through each blockchain node The transaction data generated is stored. Through such a system, the user's email plaintext data is encrypted in the blockchain email client, ensuring the security of the data during the sending and transmission phase. Even if the data is intercepted by malicious programs, it is ciphertext. If the ciphertext data is tampered with, the check code will also become invalid, and the blockchain node will not pass the verification. Moreover, due to the decentralized storage and With features such as non-tampering, users cannot delete and modify their behavior of sending and receiving emails, which can effectively prevent user denial.
附图说明Description of the drawings
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the accompanying drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only of the present application. For some embodiments, for those of ordinary skill in the art, other drawings may be obtained based on these drawings without creative labor.
图1为实施例一提供的一种基于区块链的邮件收发系统的示意框图;Fig. 1 is a schematic block diagram of a blockchain-based mail receiving and dispatching system provided in the first embodiment;
图2为在实施例一的场景下,区块链邮件客户端将交易数据发送至邮件区块链系统的示意图;2 is a schematic diagram of the blockchain mail client sending transaction data to the mail blockchain system in the scenario of the first embodiment;
图3为区块链邮件客户端获取邮件状态的示意图;Figure 3 is a schematic diagram of a blockchain mail client obtaining mail status;
图4为在实施例一的场景下,区块链邮件客户端对邮件内容进行展示的示意图;4 is a schematic diagram of the blockchain mail client displaying the content of the mail in the scenario of the first embodiment;
图5为本申请的实施例二提供的一种基于区块链的邮件收发系统的示意框图;FIG. 5 is a schematic block diagram of a blockchain-based mail receiving and sending system provided in Embodiment 2 of the application;
图6为在实施例二的场景下,区块链邮件客户端将交易数据发送至邮件区块链系统的示意图;6 is a schematic diagram of the blockchain mail client sending transaction data to the mail blockchain system in the scenario of the second embodiment;
图7为在实施例二的场景下,区块链邮件客户端对邮件内容进行展示的示意图。FIG. 7 is a schematic diagram of the blockchain mail client displaying the mail content in the scenario of the second embodiment.
本发明的实施方式Embodiments of the invention
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。In order to make the purposes, features, and advantages of the present application more obvious and understandable, the technical solutions in the embodiments of the present application will be described clearly and completely in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the following The described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in this application, all other embodiments obtained by a person of ordinary skill in the art without creative work shall fall within the protection scope of this application.
实施例一:Example one:
如图1所示,本申请实施例中的一种基于区块链的邮件收发系统可以包括区块链邮件客户端和邮件区块链系统。As shown in FIG. 1, a blockchain-based mail receiving and sending system in an embodiment of the present application may include a blockchain mail client and a mail blockchain system.
所述区块链邮件客户端,用于收发邮件,对发送的邮件内容进行加密处理,对接收到的邮件内容进行解密处理。The blockchain mail client is used to send and receive mail, encrypt the content of the sent mail, and decrypt the content of the received mail.
所述邮件区块链系统,用于通过各个区块链节点对邮件收发过程中产生的交易数据进行存储。所述邮件区块链系统中包括众多的区块链节点,其具体的构造及运行机制可以为现有的各种区块链系统中的任意一种,本实施例对此不作具体限制。The mail block chain system is used to store transaction data generated in the process of mail sending and receiving through each block chain node. The mail blockchain system includes a large number of blockchain nodes, and its specific structure and operation mechanism can be any of various existing blockchain systems, which is not specifically limited in this embodiment.
当用户需要通过所述区块链邮件客户端进行邮件发送时,所述区块链邮件客户端首先将待发送的邮件内容进行加密处理,得到邮件密文数据。然后,所述区块链邮件客户端会将所述邮件密文数据与其他数据构造成交易数据,并将所述交易数据发送至所述邮件区块链系统(如图2所示),所述交易数据包括但不限于所述邮件密文数据、发送方邮箱地址、接收方邮箱地址以及发送时间等数据。When the user needs to send mail through the blockchain mail client, the blockchain mail client first encrypts the content of the mail to be sent to obtain the mail ciphertext data. Then, the blockchain mail client will construct the mail ciphertext data and other data into transaction data, and send the transaction data to the mail blockchain system (as shown in Figure 2). The transaction data includes but is not limited to data such as the ciphertext data of the mail, the sender's email address, the recipient's email address, and the sending time.
所述邮件区块链系统在接收到所述交易数据后,通过各个区块链节点对所述交易数据进行传播、验证、打包并产出区块。After the mail blockchain system receives the transaction data, the transaction data is propagated, verified, packaged, and a block is generated through each blockchain node.
进一步地,如图3所示,所述区块链邮件客户端会实时监测是否有新的区块产出,若有新的区块产出,则会向关联节点发送询问消息,所述关联节点为与所述区块链邮件客户端连接的区块链节点。Further, as shown in Figure 3, the blockchain mail client will monitor in real time whether there is a new block output, and if there is a new block output, it will send an inquiry message to the associated node. The node is a blockchain node connected to the blockchain mail client.
所述关联节点在接收到所述询问消息后,在新产出的区块中查找关联交易数据,若查找到所述关联交易数据,则将所述关联交易数据发送至所述区块链邮件客户端,所述关联交易数据为包含关联地址的交易数据,所述关联地址为与所述区块链邮件客户端对应的邮箱地址。After receiving the inquiry message, the associated node searches for associated transaction data in the newly generated block, and if the associated transaction data is found, sends the associated transaction data to the blockchain mail On the client side, the associated transaction data is transaction data including an associated address, and the associated address is an email address corresponding to the blockchain mail client.
所述区块链邮件客户端在接收到所述关联交易数据后,会进行相关存储和解析,并判断所述关联地址是否为发送方邮箱地址,若是,则判定邮件发送成功,若否,则判定接收到新邮件。After the blockchain mail client receives the associated transaction data, it will perform relevant storage and analysis, and determine whether the associated address is the sender’s email address, if it is, it will determine that the mail is sent successfully, if not, then Determine that a new mail has been received.
如图4所示,当所述区块链邮件客户端需要对邮件内容进行展示时,可以从所述关联交易数据中解析出邮件密文数据,并对所述邮件密文数据进行解密处理,得到邮件内容,最后将解密后的邮件内容进行展示。As shown in Figure 4, when the blockchain email client needs to display the email content, it can parse the email ciphertext data from the associated transaction data and decrypt the email ciphertext data. Obtain the email content, and finally display the decrypted email content.
以下通过一个具体的示例对本实施例中的邮件收发系统的运作机制进行详细说明:The following uses a specific example to describe in detail the operating mechanism of the mail receiving and sending system in this embodiment:
假定用户A的公钥为3b7f77bfcf8d7d30b8a3,用户B的公钥为2d5bfca369f80e19c6a0,由用户A向用户B发送邮件,邮件内容为:“今天天气很不错!”。Assuming that the public key of user A is 3b7f77bfcf8d7d30b8a3, and the public key of user B is 2d5bfca369f80e19c6a0, user A sends an email to user B, and the content of the email is: "The weather is great today!".
当用户A填写完邮件内容并点击发送后,区块链邮件客户端首先会在本地将邮件内容用用户A的公钥进行加密,得到邮件密文数据:0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee。随后,区块链邮件客户端会按照预设的规则形成一条交易数据,如:After user A fills in the email content and clicks send, the blockchain mail client first encrypts the email content locally with user A's public key to get the email cipher text data: 0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee. Subsequently, the blockchain mail client will form a transaction data according to preset rules, such as:
{"from":"3b7f77bfcf8d7d30b8a3",{"from":"3b7f77bfcf8d7d30b8a3",
"to":"2d5bfca369f80e19c6a0","to":"2d5bfca369f80e19c6a0",
"data":"0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee"}"data":"0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee"}
最后,用户A的区块链邮件客户端将该条交易数据发送到邮件区块链系统中,交易数据会通过P2P网络传播至各个区块链节点,区块链节点在收到交易数据后会进行独立验证,验证数据的合法性、完整性等。只有验证通过的交易数据会被区块链节点加入其交易数据池中并按照给定的规则进行优先级排序。假设用户A发送给用户B的交易数据满足优先级要求,被区块链节点打包到区块中,各区块链节点开始竞争产出合法区块。当有新区块(假设新区块的区块高度(height)为1000)产出后,产出新区块的区块链节点会立刻将新区块通过P2P网络进行传播。Finally, the blockchain email client of user A sends the transaction data to the email blockchain system. The transaction data will be transmitted to each blockchain node through the P2P network. The blockchain node will receive the transaction data. Carry out independent verification to verify the legality and integrity of the data. Only the verified transaction data will be added to the transaction data pool by the blockchain node and prioritized according to the given rules. Assuming that the transaction data sent by user A to user B meets the priority requirements and is packaged into blocks by blockchain nodes, each blockchain node starts to compete to produce legal blocks. When a new block is produced (assuming the height of the new block is 1000), the blockchain node that produces the new block will immediately spread the new block through the P2P network.
区块链邮件客户端获悉到有新区块产出后,会向与其连接的区块链节点发起询问:height为1000的区块中是否含有3b7f77bfcf8d7d30b8a3相关的交易数据(实际中时通过布隆过滤器等算法匿名发起询问),如果height为1000的区块中含有相关交易数据,则区块链节点将该条交易数据返回给区块链邮件客户端,之后区块链邮件客户端会对交易数据进行解析。用户A的客户端会用"3b7f77bfcf8d7d30b8a3"分别匹配"from"字段值和"to"字段值,此处与"from"字段值相匹配,那么用户A的客户端会提示用户邮件发送成功。同理,用户B的客户端会判断用户B的地址"2d5bfca369f80e19c6a0"与"to"字段值相匹配,那么其会提示用户收到新邮件。After the blockchain mail client learns that there is a new block output, it will initiate a query to the blockchain node connected to it: whether the block with a height of 1000 contains transaction data related to 3b7f77bfcf8d7d30b8a3 (in practice, it passes the bloom filter) If the algorithm initiates an inquiry anonymously), if the block with a height of 1000 contains relevant transaction data, the blockchain node will return the transaction data to the blockchain mail client, and then the blockchain mail client will respond to the transaction data Analyze. User A's client will use "3b7f77bfcf8d7d30b8a3" to match the value of the "from" field and the value of the "to" field respectively, where it matches the value of the "from" field, then the client of user A will prompt the user to send the email successfully. Similarly, the client of user B will determine that user B's address "2d5bfca369f80e19c6a0" matches the value of the "to" field, and then it will prompt the user to receive a new email.
当用户A和用户B查看邮件时,其区块链邮件客户端会解析得到"data"字段值,并用本地存储的私钥进行解密,最后对解密内容进行展示。When user A and user B view the email, their blockchain email client will parse the value of the "data" field, decrypt it with the locally stored private key, and finally display the decrypted content.
实施例二:Embodiment two:
如图5所示,本申请实施例中的邮件收发系统除了包括实施例一中的区块链邮件客户端和邮件区块链系统之外,还可以包括去中心化存储系统,所述去中心化存储系统包括但不限于IPFS等存储系统,用于对邮件密文数据进行存储,从而减轻所述邮件区块链系统的存储负担。As shown in Fig. 5, the mail receiving and sending system in this embodiment of the present application may include a decentralized storage system in addition to the blockchain mail client and mail blockchain system in the first embodiment. The storage system includes, but is not limited to, storage systems such as IPFS, which are used to store ciphertext data of the mail, thereby reducing the storage burden of the mail blockchain system.
如图6所示,当用户需要通过所述区块链邮件客户端进行邮件发送时,所述区块链邮件客户端首先将待发送的邮件内容进行加密处理,得到邮件密文数据,并将所述邮件密文数据发送至所述去中心化存储系统。As shown in Figure 6, when a user needs to send emails through the blockchain email client, the blockchain email client first encrypts the content of the email to be sent to obtain the email ciphertext data, and The email ciphertext data is sent to the decentralized storage system.
所述去中心化存储系统在接收到所述邮件密文数据后,对所述邮件密文数据进行存储,并向所述区块链邮件客户端发送响应信息,所述响应信息包括所述邮件密文数据在所述去中心化存储系统中的定位信息,还可以包括存储状态、邮件密文数据的哈希值(hash)等。After receiving the ciphertext data of the email, the decentralized storage system stores the ciphertext data of the email, and sends response information to the blockchain email client. The response information includes the email The location information of the ciphertext data in the decentralized storage system may also include the storage status, the hash value of the ciphertext data of the mail, and the like.
所述区块链邮件客户端在收到所述响应信息后,根据所述存储状态判断是否存储成功,若否,则给用户提示信息并由用户进行其他操作,若是,则构造交易数据,并将所述交易数据发送至所述邮件区块链系统,所述交易数据包括所述邮件密文数据在所述去中心化存储系统中的定位信息,还可以包括发送方邮箱地址、接收方邮箱地址以及发送时间等数据。After receiving the response information, the blockchain mail client judges whether the storage is successful according to the storage status. If not, the user is prompted with information and other operations are performed by the user. If so, the transaction data is constructed, and Send the transaction data to the mail blockchain system, the transaction data includes the location information of the mail ciphertext data in the decentralized storage system, and may also include the sender's email address and the recipient's email address Data such as address and sending time.
以下通过一个具体的示例对本实施例中的邮件收发系统的运作机制进行详细说明:The following uses a specific example to describe in detail the operating mechanism of the mail receiving and sending system in this embodiment:
假定用户A的公钥为3b7f77bfcf8d7d30b8a3,用户B的公钥为2d5bfca369f80e19c6a0,由用户A向用户B发送邮件,邮件内容为:“今天天气很不错!”。Assuming that the public key of user A is 3b7f77bfcf8d7d30b8a3, and the public key of user B is 2d5bfca369f80e19c6a0, user A sends an email to user B, and the content of the email is: "The weather is great today!".
当用户A填写完邮件内容并点击发送后,区块链邮件客户端首先会在本地将邮件内容用用户A的公钥进行加密,得到邮件密文数据:0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee。随后,区块链邮件客户端会将邮件密文数据发送给去中心化存储系统,去中心化存储系统返回如下响应信息:After user A fills in the email content and clicks send, the blockchain mail client first encrypts the email content locally with user A's public key to get the email cipher text data: 0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee. Subsequently, the blockchain mail client will send the ciphertext data of the email to the decentralized storage system, and the decentralized storage system will return the following response information:
{"hash":"0xea674fdde714fd979de3edf0f56aa9716b898ec8",{"hash":"0xea674fdde714fd979de3edf0f56aa9716b898ec8",
"status":"SUCCESS","status":"SUCCESS",
"time":1549888186}"time":1549888186}
当用户A的区块链邮件客户端获得去中心化存储系统返回的响应信息后,判断"status"字段值是否为"SUCCESS"。如果不为"SUCCESS",则提示用户存储失败,并引导用户进行下一步操作;如果是"SUCCESS",则区块链邮件客户端按照预设的规则形成如下一条交易数据:After user A's blockchain mail client obtains the response information returned by the decentralized storage system, it determines whether the value of the "status" field is "SUCCESS". If it is not "SUCCESS", it will prompt the user that the storage fails and guide the user to the next step; if it is "SUCCESS", the blockchain mail client will form the following transaction data according to the preset rules:
{"from":"3b7f77bfcf8d7d30b8a3",{"from":"3b7f77bfcf8d7d30b8a3",
"to":"2d5bfca369f80e19c6a0","to":"2d5bfca369f80e19c6a0",
"path":"0xea674fdde714fd979de3edf0f56aa9716b898ec8"}"path":"0xea674fdde714fd979de3edf0f56aa9716b898ec8"}
所述邮件区块链系统在接收到所述交易数据后,通过区块链节点对所述交易数据进行传播、验证、打包并产出区块。After receiving the transaction data, the mail blockchain system disseminates, verifies, and packages the transaction data through blockchain nodes, and generates blocks.
所述区块链邮件客户端判断邮件是否发送成功或者判断是否接收到新邮件的过程与实施例一中的过程相同,具体可参照实施例一中的具体描述,此处不再赘述。The process of the blockchain mail client judging whether the mail is sent successfully or judging whether a new mail is received is the same as that in the first embodiment. For details, please refer to the specific description in the first embodiment, which will not be repeated here.
如图7所示,当所述区块链邮件客户端需要对邮件内容进行展示时,可以从关联交易数据中解析出所述邮件密文数据在所述去中心化存储系统中的定位信息,并根据所述邮件密文数据在所述去中心化存储系统中的定位信息向所述去中心化存储系统发送数据请求。As shown in Figure 7, when the blockchain mail client needs to display the content of the mail, it can parse out the location information of the mail ciphertext data in the decentralized storage system from the associated transaction data. And send a data request to the decentralized storage system according to the location information of the mail ciphertext data in the decentralized storage system.
所述中心化存储系统在接收到所述数据请求后,将所述邮件密文数据发送至所述区块链邮件客户端。After receiving the data request, the centralized storage system sends the email ciphertext data to the blockchain email client.
所述区块链邮件客户端在接收到所述邮件密文数据后,对所述邮件密文数据进行解密处理,得到邮件内容,最后将解密后的邮件内容进行展示。After receiving the ciphertext data of the mail, the blockchain mail client decrypts the ciphertext data of the mail to obtain the mail content, and finally displays the decrypted mail content.
实施例三:Example three:
与实施例二类似,本实施例中的邮件收发系统也包括区块链邮件客户端、邮件区块链系统和去中心化存储系统。但实施例二中是由区块链邮件客户端向去中心化存储系统发起存储请求,而本实施例中是由邮件区块链系统中的区块链节点来向去中心化存储系统发起存储请求。Similar to the second embodiment, the mail receiving and sending system in this embodiment also includes a blockchain mail client, a mail blockchain system, and a decentralized storage system. However, in the second embodiment, the blockchain mail client initiates a storage request to the decentralized storage system, while in this embodiment, the blockchain node in the mail blockchain system initiates storage to the decentralized storage system. request.
具体地,当用户需要通过所述区块链邮件客户端进行邮件发送时,所述区块链邮件客户端首先将待发送的邮件内容进行加密处理,得到邮件密文数据,构造交易数据,并将所述交易数据发送至所述邮件区块链系统,所述交易数据包括但不限于所述邮件密文数据、发送方邮箱地址、接收方邮箱地址以及发送时间等数据。Specifically, when a user needs to send emails through the blockchain email client, the blockchain email client first encrypts the content of the email to be sent to obtain the email ciphertext data, construct transaction data, and The transaction data is sent to the mail blockchain system, and the transaction data includes, but is not limited to, the mail ciphertext data, the sender's email address, the recipient's email address, and the sending time.
所述邮件区块链系统在接收到所述交易数据后,通过各个区块链节点对所述交易数据进行传播、验证。After receiving the transaction data, the mail blockchain system disseminates and verifies the transaction data through each blockchain node.
交易节点向所述去中心化存储系统发起存储请求,将所述交易数据中的邮件密文数据发送到所述去中心化存储系统中,所述交易节点为验证通过的区块链节点。The transaction node initiates a storage request to the decentralized storage system, and sends the email ciphertext data in the transaction data to the decentralized storage system, and the transaction node is a verified blockchain node.
所述去中心化存储系统在接收到所述邮件密文数据后,对所述邮件密文数据进行存储,并向所述交易节点发送响应信息,所述响应信息包括所述邮件密文数据在所述去中心化存储系统中的定位信息,还可以包括存储状态、邮件密文数据的哈希值等。After receiving the ciphertext data of the mail, the decentralized storage system stores the ciphertext data of the mail and sends response information to the transaction node. The response information includes the ciphertext data of the mail The location information in the decentralized storage system may also include the storage status, the hash value of the ciphertext data of the mail, and the like.
所述交易节点在收到所述响应信息后,将所述邮件密文数据从所述交易数据中移除,并将所述邮件密文数据在所述去中心化存储系统中的定位信息添加入所述交易数据中,形成记录到所述邮件区块链系统中的交易数据。After receiving the response information, the transaction node removes the mail ciphertext data from the transaction data, and adds the location information of the mail ciphertext data in the decentralized storage system Enter the transaction data to form transaction data recorded in the mail blockchain system.
以下通过一个具体的示例对本实施例中的邮件收发系统的运作机制进行详细说明:The following uses a specific example to describe in detail the operating mechanism of the mail receiving and sending system in this embodiment:
假定用户A的公钥为3b7f77bfcf8d7d30b8a3,用户B的公钥为2d5bfca369f80e19c6a0,由用户A向用户B发送邮件,邮件内容为:“今天天气很不错!”。Assuming that the public key of user A is 3b7f77bfcf8d7d30b8a3, and the public key of user B is 2d5bfca369f80e19c6a0, user A sends an email to user B, and the content of the email is: "The weather is great today!".
当用户A填写完邮件内容并点击发送后,区块链邮件客户端首先会在本地将邮件内容用用户A的公钥进行加密,得到邮件密文数据:0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee。随后,区块链邮件客户端会按照预设的规则形成一条交易数据,如:After user A fills in the email content and clicks send, the blockchain mail client first encrypts the email content locally with user A's public key to get the email cipher text data: 0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee. Subsequently, the blockchain mail client will form a transaction data according to preset rules, such as:
{"from":"3b7f77bfcf8d7d30b8a3",{"from":"3b7f77bfcf8d7d30b8a3",
"to":"2d5bfca369f80e19c6a0","to":"2d5bfca369f80e19c6a0",
"data":"0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee"}"data":"0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee"}
邮件区块链系统中的区块链节点得到交易数据后会进行独立验证,对于验证通过的交易数据会将交易数据的"data"字段值解析出来,并向去中心化存储系统发起存储请求,如果去中心化存储系统中不存在该数据的存储,如不存在该密文数据的hash,那么会将数据进步存储后返回对应的内容hash或URL或其它定位信息等给相应的区块链节点,如果去中心化存储系统中已经存在该数据的存储,那么会将该数据的存储位置返回给相应的区块链节点,如得到邮件密文数据在去中心化存储系统中的hash:0xea674fdde714fd979de3edf0f56aa9716b898ec8。区块链节点会将该hash添加到交易数据中,同时移除交易数据中的邮件密文数据字段,如:The blockchain node in the email blockchain system will perform independent verification after obtaining the transaction data. For the transaction data that has passed the verification, the value of the "data" field of the transaction data will be parsed, and a storage request will be initiated to the decentralized storage system. If there is no storage of the data in the decentralized storage system, if there is no hash of the ciphertext data, then the data will be stored and returned to the corresponding content hash or URL or other location information to the corresponding blockchain node If the storage of the data already exists in the decentralized storage system, the storage location of the data will be returned to the corresponding blockchain node, such as the hash of the mail ciphertext data in the decentralized storage system: 0xea674fdde714fd979de3edf0f56aa9716b898ec8. The blockchain node will add the hash to the transaction data and remove the email ciphertext data field in the transaction data, such as:
{"from":"3b7f77bfcf8d7d30b8a3",{"from":"3b7f77bfcf8d7d30b8a3",
"to":"2d5bfca369f80e19c6a0","to":"2d5bfca369f80e19c6a0",
"path":"0xea674fdde714fd979de3edf0f56aa9716b898ec8"}"path":"0xea674fdde714fd979de3edf0f56aa9716b898ec8"}
所述区块链邮件客户端判断邮件是否发送成功或者判断是否接收到新邮件的过程与实施例一中的过程相同,具体可参照实施例一中的具体描述,此处不再赘述。The process of the blockchain mail client judging whether the mail is sent successfully or judging whether a new mail is received is the same as the process in the first embodiment. For details, please refer to the specific description in the first embodiment, which will not be repeated here.
所述区块链邮件客户端对邮件内容进行展示的过程与实施例二中的过程相同,具体可参照实施例二中的具体描述,此处不再赘述。The process of the blockchain email client displaying the email content is the same as the process in the second embodiment. For details, please refer to the specific description in the second embodiment, which will not be repeated here.
实施例四:Embodiment four:
与实施例二类似,本实施例中的邮件收发系统也包括区块链邮件客户端、邮件区块链系统和去中心化存储系统。但实施例二中是由区块链邮件客户端向去中心化存储系统发起存储请求,而本实施例中是由去中心化存储系统主动发起数据获取请求,本实施例尤其适用于邮件内容中包括大文本或者附件的情况。Similar to the second embodiment, the mail receiving and sending system in this embodiment also includes a blockchain mail client, a mail blockchain system, and a decentralized storage system. However, in the second embodiment, the blockchain mail client initiates a storage request to the decentralized storage system. In this embodiment, the decentralized storage system actively initiates the data acquisition request. This embodiment is particularly suitable for email content. Including large text or attachments.
具体地,当用户需要通过所述区块链邮件客户端进行邮件发送时,所述区块链邮件客户端首先将待发送的邮件内容划分为第一邮件内容和第二邮件内容,所述第一邮件内容为小文本数据,所述第二邮件内容为大文本或者附件。Specifically, when a user needs to send emails through the blockchain email client, the blockchain email client first divides the email content to be sent into a first email content and a second email content. The content of an email is small text data, and the content of the second email is large text or an attachment.
然后,所述区块链邮件客户端分别对所述第一邮件内容和所述第二邮件内容进行加密处理,得到第一邮件密文数据和第二邮件密文数据,将所述第一邮件密文数据存储至所述邮件区块链系统中或所述去中心化存储系统中,将所述第二邮件密文数据存储至所述去中心化存储系统中。Then, the blockchain mail client separately encrypts the first mail content and the second mail content to obtain the first mail ciphertext data and the second mail ciphertext data, and the first mail The ciphertext data is stored in the mail blockchain system or the decentralized storage system, and the second mail ciphertext data is stored in the decentralized storage system.
其中,将所述第一邮件密文数据存储至所述邮件区块链系统中的过程与实施例一中的过程类似,将所述第一邮件密文数据存储至所述去中心化存储系统中的过程与实施例二中的过程类似,具体可参照实施例一以及实施例二中的具体描述,此处不再赘述。Wherein, the process of storing the first mail ciphertext data in the mail blockchain system is similar to the process in the first embodiment, and storing the first mail ciphertext data in the decentralized storage system The process in is similar to the process in the second embodiment. For details, please refer to the specific descriptions in the first and second embodiments, which will not be repeated here.
将所述第二邮件密文数据存储至所述去中心化存储系统中的过程具体包括以下过程:The process of storing the second email ciphertext data in the decentralized storage system specifically includes the following process:
所述区块链邮件客户端将所述第二邮件密文数据存储至所述区块链邮件客户端的本地存储介质上,并将包括本地定位信息的交易数据发送至所述邮件区块链系统,在所述邮件区块链系统的各个区块链节点间进行传播,所述本地定位信息为所述第二邮件密文数据在所述本地存储介质上的定位信息,例如本地的URL或者其它形式的定位信息。所述交易数据还可以包括发送方邮箱地址、接收方邮箱地址以及发送时间等数据。The blockchain mail client stores the second mail ciphertext data on the local storage medium of the blockchain mail client, and sends transaction data including local positioning information to the mail blockchain system , To propagate among the various blockchain nodes of the mail blockchain system, and the local positioning information is the positioning information of the second mail ciphertext data on the local storage medium, such as a local URL or other Form of positioning information. The transaction data may also include data such as the sender's email address, the recipient's email address, and the sending time.
所述邮件区块链系统在接收到所述交易数据后,通过区块链节点对所述交易数据进行解析,当解析到特定数据字段后会与所述去中心化存储系统进行通信,将所述交易数据中的本地定位信息发送至所述中心化存储系统。After the email blockchain system receives the transaction data, it parses the transaction data through the blockchain node, and when the specific data field is parsed, it communicates with the decentralized storage system, The local positioning information in the transaction data is sent to the centralized storage system.
所述中心化存储系统在接收到所述本地定位信息后,根据所述本地定位信息向所述区块链邮件客户端发送数据获取请求。After receiving the local positioning information, the centralized storage system sends a data acquisition request to the blockchain mail client according to the local positioning information.
所述区块链邮件客户端在接收到所述数据获取请求后,将所述第二邮件密文数据发送至所述中心化存储系统。After receiving the data acquisition request, the blockchain mail client sends the second mail ciphertext data to the centralized storage system.
所述去中心化存储系统在接收到所述第二邮件密文数据后,对所述邮件密文数据进行存储,并向所述区块链节点发送响应信息,所述响应信息包括所述第二邮件密文数据在所述去中心化存储系统中的定位信息,还可以包括存储状态、第二邮件密文数据的哈希值等。After receiving the second mail ciphertext data, the decentralized storage system stores the mail ciphertext data and sends response information to the blockchain node, where the response information includes the first The location information of the second mail ciphertext data in the decentralized storage system may also include storage status, the hash value of the second mail ciphertext data, and the like.
所述区块链节点在收到所述响应信息后,构造新的交易数据,并对所述新的交易数据进行传播、验证、打包并产出区块,所述新的交易数据包括所述第二邮件密文数据在所述去中心化存储系统中的定位信息和第一邮件数据,还可以包括发送方邮箱地址、接收方邮箱地址以及发送时间等数据,所述第一邮件数据为所述第一邮件密文数据(对应于将所述第一邮件密文数据存储至所述邮件区块链系统中的情况)或所述第一邮件密文数据在所述去中心化存储系统中的定位信息(对应于将所述第一邮件密文数据存储至所述去中心化存储系统中的情况)。After receiving the response information, the blockchain node constructs new transaction data, and disseminates, verifies, and packages the new transaction data, and generates a block. The new transaction data includes the The location information of the second email ciphertext data in the decentralized storage system and the first email data may also include data such as the sender's email address, the recipient's email address, and the sending time. The first email data is all The first mail ciphertext data (corresponding to the situation of storing the first mail ciphertext data in the mail blockchain system) or the first mail ciphertext data in the decentralized storage system The location information (corresponding to the situation of storing the first email ciphertext data in the decentralized storage system).
以下通过一个具体的示例对本实施例中的邮件收发系统的运作机制进行详细说明:The following uses a specific example to describe in detail the operating mechanism of the mail receiving and sending system in this embodiment:
假定用户A的公钥为3b7f77bfcf8d7d30b8a3,用户B的公钥为2d5bfca369f80e19c6a0,由用户A向用户B发送邮件,邮件内容除了文本信息:“今天天气很不错!”,还包括一张20M大小的音频附件。Assuming that user A’s public key is 3b7f77bfcf8d7d30b8a3, and user B’s public key is 2d5bfca369f80e19c6a0, user A sends an email to user B. In addition to the text message: "The weather today is great!", the email content also includes a 20M audio attachment.
当用户A填写完邮件内容并点击发送后,区块链邮件客户端首先会将文本信息和音频附件在本地用用户A的公钥进行非对称加密处理,分别得到0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee和0x3d27146593c566cac19d76cf1ec336921874bfbe25b6.....14e808114050bc8e260e4f413,其中,0x3d27146593c566cac19d76cf1ec336921874bfbe25b6.....14e808114050bc8e260e4f413在用户A的区块链邮件客户端本地的存储路径为:http://192.168.1.123:8888/UserA/mail/e07dced0592d6c3ed8e33011,结合其它信息,用户A的区块链邮件客户端会向邮件区块链系统中的区块链节点发送的交易数据如下:After user A fills in the email content and clicks send, the blockchain email client first performs asymmetric encryption of the text information and audio attachments locally with the public key of user A, and obtains 0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee and 0x3d27146593c566cac92119d76f1ec874. 14e808114050bc8e260e4f413, where 0x3d27146593c566cac19d76cf1ec336921874bfbe25b6.....14e808114050bc8e260e4f413 is stored locally in the blockchain mail client of user A: http://192.168.1.123:8888/UserA/mail/e07dced0592d6c3c3c3c3, combined with other information of user A The transaction data sent by the blockchain mail client to the blockchain nodes in the mail blockchain system is as follows:
{"from":"3b7f77bfcf8d7d30b8a3",{"from":"3b7f77bfcf8d7d30b8a3",
"to":"2d5bfca369f80e19c6a0","to":"2d5bfca369f80e19c6a0",
"data1":"0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee","data1":"0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee",
"data2":"http://192.168.1.123:8888/UserA/mail/e07dced0592d6c3ed8e33011"}"data2":"http://192.168.1.123:8888/UserA/mail/e07dced0592d6c3ed8e33011"}
各个区块链节点会将该交易数据中的"data2"字段值,即"http://192.168.1.123:8888/UserA/mail/e07dced0592d6c3ed8e33011"解析出来并提交给去中心化存储系统。去中心化存储系统在获取到该URL后,会向用户A的区块链邮件客户端请求获取邮件密文数据资源。在去中心化存储系统完成邮件密文数据存储后邮件密文数据的定位信息返回给相应的区块链节点,如hash为0xa828a6989deec5905636ac8e07dced0592d6c3e。最终区块链节点节点按照一定规则形成如下的交易数据:Each blockchain node will parse out the "data2" field value in the transaction data, that is, "http://192.168.1.123:8888/UserA/mail/e07dced0592d6c3ed8e33011" and submit it to the decentralized storage system. After obtaining the URL, the decentralized storage system will request user A's blockchain email client to obtain the email ciphertext data resource. After the decentralized storage system completes the storage of the email ciphertext data, the location information of the email ciphertext data is returned to the corresponding blockchain node, for example, the hash is 0xa828a6989deec5905636ac8e07dced0592d6c3e. In the end, the blockchain node nodes form the following transaction data according to certain rules:
{"from":"3b7f77bfcf8d7d30b8a3",{"from":"3b7f77bfcf8d7d30b8a3",
"to":"2d5bfca369f80e19c6a0","to":"2d5bfca369f80e19c6a0",
"data1":"0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee","data1":"0xad539598ee5ebf20cfb81b36b7ce1fbeba5748654eb1d15422d0ef3079faee",
"data2":"0xa828a6989deec5905636ac8e07dced0592d6c3e"}"data2":"0xa828a6989deec5905636ac8e07dced0592d6c3e"}
所述区块链邮件客户端判断邮件是否发送成功或者判断是否接收到新邮件的过程与实施例一中的过程相同,具体可参照实施例一中的具体描述,此处不再赘述。The process of the blockchain mail client judging whether the mail is sent successfully or judging whether a new mail is received is the same as the process in the first embodiment. For details, please refer to the specific description in the first embodiment, which will not be repeated here.
所述区块链邮件客户端对邮件内容进行展示的过程也可参照实施例一及实施例二中的具体描述,此处不再赘述。The process of displaying the email content by the blockchain email client can also refer to the specific descriptions in Embodiment 1 and Embodiment 2, which will not be repeated here.
综上所述,通过本申请提供的邮件收发系统,用户邮件明文数据均在区块链邮件客户端进行加密处理,保证了数据在发送和传输阶段的安全性。即使数据被恶意程序截获得到的也是密文,如果密文数据被篡改那么校验码也会随之失效,区块链节点验证时也会不通过,而且由于区块链的去中心化存储及不可篡改等特性,用户无法删除和修改其发送和接收邮件的行为,即可以有效防止用户的抵赖行为。In summary, through the mail sending and receiving system provided by this application, the user's mail plaintext data is encrypted in the blockchain mail client, which ensures the security of the data during the sending and transmission stage. Even if the data is intercepted by malicious programs, it is ciphertext. If the ciphertext data is tampered with, the check code will also become invalid, and the blockchain node will not pass the verification. Moreover, due to the decentralized storage and With features such as non-tampering, users cannot delete and modify their behavior of sending and receiving emails, which can effectively prevent user denial.
应理解,上述实施例中各步骤的顺序并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It should be understood that the order of the steps in the above embodiments does not mean the order of execution. The order of execution of the processes should be determined by their functions and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。In the foregoing embodiments, the description of each embodiment has its own focus. For parts that are not detailed or recorded in a certain embodiment, reference may be made to related descriptions of other embodiments.
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。The above-mentioned embodiments are only used to illustrate the technical solutions of the present application, not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that it can still implement the foregoing The technical solutions recorded in the examples are modified, or some of the technical features are equivalently replaced; these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the application, and should be included in Within the scope of protection of this application.

Claims (14)

  1. 一种基于区块链的邮件收发系统,其特征在于,包括:A blockchain-based mail receiving and dispatching system, which is characterized in that it includes:
    区块链邮件客户端,用于收发邮件,对发送的邮件内容进行加密处理,对接收到的邮件内容进行解密处理;Blockchain mail client, used to send and receive mail, encrypt the content of the sent mail, and decrypt the content of the received mail;
    邮件区块链系统,用于通过各个区块链节点对邮件收发过程中产生的交易数据进行存储。The mail block chain system is used to store the transaction data generated during the mail sending and receiving process through each block chain node.
  2. 根据权利要求1所述的邮件收发系统,其特征在于,还包括:The mail receiving and dispatching system according to claim 1, further comprising:
    所述区块链邮件客户端将待发送的邮件内容进行加密处理,得到邮件密文数据,构造交易数据,并将所述交易数据发送至所述邮件区块链系统,所述交易数据包括所述邮件密文数据、发送方邮箱地址、接收方邮箱地址以及发送时间;The blockchain mail client encrypts the content of the mail to be sent, obtains the mail ciphertext data, constructs transaction data, and sends the transaction data to the mail blockchain system. The transaction data includes all State the ciphertext data of the email, the sender's email address, the recipient's email address and the sending time;
    所述邮件区块链系统在接收到所述交易数据后,通过各个区块链节点对所述交易数据进行传播、验证、打包并产出区块。After the mail blockchain system receives the transaction data, the transaction data is propagated, verified, packaged, and a block is generated through each blockchain node.
  3. 根据权利要求2所述的邮件收发系统,其特征在于,还包括:3. The mail receiving and sending system according to claim 2, further comprising:
    所述区块链邮件客户端监测是否有新的区块产出,若有新的区块产出,则向关联节点发送询问消息,所述关联节点为与所述区块链邮件客户端连接的区块链节点;The blockchain mail client monitors whether there is a new block output, and if there is a new block output, it sends an inquiry message to an associated node, which is connected to the blockchain mail client Blockchain node;
    所述关联节点在接收到所述询问消息后,在新产出的区块中查找关联交易数据,若查找到所述关联交易数据,则将所述关联交易数据发送至所述区块链邮件客户端,所述关联交易数据为包含关联地址的交易数据,所述关联地址为与所述区块链邮件客户端对应的邮箱地址;After receiving the inquiry message, the associated node searches for associated transaction data in the newly generated block, and if the associated transaction data is found, sends the associated transaction data to the blockchain mail Client, the associated transaction data is transaction data including an associated address, and the associated address is an email address corresponding to the blockchain mail client;
    所述区块链邮件客户端在接收到所述关联交易数据后,判断所述关联地址是否为发送方邮箱地址,若是,则判定邮件发送成功,若否,则判定接收到新邮件。After receiving the associated transaction data, the blockchain mail client determines whether the associated address is the sender's email address, if it is, it determines that the mail is sent successfully, and if not, it determines that a new mail is received.
  4. 根据权利要求3所述的邮件收发系统,其特征在于,所述向关联节点发送询问消息包括:The mail receiving and sending system according to claim 3, wherein the sending an inquiry message to the associated node comprises:
    所述区块链邮件客户端通过布隆过滤器算法向所述关联节点发送所述询问消息。The blockchain mail client sends the inquiry message to the associated node through the Bloom filter algorithm.
  5. 根据权利要求3所述的邮件收发系统,其特征在于,还包括:The mail receiving and sending system according to claim 3, further comprising:
    所述区块链邮件客户端从关联交易数据中解析出邮件密文数据,并对所述邮件密文数据进行解密处理,得到邮件内容。The blockchain mail client parses out the mail ciphertext data from the associated transaction data, and decrypts the mail ciphertext data to obtain the mail content.
  6. 根据权利要求1所述的邮件收发系统,其特征在于,还包括:The mail receiving and dispatching system according to claim 1, further comprising:
    去中心化存储系统,用于对邮件密文数据进行存储。Decentralized storage system for storing ciphertext data of emails.
  7. 根据权利要求6所述的邮件收发系统,其特征在于,所述去中心化存储系统包括IPFS存储系统。The mail receiving and dispatching system of claim 6, wherein the decentralized storage system comprises an IPFS storage system.
  8. 根据权利要求6所述的邮件收发系统,其特征在于,还包括:7. The mail receiving and sending system according to claim 6, further comprising:
    所述区块链邮件客户端将待发送的邮件内容进行加密处理,得到邮件密文数据,并将所述邮件密文数据发送至所述去中心化存储系统;The blockchain mail client encrypts the content of the mail to be sent to obtain mail ciphertext data, and sends the mail ciphertext data to the decentralized storage system;
    所述去中心化存储系统在接收到所述邮件密文数据后,对所述邮件密文数据进行存储,并向所述区块链邮件客户端发送响应信息,所述响应信息包括所述邮件密文数据在所述去中心化存储系统中的定位信息;After receiving the ciphertext data of the email, the decentralized storage system stores the ciphertext data of the email, and sends response information to the blockchain email client. The response information includes the email Location information of the ciphertext data in the decentralized storage system;
    所述区块链邮件客户端在收到所述响应信息后,构造交易数据,并将所述交易数据发送至所述邮件区块链系统,所述交易数据包括所述邮件密文数据在所述去中心化存储系统中的定位信息;After receiving the response information, the blockchain mail client constructs transaction data and sends the transaction data to the mail blockchain system. The transaction data includes the mail ciphertext data in the Describe the location information in the decentralized storage system;
    所述邮件区块链系统在接收到所述交易数据后,通过区块链节点对所述交易数据进行传播、验证、打包并产出区块。After receiving the transaction data, the mail blockchain system disseminates, verifies, and packages the transaction data through blockchain nodes, and generates blocks.
  9. 根据权利要求6所述的邮件收发系统,其特征在于,还包括:7. The mail receiving and sending system according to claim 6, further comprising:
    所述区块链邮件客户端将待发送的邮件内容进行加密处理,得到邮件密文数据,构造交易数据,并将所述交易数据发送至所述邮件区块链系统;The blockchain mail client encrypts the content of the mail to be sent, obtains mail ciphertext data, constructs transaction data, and sends the transaction data to the mail blockchain system;
    所述邮件区块链系统在接收到所述交易数据后,通过各个区块链节点对所述交易数据进行传播、验证;After receiving the transaction data, the mail blockchain system disseminates and verifies the transaction data through each blockchain node;
    交易节点向所述去中心化存储系统发起存储请求,将所述交易数据中的邮件密文数据发送到所述去中心化存储系统中,所述交易节点为验证通过的区块链节点;The transaction node initiates a storage request to the decentralized storage system, and sends the email ciphertext data in the transaction data to the decentralized storage system, and the transaction node is a verified blockchain node;
    所述去中心化存储系统在接收到所述邮件密文数据后,对所述邮件密文数据进行存储,并向所述交易节点发送响应信息,所述响应信息包括所述邮件密文数据在所述去中心化存储系统中的定位信息;After receiving the ciphertext data of the mail, the decentralized storage system stores the ciphertext data of the mail and sends response information to the transaction node. The response information includes the ciphertext data of the mail Positioning information in the decentralized storage system;
    所述交易节点在收到所述响应信息后,将所述邮件密文数据从所述交易数据中移除,并将所述邮件密文数据在所述去中心化存储系统中的定位信息添加入所述交易数据中,形成记录到所述邮件区块链系统中的交易数据。After receiving the response information, the transaction node removes the mail ciphertext data from the transaction data, and adds the location information of the mail ciphertext data in the decentralized storage system Enter the transaction data to form transaction data recorded in the mail blockchain system.
  10. 根据权利要求8或9所述的邮件收发系统,其特征在于,还包括:The mail receiving and dispatching system according to claim 8 or 9, further comprising:
    所述区块链邮件客户端从关联交易数据中解析出所述邮件密文数据在所述去中心化存储系统中的定位信息,并根据所述邮件密文数据在所述去中心化存储系统中的定位信息向所述去中心化存储系统发送数据请求;The blockchain mail client parses out the location information of the mail ciphertext data in the decentralized storage system from the associated transaction data, and based on the mail ciphertext data in the decentralized storage system The location information in sends a data request to the decentralized storage system;
    所述中心化存储系统在接收到所述数据请求后,将所述邮件密文数据发送至所述区块链邮件客户端;After receiving the data request, the centralized storage system sends the email ciphertext data to the blockchain email client;
    所述区块链邮件客户端在接收到所述邮件密文数据后,对所述邮件密文数据进行解密处理,得到邮件内容。After receiving the mail ciphertext data, the blockchain mail client decrypts the mail ciphertext data to obtain the mail content.
  11. 根据权利要求6所述的邮件收发系统,其特征在于,还包括:7. The mail receiving and sending system according to claim 6, further comprising:
    所述区块链邮件客户端将待发送的邮件内容划分为第一邮件内容和第二邮件内容,并分别对所述第一邮件内容和所述第二邮件内容进行加密处理,得到第一邮件密文数据和第二邮件密文数据,将所述第一邮件密文数据存储至所述邮件区块链系统中或所述去中心化存储系统中,将所述第二邮件密文数据存储至所述去中心化存储系统中。The blockchain mail client divides the mail content to be sent into a first mail content and a second mail content, and respectively encrypts the first mail content and the second mail content to obtain the first mail Ciphertext data and second mail ciphertext data, storing the first mail ciphertext data in the mail blockchain system or the decentralized storage system, and storing the second mail ciphertext data To the decentralized storage system.
  12. 根据权利要求11所述的邮件收发系统,其特征在于,所述将所述第一邮件密文数据存储至所述邮件区块链系统中或所述去中心化存储系统中包括:The mail receiving and dispatching system according to claim 11, wherein the storing the first mail ciphertext data in the mail blockchain system or the decentralized storage system comprises:
    所述区块链邮件客户端将所述第一邮件密文数据发送至所述去中心化存储系统;Sending, by the blockchain mail client, the first mail ciphertext data to the decentralized storage system;
    所述去中心化存储系统在接收到所述第一邮件密文数据后,对所述第一邮件密文数据进行存储,并向所述区块链邮件客户端发送响应信息,所述响应信息包括所述第一邮件密文数据在所述去中心化存储系统中的定位信息。After receiving the first mail ciphertext data, the decentralized storage system stores the first mail ciphertext data, and sends response information to the blockchain mail client, the response information Including the location information of the first mail ciphertext data in the decentralized storage system.
  13. 根据权利要求11所述的邮件收发系统,其特征在于,所述将所述第二邮件密文数据存储至所述去中心化存储系统中包括:The mail receiving and sending system according to claim 11, wherein the storing the second mail ciphertext data in the decentralized storage system comprises:
    将所述第二邮件密文数据存储至所述区块链邮件客户端的本地存储介质上,并将包括本地定位信息的交易数据发送至所述邮件区块链系统,所述本地定位信息为所述第二邮件密文数据在所述本地存储介质上的定位信息;The second mail ciphertext data is stored on the local storage medium of the blockchain mail client, and the transaction data including local positioning information is sent to the mail blockchain system. The local positioning information is Location information of the second mail ciphertext data on the local storage medium;
    所述邮件区块链系统在接收到所述交易数据后,通过区块链节点将所述交易数据中的本地定位信息发送至所述中心化存储系统;After receiving the transaction data, the mail blockchain system sends the local positioning information in the transaction data to the centralized storage system through a blockchain node;
    所述中心化存储系统在接收到所述本地定位信息后,根据所述本地定位信息向所述区块链邮件客户端发送数据获取请求;After receiving the local positioning information, the centralized storage system sends a data acquisition request to the blockchain mail client according to the local positioning information;
    所述区块链邮件客户端在接收到所述数据获取请求后,将所述第二邮件密文数据发送至所述中心化存储系统;After receiving the data acquisition request, the blockchain mail client sends the second mail ciphertext data to the centralized storage system;
    所述去中心化存储系统在接收到所述第二邮件密文数据后,对所述邮件密文数据进行存储,并向所述区块链节点发送响应信息,所述响应信息包括所述第二邮件密文数据在所述去中心化存储系统中的定位信息;After receiving the second mail ciphertext data, the decentralized storage system stores the mail ciphertext data, and sends response information to the blockchain node, where the response information includes the first 2. Location information of the ciphertext data of the mail in the decentralized storage system;
    所述区块链节点在收到所述响应信息后,构造新的交易数据,并对所述新的交易数据进行传播、验证、打包并产出区块,所述新的交易数据包括所述第二邮件密文数据在所述去中心化存储系统中的定位信息和第一邮件数据,所述第一邮件数据为所述第一邮件密文数据或所述第一邮件密文数据在所述去中心化存储系统中的定位信息。After receiving the response information, the blockchain node constructs new transaction data, and disseminates, verifies, and packages the new transaction data, and generates a block. The new transaction data includes the The location information of the second mail ciphertext data in the decentralized storage system and the first mail data, the first mail data being the first mail ciphertext data or the first mail ciphertext data in the Describe the location information in the decentralized storage system.
  14. 根据权利要求11至13任一项所述的邮件收发系统,其特征在于,所述将待发送的邮件内容划分为第一邮件内容和第二邮件内容包括:The mail receiving and sending system according to any one of claims 11 to 13, wherein the dividing the mail content to be sent into the first mail content and the second mail content comprises:
    将所述待发送的邮件内容中的文本信息确定为所述第一邮件内容;Determining text information in the mail content to be sent as the first mail content;
    将所述待发送的邮件内容中的附件确定为所述第二邮件内容。The attachment in the mail content to be sent is determined as the second mail content.
PCT/CN2019/096828 2019-03-18 2019-07-19 Blockchain-based mail transmission and reception system WO2020186672A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910203667.4A CN109831374B (en) 2019-03-18 2019-03-18 Mail receiving and sending system based on block chain
CN201910203667.4 2019-03-18

Publications (1)

Publication Number Publication Date
WO2020186672A1 true WO2020186672A1 (en) 2020-09-24

Family

ID=66870322

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/096828 WO2020186672A1 (en) 2019-03-18 2019-07-19 Blockchain-based mail transmission and reception system

Country Status (2)

Country Link
CN (1) CN109831374B (en)
WO (1) WO2020186672A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113595877A (en) * 2021-07-23 2021-11-02 永旗(北京)科技有限公司 Instant communication method based on block chain
CN115296881A (en) * 2022-07-29 2022-11-04 北京达佳互联信息技术有限公司 Information acquisition method and device, electronic equipment and computer readable medium

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831374B (en) * 2019-03-18 2020-04-21 深圳幂度信息科技有限公司 Mail receiving and sending system based on block chain
CN110351185A (en) * 2019-06-28 2019-10-18 太原理工大学 A kind of distributed electronic mailbox system based on block chain technology
CN110351258A (en) * 2019-06-28 2019-10-18 太原理工大学 A kind of distributed electronic mailbox system based on no coin block chain technology
TW202105224A (en) 2019-07-30 2021-02-01 區塊科技股份有限公司 Method and system for confirming e-mail authenticity and non-transitory storage medium thereof
CN110601955B (en) * 2019-09-06 2022-04-19 创新先进技术有限公司 Block chain-based e-mail delivery method, device and equipment
CN111083133B (en) * 2019-12-11 2021-10-22 公安部第三研究所 Method and system for analyzing correlation between mail information and malicious code information
CN111130806A (en) * 2019-12-30 2020-05-08 论客科技(广州)有限公司 E-mail filing and evidence saving method and device based on block chain technology
CN112258192B (en) * 2020-09-15 2023-07-28 山东鲁能软件技术有限公司 Mail confirmation method and device based on blockchain wallet address
CN112272155B (en) * 2020-09-15 2022-12-23 山东鲁能软件技术有限公司 E-mail receiving and sending method based on block chain
CN112272156B (en) * 2020-09-15 2022-12-23 山东鲁能软件技术有限公司 E-mail receiving and sending system based on block chain

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769014A (en) * 2018-05-29 2018-11-06 山东九州信泰信息科技股份有限公司 A method of PGP verifications are carried out to Email based on block chain technology
CN109309613A (en) * 2018-10-09 2019-02-05 京东方科技集团股份有限公司 A kind of method, apparatus and system of mail delivery
CN109831374A (en) * 2019-03-18 2019-05-31 深圳幂度信息科技有限公司 A kind of email distribution and reception system based on block chain

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790234B (en) * 2017-01-18 2018-09-04 维沃移动通信有限公司 A kind of e-mail sending method, method of reseptance, first terminal and second terminal
WO2019033011A1 (en) * 2017-08-11 2019-02-14 United States Postal Service Cryptographically tracked and secured vote by mail system
CN109462540A (en) * 2018-10-12 2019-03-12 彩讯科技股份有限公司 Mail deposits card methods, devices and systems
CN109450781B (en) * 2018-12-29 2021-08-06 深圳市网心科技有限公司 Mail communication method based on distributed network and related device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769014A (en) * 2018-05-29 2018-11-06 山东九州信泰信息科技股份有限公司 A method of PGP verifications are carried out to Email based on block chain technology
CN109309613A (en) * 2018-10-09 2019-02-05 京东方科技集团股份有限公司 A kind of method, apparatus and system of mail delivery
CN109831374A (en) * 2019-03-18 2019-05-31 深圳幂度信息科技有限公司 A kind of email distribution and reception system based on block chain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHENGENG NING: "Centerless E-mail System", CHINESE MASTER'S THESES FULL-TEXT DATABASE, 1 April 2017 (2017-04-01), pages 1 - 72, XP055734174 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113595877A (en) * 2021-07-23 2021-11-02 永旗(北京)科技有限公司 Instant communication method based on block chain
CN113595877B (en) * 2021-07-23 2022-08-30 永旗(北京)科技有限公司 Instant communication method based on block chain
CN115296881A (en) * 2022-07-29 2022-11-04 北京达佳互联信息技术有限公司 Information acquisition method and device, electronic equipment and computer readable medium

Also Published As

Publication number Publication date
CN109831374B (en) 2020-04-21
CN109831374A (en) 2019-05-31

Similar Documents

Publication Publication Date Title
WO2020186672A1 (en) Blockchain-based mail transmission and reception system
US11159523B2 (en) Rapid identification of message authentication
US10298708B2 (en) Targeted notification of content availability to a mobile device
US20220198049A1 (en) Blockchain-Based Secure Email System
US7673004B1 (en) Method and apparatus for secure IM communications using an IM module
AU2004262737B2 (en) System and method for processing encoded messages
US8019081B2 (en) System and method for processing encoded messages
JP4875745B2 (en) Multi-stage system and method for processing encoded messages
US8615661B2 (en) System and method for transmitting and utilizing attachments
US6978378B1 (en) Secure file transfer system
US20050257057A1 (en) System, method and computer product for sending encrypted messages to recipients where the sender does not possess the credentials of the recipient
US11863645B2 (en) Targeted notification of content availability to a mobile device
US20220263822A1 (en) Rapid identification of message authentication
EP1592193A1 (en) Wireless communication device with securely added randomness and related method
JP2003152803A (en) System and method for mail reception substitute agent, server, and program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19920358

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 22/02/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19920358

Country of ref document: EP

Kind code of ref document: A1