IP Library › Granted Patent US 11,080,246
Granted Patent B2
US 11,080,246 · App. 16/216,007 · Granted Aug 3, 2021

Decentralized database associating public keys and communications addresses

Inventors: Rene Reinsberg (San Francisco, CA); Sepandar Kamvar (Belmar, NJ); Marek Olszewski (San Francisco, CA)
Assignee: CELO FOUNDATION
G06F16/1834G06F16/1805G06F16/1824H04L9/0643H04L9/0819H04L9/3239H04L9/3247H04L9/3255H04L9/3297H04L2209/38H04L2209/56
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,080,246
App. No.
16/216,007
Granted
Aug 3, 2021
Kind
B2
Abstract

Systems and techniques are provided for a decentralized database associating public keys and communications addresses. A signed secret message may be sent by a validator computing device of a peer-to-peer network for a decentralized database to a communications address from a request for verification entry in a verification queue of the decentralized database. A second request for verification including the communications address and a user-signed secret message may be received. The user-signed secret message may be verified using a public key from the request for verification entry in the verification queue. The communications address and public key may be written to a verified database of the decentralized database when verifying the user-signed secret message causes a number of user-signed secret messages received in requests for verification with the communications address and successfully verified to meet a threshold number.

Claims (32)

1. A computer-implemented method performed on a data processing apparatus comprising:

sending, by a validator computing device of a peer-to-peer network for a decentralized database, to a communications address from a request for verification entry in a verification queue of the decentralized database, a signed secret message;

receiving, by the validator computing device, a second request for verification comprising the communications address and a user-signed secret message;

verifying, by the validator computing device, the user-signed secret message using a public key from the request for verification entry in the verification queue; and

writing, by the validator computing device, the communications address and public key to a verified database of the decentralized database when verifying the user-signed secret message causes a number of user-signed secret messages received in requests for verification with the communications address and successfully verified to meet a threshold number or writing, by the validator computing device, the second request for verification to the verification queue with the user-signed secret message when verifying the user-signed secret message does not cause a number of user-signed secret messages received in requests for verification with the communications address and successfully verified to meet the threshold number.

2. The method of claim 1 , wherein verifying, by the validator computing device, the user-signed secret message using a public key from the request for verification entry in the verification queue further comprises:

decrypting a signature of the user-signed secret message using the public key to generate a decrypted hash; and

determining that the decrypted hash matches a hash of the signed secret message sent from the validator computing device to the communications address.

3. The method of claim 1 , wherein writing the communications address and public key to a verified database of the decentralized database when verifying the user-signed secret message causes a number of user-signed secret messages received in requests for verification with the communications address and successfully verified to meet a threshold number further comprises reading the verification queue to determine a number of previous requests for verification with the communications address that are written to the verification queue with their own previous user-signed secret message based on previous signed secret messages sent by other validator computing devices of the peer-to-peer network.

4. The method of claim 1 , wherein writing the communications address and public key to a verified database of the decentralized database when verifying the user-signed secret message causes a number of user-signed secret messages received in requests for verification with the communications address and successfully verified to meet a threshold number further comprises writing the communications address and public key to a new block of blockchain that comprises the decentralized database, wherein a copy of the blockchain is stored on two or more separate computing devices of the peer-to-peer network.

5. The method of claim 1 , wherein the communications address is an email address, a phone number, an IP address, a social media service username, a messaging service user name, or a financial account and routing number.

6. The method of claim 1 , wherein the verified database of the decentralized database comprises a plurality of communications address/public key pairs and is publicly searchable.

7. The method of claim 1 , wherein the second request for verification is broadcast to the peer-to-peer network from a user computing device that has access to messages sent to the communications address.

8. The method of claim 1 , wherein writing the second request for verification to the verification queue with the user-signed secret message when verifying the user-signed secret message does not cause a number of user-signed secret messages received in requests for verification with the communications address and successfully verified to meet the threshold number further comprises writing the communications address and the user-signed secret message to a new block of blockchain that comprises the decentralized database, wherein a copy of the blockchain is stored on two or more separate computing devices of the peer-to-peer network.

