IP Library › Granted Patent US 12,367,483
Granted Patent B1
US 12,367,483 · App. 17/897,984 · Granted Jul 22, 2025

Decentralized authorization

Inventors: Braden River Pezeshki (Reno, NV); Matthew Everett Gould (Reno, NV)
Assignee: Unstoppable Domains Inc.
G06Q20/3674G06Q20/3825G06Q20/3829G06Q20/389G06Q20/4014G06Q20/4015G06Q2220/00
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 12,367,483
App. No.
17/897,984
Granted
Jul 22, 2025
Kind
B1
Abstract

An identifier of a blockchain token associated with an authorized user of the blockchain token requesting to log in to access a service is received. Based on the blockchain token, an authorization server that verifies a signature associated with the authorized user of the blockchain token is contacted. An authorization from the authorization server that verified the signature is received. Based on the received authorization, the authorized user of the blockchain token is allowed to log in to the service.

Claims (40)

1. A method, comprising:

receiving a non-fungible token domain name identifier associated with an authorized user requesting to log in to access a service;

resolving the non-fungible token domain name identifier including by using the non-fungible token domain name identifier to find on a blockchain registry a cryptographic address associated with a blockchain token mapped to the non-fungible token domain name identifier;

based on the cryptographic address of the blockchain token, resolving an authorization server using one or more dynamically updateable blockchain-stored resource records that specify the authorization server and a cryptographic key associated with a cryptographically generated signature associated with the authorized user of the blockchain token;

contacting the authorization server that verifies the signature associated with the authorized user of the blockchain token;

receiving an authorization from the authorization server that verified the signature; and

based on the received authorization, allowing the authorized user of the blockchain token to log in to the service.

2. The method of claim 1 , wherein receiving the authorization includes receiving an authorization token.

3. The method of claim 2 , wherein the service accesses a digital resource of the authorized user of the blockchain token using the authorization token.

4. The method of claim 3 , wherein the digital resource is an email address, an account balance, a history of user activity, an account profile, a user social media account, or user reputation metrics.

5. The method of claim 1 , wherein a record of the one or more blockchain-stored resource records associated with the non-fungible token domain name identifier specifies a network address of the authorization server.

6. The method of claim 1 , wherein the blockchain token is associated with an authentication record of the one or more blockchain-stored resource records identifying one or more public cryptographic keys.

7. The method of claim 6 , wherein the authentication record is updated to add a new public cryptographic key to be used to verify a new authorized signature for the non-fungible token domain name identifier of the blockchain token.

8. The method of claim 1 , wherein a cryptographic wallet is utilized to create the signature associated with the authorized user of the blockchain token.

9. The method of claim 1 , wherein contacting the authorization server includes providing a request that specifies a digital resource of the authorized user of the blockchain token.

10. The method of claim 9 , wherein the request includes one or more access conditions or one or more access types associated with the digital resource.

11. A system, comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory is configured to provide the one or more processors with instructions which when executed cause the one or more processors to:

receive a non-fungible token domain name identifier associated with an authorized user requesting to log in to access a service;

resolve the non-fungible token domain name identifier including by being configured to use the non-fungible token domain name identifier to find on a blockchain registry a cryptographic address associated with a blockchain token mapped to the non-fungible token domain name identifier;

based on the cryptographic address of the blockchain token, resolve an authorization server using one or more dynamically updateable blockchain-stored resource records that specify the authorization server and a cryptographic key associated with a cryptographically generated signature associated with the authorized user of the blockchain token;

contact the authorization server that verifies the signature associated with the authorized user of the blockchain token;

receive an authorization from the authorization server that verified the signature; and

based on the received authorization, allow the authorized user of the blockchain token to log in to the service.

12. The system of claim 11 , wherein receiving the authorization includes receiving an authorization token.

13. The system of claim 12 , wherein the service accesses a digital resource of the authorized user of the blockchain token using the authorization token.

