Decentralized messaging inbox
View Patent ↗Disclosed are various embodiments for implementing a decentralized messaging system that allows users to exchange messages via an inbox maintained through a distributed ledger. A messaging inbox can be created for a user in a distributed ledger using an inbox address that includes a string of alphanumeric numbers without an identifying domain name or identifying information about the user. Furthermore, a user may define content preferences associated with the inbox that can be used by the distributed ledger to filter content received in the inbox to minimize unwanted or undesired content provided to the user.
1 . A system, comprising:
a computing device comprising a processor and a memory; and
machine-readable instructions stored in the memory that, when executed by the processor, cause the computing device to at least:
receive a request to generate a first messaging inbox for a user in a distributed ledger based at least in part on a plurality of user-defined preferences;
generate an inbox address and a corresponding key-pair for the first messaging inbox; and
cause the first messaging inbox to be registered and a public key of the corresponding key-pair to be stored in the distributed ledger based at least in part on the inbox address and in a different location on the distributed ledger from a second messaging inbox for the user with a plurality of distinct user-defined preferences from the first messaging inbox.
2 . The system of claim 1 , wherein the inbox address comprises a string of alphanumeric characters that represents a destination in the distributed ledger, the string of alphanumeric characters lacking a domain name.
3 . The system of claim 1 , wherein the machine-readable instructions further cause the computing device to at least obtain at least one user preference to associate with the first messaging inbox.
4 . The system of claim 3 , wherein one or more messages sent to the first messaging inbox are filtered according to the at least one user preference.
5 . The system of claim 1 , wherein the machine-readable instructions further cause the computing device to send a request to the distributed ledger to determine whether a message associated with the inbox address is stored in the distributed ledger.
6 . The system of claim 1 , wherein the machine-readable instructions further cause the computing device to at least obtain a message that is stored in the distributed ledger according to the inbox address.
7 . The system of claim 6 , wherein the machine-readable instructions further cause the computing device to at least decrypt the message using a private key of the corresponding key-pair associated with the inbox address.
8 . The system of claim 6 , wherein the machine-readable instructions further cause the computing device to at least render the message on a display of the computing device.
9 . A method, comprising:
receiving a request from a messaging application to create a first messaging inbox for a user based at least in part on a plurality of user-defined preferences;
generating an inbox address for the first messaging inbox, the inbox address representing a destination in a distributed ledger; and
causing the first messaging inbox to be registered on the distributed ledger based at least in part on the inbox address and in a different location on the distributed ledger from a second messaging inbox for the user with a plurality of distinct user-defined preferences from the first messaging inbox.
10 . The method of claim 9 , wherein the inbox address comprises a string of alphanumeric characters that represents the destination in the distributed ledger, the string of alphanumeric characters lacking a domain name.
11 . The method of claim 9 , further comprising generating a cryptographic key-pair for the first messaging inbox, the cryptographic key-pair comprising a private key and a public key, the public key being stored in the distributed ledger based at least in part on the inbox address.
12 . The method of claim 11 , further comprising encrypting the private key and storing the private key in a data store.
13 . The method of claim 9 , further comprising:
obtaining a message from the distributed ledger, the message being stored in the distributed ledger according to the inbox address.
14 . The method of claim 13 , decrypting the message using a private key of a cryptographic key pair associated with the first messaging inbox.
15 . A non-transitory, computer-readable medium, comprising machine-readable instructions that, when executed by a processor of a computing device, cause the computing device to at least:
generate an inbox address for a user and a corresponding key-pair for a first messaging inbox associated with the inbox address;
register the first messaging inbox on a distributed ledger based at least in part on the inbox address and in a different location on the distributed ledger from a second messaging inbox for the user with a plurality of distinct user-defined preferences from the first messaging inbox; and
obtain a message from the distributed ledger, the message being stored in the distributed ledger according to the inbox address.
16 . The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions, when executed by the processor, further cause the computing device to at least receive a request from a messaging application to generate the first messaging inbox in the distributed ledger.
17 . The non-transitory, computer-readable medium of claim 16 , wherein the request includes one or more user-defined attributes associated with the first messaging inbox.
18 . The non-transitory, computer-readable medium of claim 17 , wherein one or more messages sent to the first messaging inbox are filtered according to the one or more user-defined attributes.
19 . The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions, when executed by the processor, further cause the computing device to at least decrypt the message based at least in part on a private key of the corresponding key-pair.
20 . The non-transitory, computer-readable medium of claim 15 , wherein the inbox address lacks a domain name.