9. The method of claim 1 , further comprising reading requests for verification from a predetermined number of previous blocks of a blockchain that comprises the decentralized database.

10. A computer-implemented system comprising:

a storage comprising a copy of a decentralized database; and

a processor configured to send a signed secret message to a communications address from a request for verification entry in a verification queue of the decentralized database, receive a second request for verification comprising the communications address and a user-signed secret message, verify the user-signed secret message using a public key from the request for verification entry in the verification queue, and write the communications address and public key to a verified database of the decentralized database when verifying the user-signed secret message causes a number of user-signed secret messages received in requests for verification with the communications address and successfully verified to meet a threshold number or write the second request for verification to the verification queue with the user-signed secret message when verifying the user-signed secret message does not cause a number of user-signed secret messages received in requests for verification with the communications address and successfully verified to meet the threshold number.

11. The system of claim 10 , wherein the processor is further configured to verify the user-signed secret message using a public key from the request for verification entry in the verification queue by decrypting a signature of the user-signed secret message using the public key to generate a decrypted hash and determining that the decrypted hash matches a hash of the signed secret message sent from the validator computing device to the communications address.

12. The system of claim 10 , wherein the processor is further configured to write the communications address and public key to a verified database of the decentralized database when verifying the user-signed secret message causes a number of user-signed secret messages received in requests for verification with the communications address and successfully verified to meet a threshold number by reading the verification queue to determine a number of previous requests for verification with the communications address that are written to the verification queue with their own previous user-signed secret message based on previous signed secret messages sent by other validator computing devices of a peer-to-peer network.

13. The system of claim 10 , wherein the processor is further configured to write the communications address and public key to a verified database of the decentralized database when verifying the user-signed secret message causes a number of user-signed secret messages received in requests for verification with the communications address and successfully verified to meet a threshold number by writing the communications address and public key to a new block of blockchain that comprises the decentralized database, wherein a copy of the blockchain is stored on two or more separate computing devices of a peer-to-peer network.

14. The system of claim 10 , wherein the communications address is an email address, a phone number, a social media service username, a messaging service user name, or a bank account and routing number.

15. The system of claim 10 , wherein the verified database of the decentralized database comprises a plurality of communications address/public key pairs and is publicly searchable.

16. The system of claim 10 , wherein the second request for verification is broadcast to a peer-to-peer network from a user computing device that has access to messages sent to the communications address.

17. The system of claim 10 , wherein the processor is further configured to write the second request for verification to the verification queue with the user-signed secret message when verifying the user-signed secret message does not cause a number of user-signed secret messages received in requests for verification with the communications address and successfully verified to meet the threshold number by writing the communications address and the user-signed secret message to a new block of blockchain that comprises the decentralized database, wherein a copy of the blockchain is stored on two or more separate computing devices of a peer-to-peer network.

18. The system of claim 10 , wherein the processor is further configured to read requests for verification from a predetermined number of previous blocks of a blockchain that comprises the decentralized database.

19. A computer-implemented method performed on a data processing apparatus comprising:

sending, by a validator computing device to a communications address from a request for verification entry in a verification queue of a database, a signed secret message;

receiving, by the validator computing device, a second request for verification comprising the communications address and a user-signed secret message;

verifying, by the validator computing device, the user-signed secret message using a public key from the request for verification entry in the verification queue; and

writing, by the validator computing device, the communications address and public key to a verified database of the database.

20. The computer-implemented of claim 19 , wherein the verified database of the database comprises a plurality of communications address/public key pairs and is publicly searchable.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2021
From: REINSBERG, RENE; KAMVAR, SEPANDAR; OLSZEWSKI, MAREK
To: CELO FOUNDATION
Reel/Frame 056671/0402 →
Continuity (2)
Provisional Application 62597052 · Dec 11, 2017
Related Publication 20190179806A1 · Jun 13, 2019