14. The system of claim 13 , wherein the digital resource is an email address, an account balance, a history of user activity, an account profile, a user social media account, or user reputation metrics.

15. The system of claim 11 , wherein a record of the one or more blockchain-stored resource records associated with the non-fungible token domain name identifier specifies a network address of the authorization server.

16. The system of claim 11 , wherein the blockchain token is associated with an authentication record of the one or more blockchain-stored resource records identifying one or more public cryptographic keys.

17. The system of claim 16 , wherein the authentication record is updated to add a new public cryptographic key to be used to verify a new authorized signature for the non-fungible token domain name identifier of the blockchain token.

18. The system of claim 11 , wherein a cryptographic wallet is utilized to create the signature associated with the authorized user of the blockchain token.

19. The system of claim 11 , wherein contacting the authorization server includes providing a request that specifies a digital resource of the authorized user of the blockchain token.

20. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a non-fungible token domain name identifier associated with an authorized user requesting to log in to access a service;

resolving the non-fungible token domain name identifier including by using the non-fungible token domain name identifier to find on a blockchain registry a cryptographic address associated with a blockchain token mapped to the non-fungible token domain name identifier;

based on the cryptographic address of the blockchain token, resolving an authorization server using one or more dynamically updateable blockchain-stored resource records that specify the authorization server and a cryptographic key associated with a cryptographically generated signature associated with the authorized user of the blockchain token;

contacting the authorization server that verifies the signature associated with the authorized user of the blockchain token;

receiving an authorization from the authorization server that verified the signature; and

based on the received authorization, allowing the authorized user of the blockchain token to log in to the service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2024
From: PEZESHKI, BRADEN RIVER; GOULD, MATTHEW EVERETT
To: UNSTOPPABLE DOMAINS INC.
Reel/Frame 066395/0715 →
Continuity (1)
Provisional Application 63238588 · Aug 30, 2021
References Cited (18)
US 11012437B2 · Yoakum · 2021 [cited by examiner]
US 11314891B2 · Hennebert · 2022 [cited by examiner]
US 20050165684A1 · Jensen · 2005 [cited by examiner]
US 20140215587A1 · Burch · 2014 [cited by examiner]
US 20140237564A1 · Dudziak · 2014 [cited by examiner]
US 20190243861A1 · Jheeta · 2019 [cited by examiner]
US 20190294817A1 · Hennebert · 2019 [cited by examiner]
US 20210385085A1 · Wang · 2021 [cited by examiner]
US 20210391992A1 · Schiffman · 2021 [cited by examiner]
US 20230034169A1 · Ferenczi · 2023 [cited by examiner]
US 20230042508A1 · Agarwal · 2023 [cited by examiner]
US 20230316263A1 · Eby · 2023 [cited by examiner]
WO WO2021178900A1 · 2021 [cited by examiner]
N. Sakimura; Final_ OpenID Connect Core 1.0 incorporating errata set 1. (Year: 2014). [cited by examiner]
Author Unkown, “What is WebFinger?”, obtained from <https://web.archive.org/web/20210812050711/https://webfinger.net/> on Aug. 29, 2022; published Aug. 12, 2021. [cited by applicant]
Jones et al., “WebFinger”, obtained from <https://datatracker.ietf.org/doc/html/rfc7033> on Aug. 29, 2022; published Sep. 2013. [cited by applicant]
Sakimura et al., “OpenID Connect Core 1.0 incorporating errata set 1”, obtained from <https://openid.net/specs/openid-connect-core-1_0.html> on Aug. 29, 2022; published Nov. 8, 2014. [cited by applicant]
Sakimura et al., “OpenID Connect Discovery 1.0 incorporating errata set 1”, obtained from <https://openid.net/specs/openid-connect-discovery-1_0.html> on Aug. 9, 2022; published Nov. 8, 2014. [cited by applicant]
Cited By (2)
US 12,712,753 US 12,737,752