US11507929B2 — Digital fiat currency (Part 2 of 2)
Document text
Research, not advice. Part of the Bitcoin research archive (October 2026). Claims labelled unverified, contested or fringe are reported, not endorsed; statuses of bills and rules are as of the date checked. Government, court and patent records are public domain; the research notes are CC BY 4.0.
network
tifiers and / or the like and can be used in a variety of and channel ( e.g. channel admins, readers, writers , etc. ). In
transactions, such as but not limited to eCommerce trans- addition , the transaction processing network 106 can allow
actions , social network transactions, money transfer/per- for revoking permissions and /or identifying a list of entities
sonal payments, mobile commerce transactions, proximity 45 that have had permissions revoked .
payments, gaming, and / or the like for retail purchases, In some embodiments, the transaction processing network
digital goods purchases, utility payments , purchasing games 106 acts as a certificate authority component for managing
or gaming credits from gaming websites , transferring funds the network identities of parties such as the central entity
between users , and / or the like . A digital wallet may be 102 , validating entities 110A - 110C , and users 108. For
designed to streamline the purchase and payment process . A 50 example, the validating entities 110A - 110C are banks (orga
digital wallet may allow the user to load one or more nizations ), each of which may have particular permissions.
payment cards onto the digital wallet so as to make a The central entity 104 may have a different set of permis
payment without having to enter an account number or sions , and users 108 may have another set of permissions.
present a physical card. The requirement for a permissioned identity for every entity
A “ hash ” or “ hash value ” is a value (generally of fixed 55 enables control over network activity, and guarantees that
size) generated from data of arbitrary size (e.g. , a string of every transaction is ultimately traceable to a registered
text) . A hash may be , for example , a numerical or string entity. The transaction processing network 106 may issue a
value . The hash may be significantly smaller than the data root certificate to each member ( organization or individual)
itself. A hash may be generated by a “ hash function ” such that is authorized to join the network . This certificate - based
that it is extremely unlikely that some other data will 60 control over network membership and actions enables mem
produce the same hash value , and it is extremely difficult to bers to restrict access to private and confidential channels,
reconstruct the data based on the hash value . applications , and data, by specific user identities .
A “ processor ” may include any suitable data computation The transaction processing network 106 may act as the
device or devices . A processor may comprise one or more trusted architect of the private permissioned distributed
microprocessors working together to accomplish a desired 65 ledger technology. The transaction processing network may
function . The processor may include CPU comprises at least act as a smart contract deployer. A smart contract may
one high - speed data processor adequate to execute program control the execution of a transaction digitally by recording
US 11,507,929 B2
7 8
the terms of the transaction on the blockchain . Smart con- agent of the central entity 104 to destroy physical currency
tracts may function as a trusted distributed application that which has been converted to digital currency .
gains its security / trust from the blockchain and the under- The users 108 may be entities, such as individuals, that
lying consensus among peers . A smart contract may include hold digital currency at a particular time . Each user 108 may
data which is signed and has consensus associated with 5 have a corresponding user device (e.g. , user device 108A
validation among nodes in the blockchain . This prevents the and user device 108B on which a digital wallet is stored . A
smart contract from being repudiated . digital wallet may store keys 114A and 1146 used to sign and
In some embodiments, The transaction processing net- validate transactions assigning the digital currency to a
work 106 may act as a Membership Service Provider ( MSP) . particular digital wallet of a user. Embodiments may use a
As MSP, transaction processing network 106 can manage 10 contactless chip (by tapping card on mobile phone) or secure
permissions on the blockchain 112. Different entities may, at element to store the private key used by users in order to sign
a given time , have rights to create, transfer, and / or validate the transactions on the blockchain . A public /private key pair
transactions on the blockchain 112 corresponding to digital may be assigned to a digital wallet associated with a user.
fiat currency Such a keys may be referred to as keys of the corresponding
In some embodiments, the central entity 104 is an entity, 15 user .
such as a central bank , that is responsible for the production FIG . 2 illustrates a block diagram of a central entity
and distribution of money and credit in a region ( e.g. , a computer 200 , according to various embodiments. Central
9
nation ). Central entities 104 may have exclusive permission entity computer 200 includes a network interface 202 ,
to transform physical currency into digital currency in order processor 204 , memory 206 , and computer - readable
to regulate the value of the digital currency. The central 20 medium 208 .
entity 104 may be aa node of the blockchain network which The processor 204 may be implemented as one or more
may include the blockchain 112. The central entity 104 may integrated circuits (e.g. , one or more single core or multicore
control when , and how much , digital curr cy is generated . microprocessors and /or microcontrollers ). The processor
The central entity 104 may further manage the destruction of 204 may be used to control the operation of the central entity
units of physical currency in connection with the generation 25 computer 200. The processor 204 can execute a variety of
of corresponding units of digital fiat currency. For example , programs in response to program code or computer - readable
every time a dollar worth of digital fiat currency is gener- code stored in memory 206. The processor 204 may include
ated, the central entity 104 ensures that a corresponding functionality to maintain multiple concurrently executing
physical dollar bill is removed from circulation , in order to programs or processes .
regulate the value of the digital fiat currency. Such func- 30 The network interface 202 may be configured to connect
tionality may be performed by a central entity computer 200 , to one or more communication networks to allow the central
as further described below with respect to FIG . 2 . entity computer 200 to communicate with other entities such
In some embodiments, the central entity 104 may be a as the redeeming entity 102 , users 108 , etc. For example ,
node on the blockchain network . The central entity 104 may communication with the redeeming entity 102 can be direct,
have an account on the blockchain 112 , and digital currency 35 indirect , and / or via an application programming interface
may be assigned to the account of the central entity 104. The ( API).
central entity 104 may maintain certificates and / or crypto- The memory 206 may be implemented using any com
graphic keys for managing entries on the blockchain . Spe- bination of any number of non - volatile memories (e.g. , flash
cifically, the central entity 104 may store a public and private memory ) and volatile memories (e.g. , DRAM , SRAM ), or
key to generate and permit validation of signatures convey- 40 any other non - transitory storage medium , or a combination
ing ownership of digital currency transformed from retired of media .
bank notes. The computer - readable medium 208 may comprise one or
The validating entities ( e.g. , validating entity A 110A , more non -transitory media for storage and / or transmission .
validating entity B 110B , and validating entity C 110C ) , are Suitable media include, as examples, a random access
blockchain nodes , which may be peers such as banks. The 45 memory (RAM ), a read only memory (ROM) , a magnetic
validating entities 110A - 110C may include functionality to medium such as a hard - drive or a floppy disk , or an optical
validate transactions. The validating entities 110A - 110C medium such as a compact disk ( CD ) or DVD ( digital
may receive submitted transactions 116 , and, upon validat- versatile disk) , flash memory, and the like. The computer
ing the submitted transactions 116 , record validated trans- readable medium 208 may be any combination of such
actions 118 to the blockchain 112. The validating entities 50 storage or transmission devices .
may further include functionality to validate and record The computer -readable medium 208 may comprise soft
transactions, both related to digital currency and physical ware code stored as a series of instructions or commands.
currency. The validating entities 110A - 110C may reach The computer -readable medium 208 comprises code ,
consensus with one another to finalize a transaction, as executable by the processor 204 , to implement a method
described in further detail below. 55 comprising receiving, by a central entity computer, a
The redeeming entity 102 may accept physical currency request for digital currency , the request comprising a serial
for exchange for digital fiat currency. The redeeming entity number and a denomination of a physical currency ; gener
102 may be an Automated Teller Machine (ATM ) and / or a ating , by the central entity computer, the digital currency for
bank location. For example, a user may provide physical the denomination and linked to the serial number, wherein
currency to an ATM or to a teller at a bank window. The 60 the generating comprises recording the digital currency on a
redeeming entity 102 may transmit information character- blockchain; transmitting, by the central entity computer, a
izing the physical currency to the central entity 104 and / or notification of the generation of the digital currency ; and
other nodes of the blockchain . The redeeming entity 102 causing, by the central entity computer, removal of the
may further safeguard and transport the physical currency to physical currency from circulation in a fiat currency system .
an appropriate party to remove physical currency from 65 The computer - readable medium 208 may include a com
circulation . For example , the redeeming entity 102 may munication module 210 , a digital currency generation mod
transmit physical currency to the central entity 104 or an ule 212 , a regulation module 214 , and a validation module
US 11,507,929 B2
9 10
216. Each of these modules may include code configured to destroy the physical currency. The central entity 302 may ,
perform the functions described below in conjunction with for example, shred or incinerate the physical currency.
the processor 204 . Alternatively , or additionally, the central entity 302 may
The communication module 210 may comprise code that cause another entity , such as an agent of the central entity
causes the processor 204 to generate messages , forward 5 302 (e.g. , a shredding company) to destroy the physical
messages , reformat messages , and / or otherwise communi currency at the direction of the central entity 302 ( e.g. ,
cate with other entities. transmit a message to the agent of the central entity 302
The digital currency generation module 212 may com requesting destruction of the physical currency ). Alterna
prise code that causes the processor 204 to generate digital tively, or additionally
currency . The digital currency generation module 212 may 10 physical currency from, the central entity may remove the
circulation by storing the physical
include code configured to , in cooperation with the proces currency in a secure location .
sor 204 , construct deploy transactions and submit deploy In some embodiments , one or more blockchain nodes may
transactions to a blockchain , resulting in the generation of further record an action relating to the removal of the
digital currency .
The regulation module 214 may comprise code that 15 rency physicalsystem
currency with the denomination from the fiat cur
from the blockchain . A blockchain node may
causes the processor 204 to regulate an amount of currency
in circulation . The regulation module 214 may, in coopera store a record indicating that a particular unit of physical
tion with the processor 204 , evaluate an amount of digital currency has been removed from circulation . For example,
and / or physical currency in circulation . The regulation mod- prior to destroying the physical currency, the central entity
ule 214 may, in cooperation with the processor 204 , deter- 20 302 may record information about the physical currency
mine that digital and / or physical currency should be including a denomination ( e.g. , $ 1 , $ 5 , $ 20 , etc.) of the
removed from circulation . In the context of digital currency, physical currency , a serial number of the physical currency ,
the regulation module 214 , in cooperation with the processor a location , and /or the like .
204 , may determine that a particular digital currency unit At S330 , the central entity 302 deploys a smart contract
should be added to or removed from the blockchain . In the 25 on the blockchain . The smart contract includes the serial
context of physical currency, the regulation module 214 number and the denomination of the revoked physical
may, in cooperation with the processor 204 , determine that currency. A smart contract may refer to a computer protocol
physical currency should be removed from circulation, and intended to digitally facilitate, verify, and / or enforce the
cause the removal from circulation of the physical currency . negotiation or performance of a contract . Smart contracts
The regulation module 214 may , for example, direct another 30 may allow the performance of credible transactions without
entity to shred, burn , or store the physical currency. third parties. The smart contract may be in the form of
The validation module 216 may comprise code that chaincode on the blockchain 306 .
causes the processor 204 validate transactions on the At S340 , the central entity 302 transforms the value of the
blockchain . The validation module 216 may include code physical currency to digital currency on the blockchain 306 .
configured to , in cooperation with the processor 204 , vali- 35 The central entity 302 may generate the digital currency on
date digital signatures using public keys of signing entities . the blockchain 306 by generating a record on the blockchain
The digital currency generation module 212 may include 306. In some embodiments, generating the digital currency
code configured to , in cooperation with the processor 204 , may involve use of a certificate to validate permission to
reach consensus with other nodes on the blockchain . The generate new currency. Alternatively , or additionally, gen
consensus mechanism may vary depending on the protocol 40 erating the digital currency may involve solving a math
implemented. Some example consensus mechanisms, ematical problem with a cryptographic hash function .
described further below, are proof of stake , Byzantine fault At S350 , the blockchain 306 makes the digital fiat cur
tolerant algorithms, and crash - fault tolerant algorithms. rency available at the central entity's blockchain account
FIG . 3 illustrates aa flowchart illustrating an example of a 304. The digital fiat currency may be recorded to the
method 300 for transforming physical currency into digital 45 blockchain 306 in association with an identifier of the
fiat currency, according to various embodiments. The central entity's blockchain account 304 , such as the public
method 300 may be performed by a central entity 302 key of the central entity, which can be recorded to the
( which may be substantially similar to the central entity 104 transaction data in the blockchain to indicate that the digital
of FIG . 1 ) , via a blockchain 306 (which may be substantially fiat currency has been assigned to the central entity 302 .
similar to the blockchain 112 of FIG . 1 ) . Method 300 may 50 In some embodiments, the stored serial number may be
be performed, for example, when physical currency held by used to prevent use of counterfeited physical currency. After
the central entity 302 is unusable . A physical bill may replacing a physical currency with a digital currency ( e.g. ,
become torn or otherwise worn out , and the central entity based on a first request ), the central entity computer may
302 may retire the physical currency. As another example, receive a second request for digital currency . The second
method 300 may be performed when a bank redeems a 55 request includes a serial number and a denomination of a
physical currency for digital currency. second physical currency. The second physical currency is a
At S310 , the central entity 302 receives physical currency. counterfeit of the physical currency earlier destroyed : the
The central entity 302 may receive physical currency (in serial number and the denomination of the second physical
unusable or usable form ) from a bank . The central entity currency are the same as the serial number and the denomi
may determine that the physical currency should be con- 60 nation of the first physical currency. The central entity
verted to digital currency. For example, the central entity computer determines that the digital currency corresponding
302 may inspect the physical currency and determine that to the serial number and denomination is already recorded
the physical currency is unusable. As another example , the on the blockchain . For example, the central entity computer
central entity 302 may receive a request from aa local bank may query the blockchain and /or aa world state database (as
to convert the physical currency to digital currency . 65 described below with respect to FIG . 7A ) to check whether
At S320 , the central entity 302 removes the physical a particular serial number has already been used in a
currency from circulation . The central entity 302 may generated digital currency. Based on determining that the
US 11,507,929 B2
11 12
serial number has already been used , the central entity physical currency is on the blockchain . The central entity
computer refrains from generating a second digital currency 404 may transmit a notification to the redeeming entity 403 .
based on the second request. The notification may include information such as the trans
Similarly, by recording the serial number of the physical action amount, serial number, originating address, and des
currency removed from circulation , use of counterfeited 5 tination address.
notes can be prevented. For example , if a bank note , At S460 , the redeeming entity 403 destroys the physical
supposed to be destroyed, reappears at a later transaction , currency. Alternatively, upon receiving this confirmation ,
then the central entity may check the blockchain in order to the redeeming entity 403 may send the physical currency to
identify the name of the bank that initially requested the
bank note to be destroyed based on the denomination and 10 the central entity 404 , or an agent of the central entity 404 ,
to destroy the physical currency . In some embodiments , the
serial number. redeeming entity 403 may store physical currency ear
FIG . 4 illustrates a flowchart illustrating an example of a
method 400 for user a exchanging physical currency for marked for destruction prior to destroying or sending out for
destruction in batches . In some embodiments , the physical
digital fiat currency , according to various embodiments . The
method 400 may be performed by a central entity 404 15 currency may be removed from circulation without destroy
(which may be substantially similar to the central entity 104 ingAtit (S470 e.g. , by locking it away in a vault) .
, the central entity blockchain account 405
of FIG . 1 ) , a redeeming entity 403 (which may be substan
tially similar to the redeeming entity 102 of FIG . 1 ) , and a records a transfer to the user 401 to the blockchain . The
user 401 (which may be substantially similar to user 108 of transfer transaction may be recorded to the blockchain ,
FIG . 1 ) with a corresponding blockchain account 402 , via a 20 including such information as the address of the digital
blockchain 406 (which may be substantially similar to the wallet of the user 401 , the public key of the digital wallet of
blockchain 112 of FIG . 1 ) . the user 401 , the transfer amount, and /or a signature gener
At S410 , the user 401 provides physical currency ( e.g. , ated using the private key of the central entity 404 .
one or more cash notes ) to redeeming entity 403 ( e.g. , an At S480 , the digital currency is associated with the user's
ATM or bank location ). As an example, user 401 may go to 25 account. Data may be stored to the user 401 blockchain
an ATM and insert a $ 100 bill . The user 401 may then account 402 , indicating that the digital currency is now held
interact with a button selecting an option to redeem the by the user 401. Such information may include transaction
physical currency for digital fiat currency. As another amount, transaction identifier, and the serial number. Thus,
example, the user 401 may go into the bank , hand a teller a the method may include associating the digital currency with
$ 100 bill , and verbally indicate to the teller that she wishes 30 a digital wallet using a private key stored to the digital
to redeem the $ 100 bill for digital fiat currency . wallet . This may ensure that the digital currency is securely
At S420 , the redeeming entity 403 transmits, to the central stored in the wallet , and only can be transferred by the user
entity 404 , a request transform the physical currency to 401 holding the private key.
digital fiat currency. The request may include a denomina- At S490 , the digital currency is recorded to the account of
tion of the physical currency (e.g. , $ 100) and a serial number 35 the user 401 in the mobile wallet of the user 401. A mobile
of the physical currency ( e.g. , a serial number of a particular wallet , stored on a user device, may track an amount of
bill ) . The redeeming entity 403 may, for example, transmit digital currency associated with the mobile wallet. The
the request by an electronic message over a network , and / or mobile wallet may increment the amount previously stored,
via a push to an Application Programming Interface (API ) so that the user 401 can have an accurate view of her current
exposed by the central entity 404 . 40 digital fiat currency holdings . In some embodiments, the
At S430 , the central entity 404 deploys a smart contract digital currency is transformed into value on the entity's
on the blockchain including the serial number and the mobile wallet secured with entity's private key.
denomination of the physical currency. The central entity Once issued , an entity such as a user or bank may transfer
404 may deploy the smart contract on the blockchain in a the digital currency from wallet to wallet or store the digital
similar fashion as described above with respect to S330 of 45 currency on a smart card and transfer the smart card to
FIG . 3. The smart contract may include a serial number of another entity. In some embodiments, the entity may be able
the physical currency . The serial number may be aa combi- to divide the digital currency up to smallest components
nation of letters and numbers printed on the physical cur- (e.g. similar to US penny ). Each smaller amount may be
rency and used for counterfeit prevention. By including the associated with a private key and the entity's mobile wallet
serial number in the digital currency record , similar func- 50 may store the private keys. The entity may transfer smaller
tions can be provided for the digital currency . The smart amounts than the initial digital currency obtained by
contract may include a denomination of the physical cur- exchanging the cash banknotes to other entities. A first entity
rency (e.g. $ 1 , $ 100 , etc. , as denoted on the face of the may transfer value to a second entity by simply sharing the
physical currency redeemed at S410 ) . private key associated with that value / amount with the
At S440 , the central entity 404 transforms the value of the 55 second entity.
banknotes to digital fiat currency on the blockchain . The FIG . 5 illustrates example components 500 for managing
smart contract may be finalized to digital currency held in permissions on the blockchain , according to various
the central entity blockchain account 405 once a set of embodiments . As described above with respect to FIG . 1 , the
validating entities ( not shown in FIG . 4 ; see validating transaction processing network 106 may act as a certificate
entities 110A- 110C of FIG . 1 ) have validated and recorded 60 authority and membership service provider to control per
the transaction on the blockchain . Transforming the value of missions to perform actions on the blockchain , which may
the banknotes to digital fiat currency on the blockchain may be implemented using a certificate scheme as described with
further include recording the address of the central entity respect to FIG . 5. The MSP 502 may be the transaction
blockchain account on the blockchain record of the trans- processing network 106. Alternatively, or additionally, local
action . 65 MSPs 502 may be assigned within organizations such as
At S450 , the central entity 404 notifies the redeeming banks to control permissions of members of the organiza
entity 403 that the digital fiat currency corresponding to the tion .
US 11,507,929 B2
13 14
The MSP 502 may identify specific roles an entity can as identified by the Root CA and Intermediate CA folders ,
play in the digital fiat currency infrastructure . For example may be considered members of the organization .
(with reference to the entities shown in FIG . 1 ) , the central The administrators folder 510 may contain a list of
entity 104 may be granted sole permission to create or identities that define the actors who have the role of admin
destroy digital currency. The users 108 may be granted 5 istrators for an organization . For the standard MSP 502 type ,
permission to transfer digital currency to one another. The there should be one or more certificates (e.g. X.509 certifi
validating entities 110A - 110C may be granted permission to cates ) in the list . However, an actor with the role of an
validate and record transactions to the blockchain . Based on administrator may not necessarily administer particular
such permissions, the MSP 502 sets the basis for defining resources. The actual power a given identity has with respect
access privileges. Such access privileges may be in the 10 to administering the system may be determined by the
context of a network and channel ( e.g. channel admins, policies that manage system resources . For example, a
readers, writers, etc. ) . In addition , the MSP 502 may allow channel policy might specify that ORG1-MANUFACTUR
for the identification of a list of identities that have been ING administrators have the rights to add new organizations
revoked . The MSP 502 may manage a plurality of folders for to the channel, whereas the ORG1 - DISTRIBUTION admin
storing certificates and keys to control permissions on the 15 istrators have no such rights. Even though a certificate has
blockchain, as discussed below . a ROLE attribute ( specifying, for example, that an actor is
The MSP 502 may manage the network identities of all an admin ), this refers to the actor's role within the organi
member organizations ( e.g. , a particular bank ) and their zation rather than on the blockchain network . This is similar
users ( e.g. , a particular sector or employee of the bank ). The to the purpose of the organizational unit attribute, which — if
MSP 502 may establish permissioned identity for every user 20 it has been defined refers to an actor's place in the orga
to enable Access Control List ( ACL )-based control over nization . The ROLE attribute may be used to confer admin
network activity. This can be used to guarantee that every istrative rights at the channel level if the policy for that
transaction is ultimately traceable to a registered user . channel has been written to allow any administrator from an
The Root CAs folder 504 may contain a list of self - signed organization ( or certain organizations) permission to per
certificates (e.g. X.509 certificates) of entities trusted by the 25 form certain channel functions ( such as instantiating chain
MSP 502. The MSP 502 may issue a root certificate (root- code ) . Accordingly , an organizational role may confer a
Cert) to each member ( organization or individual) that is network role .
authorized to join the network . In some embodiments , there The Revoked Certificates folder 512 may include identi
must be at least one Root CA certificate in the MSP folder. fying information about the identity of an actor that has been
The Root CAs folder 504 may be the most important folder 30 revoked . The MSP 502 may refrain from storing the identity
because it identifies the CAs from which all other certificates of the actor itself. For certificate -based identities, these
must be derived to be considered members of the corre- identifiers are pairs of strings known as Subject Key Iden
sponding organization . tifier ( SKI ) and Authority Access Identifier ( AKI), and are
MSP 502 may also issue an enrollment certificate ( eCert) checked whenever the certificate is being used to make sure
to each member component, server -side applications, and 35 the certificate has not been revoked . This list may be the
occasionally users . Each enrolled user may also be granted same as a CA's Certificate Revocation List (CRL ) , but it
an allocation of transaction certificates ( tCert ). Each tCert may also relate to revocation of membership from the
authorizes one network transaction . The Certificate Author- organization. As a result, the administrator of an MSP, local
ity (CA) issues the certificates for organizations to authen- or channel, may quickly revoke an actor or node from an
ticate to the network . 40 organization by advertising the updated CRL of the CA. This
The intermediate CAs folder 506 may contain a list of " list of lists ” may be optional and may only become popu
certificates ( e.g. X.509 certificates) of the Intermediate CAS lated as certificates are revoked .
trusted by the organization. According to various embodi- The signing certificates folder 514 may contain the iden
ments, each certificate must be signed by one of the Root tity of the node, i.e. , cryptographic material that, in combi
CAs in the MSP or by an Intermediate CA whose issuing CA 45 nation to the content of KeyStore , may allow the node to
chain ultimately leads back to a trusted Root CA. An authenticate itself in the messages that is sends to other
intermediate CA may represent a different subdivision of the participants of its channels and network . For certificate
organization ( like ORG1 -MANUFACTURING and ORG1- based identities, the folder contains the certificate ( e.g. an
DISTRIBUTION do for ORG1 ) , or the organization itself X.509 certificate ). This is the certificate a peer places in a
( as may be the case if a commercial CA is leveraged for the 50 transaction proposal response , for example, to indicate that
organization's identity management ). In the latter case , the peer has endorsed it — which may subsequently be
intermediate CAs may be used to represent organization checked against the resulting transaction's endorsement
subdivisions. According to some embodiments, a function- policy at validation time .
ing network may not have an Intermediate CA , in which The keystore folder 516 may store cryptographic keys. In
case this folder may be empty. Like the Root CA folder, 55 some embodiments , the keystore folder stores private keys .
intermediate CA folder defines the CAs from which certifi- The keystore folder may be defined for the local MSP of aa
cates must be issued to be considered members of the peer or orderer node ( or in an client's local MSP) , and
organization . contains the node's signing key. This key matches crypto
Organizational Units ( OUS ) 508 may be listed in a file graphically the node's identity included in Node Identity
( e.g. , a $ FABRIC_CFG_PATH /msp /config.yaml file ) and 60 folder and is used to sign data — for example, to sign a
may include members considered to be part of the organi- transaction proposal response . This folder may be manda
zation represented by the MSP . The list of organizational tory for local MSPs , and must contain exactly one private
units 508 may allow a CA to restrict the members of an key. Access to this folder may be limited only to the
organization to the ones holding an identity (e.g. signed by identities of users who have administrative responsibility on
one of the MSP -designated CAs ) with a specific OU 508 in 65 the peer. Configuration of a channel MSPs may not include
it . According to various embodiments, specifying OUs 508 this folder, as channel MSPs solely aim to offer identity
may be optional . If no OUs 508 are listed , all the identities, validation functionalities and not signing abilities .
US 11,507,929 B2
15 16
The Transport Layer Security (TLS ) Root CA folder 518 At S624 , the transaction processing network 602 submits
may contain a list of self - signed certificates ( e.g. , X.509 the deploy transaction to the blockchain . The transaction
certificates) of the Root CAs trusted by this organization for processing network 602 may store transaction data to the
TLS communications. An example of a TLS communication blockchain , which may include information specifying that
may be when a peer needs to connect to another node ( such 5 the central entity has administration rights, based on vali
as an orderer in the Hyperledger embodiment) so that it may dating the tCert at S620 .
receive ledger updates. MSP TLS information relates to the At S626 , the central entity 604 becomes the administrator
nodes inside the network — the peers and the orderers, in of the chaincode . Based on the deployed transaction infor
other words, rather than the applications and administrations 10 mation , which may include the tCert, CBCert, and other
that consume the network . In some embodiments, there must metadata , the central entity 604 may assume administration
be at least one TLS Root CAX.509 certificate in this folder . rights to validate certificates for other entities, such as user
The TLS Intermediate CA folder 520 may contain a list Alice 606 .
intermediate CA certificates CAs trusted by the organization At S628 , the central entity 604 may obtain a tCert of the
represented by this MSP for TLS communications. This 15 first user, Alice 606 ( “ AliceCert” ). The central entity 604
folder is specifically useful when commercial CAs are used may obtain the AliceCert via an out -of -band channel. For
for TLS certificates of an organization . Similar to member- example , Alice 606 may initiate a transfer of digital fiat
ship intermediate CAs , specifying intermediate TLS CAS currency. Alice 606 may, via a user device , transmit infor
may be optional. mation to initiate the transfer ,including but not limited to the
This certificate - based control over network membership 20 user certificate AliceCert, Alice's public key, and /or an
and actions enables members to restrict access to private and address associated with a digital wallet held by Alice 606 .
confidential channels , applications, and data, by specific At S630 , the central entity 604 generates an invoke
user identities. According to various embodiments discussed transaction construct. The central entity 604 may generate
herein , the transaction processing network may provide the the invoke transaction construct using its certificate , CBCert,
container and the central entity may be the only stakeholder 25 to gain access , to invoke an assign function to assign the
allowed to provide the content. The content may then be digital currency to Alice 606. In some embodiments , the
transferred from one user account another. In other words , a assign function may pass the parameters (“ Digital Fiat
digital fiat currency asset may be owned by a particular user currency ", Base64 (DER (AliceCert ) ) ), indicating that digital
at a particular point in time . The different stakeholders may fiat currency is to be assigned to Alice 606 using her
be authenticated using their tCert. 30 certificate, AliceCert.
The chaincode used to manage the digital fiat currency At S632 , the central entity 604 may then submit the
infrastructure may initialize and manage ledger states transaction to the blockchain 610. The central entity 604
through transactions submitted by various applications. A may store transaction data to a block on the blockchain
chaincode may handle business logic agreed to by members which may include the public key and /or address of the
of the network and, as such , the chaincode may be consid- 35 central entity 604 (e.g. , in a “ from ” field ) and the public key
ered as a smart contract. The asset management application and / or address of Alice 606 ( e.g. , in a “ to ” field ). The
may bootstrap a non - validating peer and construct confiden- transaction data may further include an amount, a currency
tial transactions to deploy, invoke and query the asset type , a serial number, and certificate information ( e.g. ,
management chaincode. In particular, in a scenario a first CBCert, AliceCert, and /or tCert ).
entity (e.g. , Alice ) may be the chaincode deployer. A second 40 At S634 , Alice 606 becomes the owner of the digital fiat
entity (e.g. , Bob ) may be the chaincode administrator and an currency identified in the central entity's invoke transaction
asset owner. A third entity ( e.g. , Charlie ) may be an asset construct. One or more validating entities may validate the
owner. Alice may deploy and assign the administrator role to transaction on the blockchain , at which point Alice 606 may
Bob . Bob may assign the asset “ Picasso ” to Charlie , and be officially considered the new owner of the digital fiat
Charlie may transfer the ownership of Picasso to Dave . 45 currency.
FIG . 6 is flowchart illustrating an example method 600 for At S636 , Alice 606 may obtain a tCert of aa second user,
asset management using digital fiat currency when a first Bob ( “ BobCert ” ). Alice 606 may obtain BobCert in asso
entity sends a digital fiat currency asset to a second entity. ciation with initiating a transfer of digital currency from
The method 600 may be performed by a transaction pro- Alice 606 to Bob 608. For example, Bob 608 may , via a user
cessing network 602 (which may be substantially similar to 50 device, transmit information to Alice 606 to initiate the
the transaction processing network 106 of FIG . 1 ) , a central transfer, including but not limited to the user certificate
entity 604 ( which may be substantially similar to the central BobCert and an address or public key associated with a
entity 104 of FIG . 1 ) , and two users , Alice 606 and Bob 608 digital wallet held by Bob 608. In some embodiments , the
( which may be substantially similar to the users 108 of FIG . address is a modified form of the public key.
1 ) , via aa blockchain 610 (which may be substantially similar 55 At S638 , Alice 606 may construct an invoke transaction .
to the blockchain 112 of FIG . 1 ) . Alice 606 may construct the invoke transaction using
At S620 , the transaction processing network 602 obtains ,
2 AliceCert to invoke a transfer function . The transfer function
via an out -of-band channel, a transaction certificate (tCert) may pass as parameters (“ Digital Fiat currency ’, Base64
from the central entity 604 (“ CBCert " ) . The transaction (DER (BobCert ) ) ).
processing network 602 may assess and validate the tCert. 60 At S640 , Alice 606 may then submit the transaction to the
The transaction processing network 602 may determine that blockchain 610. Alice may transmit information to the
the central entity 604 has permission to initiate aa transaction blockchain such as the transaction amount and Bob's digital
on the blockchain 610 . wallet address. The information may further be signed using
At S622 , the transaction processing network 602 gener- Alice's private key, which may be retrieved from a secure
ates a deploy transaction construct . The deploy transaction 65 element of Alice's user device and / or a chip on a payment
construct may include the certificate from the CBCert, or the card of Alice . The information may further include Alice's
binary form thereof, as metadata . public key and / or digital wallet address. In some embodi
US 11,507,929 B2
17 18
ments , a user may initiate a transaction using a user interface For the first block in the blockchain , the block data 710 and
a
as illustrated and described below with respect to FIG . 8 . block metadata 712 may be empty. Block 0 707 includes a
At S642 , Bob 608 becomes the owner of the digital fiat header 708. The header 708 of the genesis block may contain
currency identified in the invoke transaction construct. Bob data used to link the Block 0 707 to other blocks in the chain ,
may become the owner of the digital fiat currency subject to 5 such as letters, numbers, and so forth . This data may be
the transaction being validated / recorded by a plurality of stored in hashed and / or unhashed form .
recording entities on the blockchain . The validating entities Block 1 714 is the second block in the chain . Block 1 714
may further confirm the public keys of Bob and /or Alice to includes block data 1 718. Block data 1 718 stores data for
validate the transaction . a set of transactions (e.g. , chaincode ). In FIG . 7B , informa
After S642 , Bob 608 may transfer the digital fiat currency 10 tion about one transaction is shown — transaction 1 , wherein
9
to another entity, and so forth , such that the digital currency Sheila sends $ 20 in digital currency to Bruce . Data about
asset is passed among multiple entities . For example, Alice transaction 1 is stored in block 1 , including a public address
606 ( or , alternatively, or additionally, the transaction pro- of Sheila (e.g. , a public key of Sheila's digital wallet) , a
cessing network 602 ) may obtain , via an out -of -band chan- public address of Bruce (e.g. , a public key of Bruce's digital
nel , a tCert of Bob 608 ( “ BobCert ” ) . Alice 606 may generate 15 wallet) , an asset amount (e.g. , $ 20 ) , and a currency of origin
a deploy transaction construct including the certificate from (e.g. , US dollars ). Although one transaction is shown in FIG .
the tCert of Bob 608 ( BobCert ), or the binary form thereof, 7B for the sake of simplicity, a block may include hundreds
as the metadata . Alice 606 may then submit the deploy or thousands of transactions.
transaction to the blockchain 610. The Bob 608 becomes the Block 1 714 further includes block metadata 1 720. Block
administrator of the chaincode . At a later time , Bob 608 may 20 metadata 1 720 may, in some embodiments, include identi
obtain aa tCert of another user, Charlie ( “ CharlieCert ” ) . Bob fying information about the parties to the transactions
608 may generate an invoke transaction construct using his recorded therein . Block 1 metadata 730 may include data
own tCert ( e.g. BobCert) to gain access , to invoke the assign about the information in the Block 1 714. Block 1 714
function passing as parameters ( “ Digital Fiat currency ', further includes Header 1 716. Header 1 716 may include a
Base64 (DER (CharlieCert) ) ). Bob 608 may then submit the 25 block number (e.g. , Block 1 ) . Header 1 may include a
transaction to the blockchain 610. This way, Charlie current block hash . The current block hash may be generated
becomes the owner of the digital fiat currency identified in based on the contents of the current block , Block 1 714 , in
the invoke transaction construct of Bob 608. At aa later time , whole or in part. Header 1 716 may include a previous block
Charlie may obtain a tCert of another user, Dave (“ Dav- hash generated by hashing the contents of the previous block
eCert” ). Charlie may construct an invoke transaction using 30 and earlier blocks ( e.g. , a Merkle Root) , Block 0 707 , in
his tCert (CharlieCert) to invoke the transfer function pass- whole or in part. In some cases , a nonce value is appended
ing as parameters ( “ Digital Fiat currency ', Base64 ( DER to the hashed contents of the previous block and /or the
( DaveCert ) ) ). Charlie may then submit the transaction to the current block . The hashed contents with the nonce value
blockchain 610. This way, Dave becomes the owner of the may be hashed again to generate an updated hashed value .
digital fiat currency identified in the invoke transaction 35 This updated hashed value may be stored to link the blocks
construct of Charlie . in an even more secure manner .
FIGS . 7A - 7C illustrate examples of data and metadata Block 2 722 is the third block in the chain . Block 2 722
used to record digital fiat currency transactions on the includes Block Data 2 726. Data for two transactions is
blockchain , according to various embodiments. FIG . 7A shown for simplicity, although data for many transactions
illustrates a ledger including a blockchain . FIGS . 7B and 7C40 may be stored to Block 2 722. As shown in FIG . 7B , the
illustrate data which may be stored on the blockchain . Block Data 2 726 may include data for transaction 2 ( e.g. ,
FIG . 7A illustrates a ledger 702 according to some chaincode ), wherein a bank note is destroyed . The data for
embodiments. The ledger 702 includes a blockchain 704 and transaction 2 includes a bank note currency ( e.g. , US dol
a world state database 706. In some embodiments, the ledger lars ) , an amount ( e.g. , $ 50) , and a serial number ( e.g. , a
702 is a distributed ledger for storing data related to digital 45 serial number for the physical currency destroyed ).
currency transactions. The ledger 702 may be stored by one Block 2 722 further includes block metadata 2 728. Block
or more blockchain nodes , as described above with respect metadata 2 728 may be data about the data in the Block 2
to FIG . 1 . 722. Block 2 722 further includes Header 2 730. Header 2
In some embodiments , the world state database 706 is a 730 may include aa block number ( e.g. , Block 2 ) . Header 2
database that holds the current value of a set of ledger states . 50 730 may include a current block hash of Block 722 and a
For example, the world state database 706 may specify the previous block hash of Block 1 714 , which may be aa Merkle
current holder of each unit of digital currency ( e.g. , Alice has Root . The current block hash and previous block hash may
$ 400 in digital currency, Bob has $ 300 in digital currency, be similar to those described above with respect to Block 1
bank X has $ 10,0000,000 in digital fiat currency , and so 714 .
forth ). 55 Block Data 2 726 further includes data for Transaction 3
In some embodiments , the blockchain 704 is aa transaction 735. The data for transaction 3 735 includes header 3 735A ,
log that records changes that determine the world state . The signature 3 735B , proposal 3 735C , response 3 735D , and
blockchain 704 may be substantially similar to the block- endorsements 3 735E . The data for Transaction 3 735 is
chain 112 described above with respect to FIG . 1. The shown in further detail in FIG . 7C .
blockchain 704 may store data as described below with 60 Header 3 735A is associated with a specific transaction,
respect to FIGS . 73 and 7C . and captures some essential metadata about the transaction
FIG . 7B illustrates data on the blockchain 704. The (e.g. , identifying information about the transaction such as
blockchain 704 includes a plurality of blocks (e.g. , Block 0 party identities, certificates , or addresses ). Signature 3 735B
707 , Block 1 714 , and Block 2 722 ; there may be up to contains a cryptographic signature. The cryptographic sig
thousands or millions of blocks in the blockchain) . 65 nature may have been created using a private key of a
Block 0 707 is the first block in the chain , or genesis particular digital wallet. The private key may be stored in a
block . Block 0 707 forms the foundation of the blockchain . chip card or secure element.
US 11,507,929 B2
19 20
Proposal 3 735C encodes input parameters supplied by an is 0. Bob's account balance 912 is 0. The central entity's
application to the chaincode, which creates a proposed account balance 914 is 10 units of digital fiat currency .
ledger update. The input parameters may specify assets (e.g. , In FIG . 9B , a container is created on the blockchain . The
units of digital currency ) and / or retired bank notes (e.g. , a container address 920 represents a contract for establishing
notation indicating physical with a particular serial number 5 new digital fiat currency on the blockchain . The container
has been retired /destroyed ).
Response 3 735D captures the before and after values of may be created by the transaction processing network for the
central entity on the blockchain . An Ethereum block is
the world state , which may be as a read -write set . Response generated, with parameters including a block number 922
3 735D may be the output of a chaincode. If the transaction and a received time 924 .
is successfully validated, then Response 3 735D will be 10
applied to the ledger 702 to update the world state in the theFIG . 9B further illustrates transactions contained within
block . Transaction 1 is characterized by a hash value
world state database 706 .
Endorsements 3 735E is a list of signed transaction work , as indicated1 byis the
926. Transaction from the transaction processing net
public address of the transaction
responses from each required validating entity . A particular
subset of validating entities may be required, as is deemed 15 processing network 902. Container data 928 is further pro
sufficient to satisfy an endorsement policy. Such an endorse vided as input to the current block .
FIG . 9C illustrates a second transaction 930 , where the
ment policy may be preconfigured, for example, by the
central entity and / or the transaction processing network . central entity sends 2 digital fiat currency to Alice . The
FIG . 8 illustrates an example interface 804 for managing transaction is from the central entity to Alice , as indicated by
digital fiat currency, according to various embodiments. The 20 Alice's public address 904 in the “ to ” field and the central
interface 804 may be displayed on a user device 802 , such entity's public address 908 in the " from ” field . Alice's
as a smartphone, tablet, personal computer, or the like . balance 932 is now 2 digital fiat currency, and the central
The interface 804 for managing digital fiat currency entity's balance 934 is now 8 digital fiat currency . The
includes interface elements for accepting user input to send transaction is recorded in association with hash 936 and is in
digital fiat currency. Interface 804 may include an indicator 25 block number 602 (944 ) . The value of the transaction 942 is
806 that a digital wallet should be initiated with a chip card . 200000000 , indicating that the central entity sent 2 digital
This may apply in the case where the wallet private key is fiat currency to Alice . The transaction data further includes
stored on the chip card . input 940 , which includes the serial number of the physical
The interface 804 for managing digital fiat currency currency originally converted to digital fiat currency.
further includes fields for the funds and currency of the 30 FIG . 9D illustrates a third transaction 950 , where Alice
sender's account 810. Upon receiving user selection of an sends 1 digital fiat currency to Bob . The transaction is from
available sender account, the interface 804 may display the Alice to Bob , as indicated by Alice's public address 904 in
available funds in the corresponding account, along with a the “ from ” field and Bob's public address 906 in the “ to ”
currency ( e.g. , U.S. dollars, British pounds , and so forth ). field . Alice's balance 952 is now 1 digital fiat currency, and
Similarly, the interface 804 may display available funds and 35 Bob's balance 954 is now 1 digital fiat currency. The
currency in the selected receiver's account using fields for transaction is recorded in association with hash 956 , which
the funds and currency of the receiver's account 814 . identifies the transaction , and is in block number 605 (958 ) .
The interface 804 for managing digital fiat currency The value of the transaction 960 is 100000000 , indicating
further includes aa field for an amount to send 816 and aa send that the Alice sent 1 digital fiat currency to Bob .
button 818. The field for an amount to send 816 may be a 40 In some embodiments, Hyperledger Fabric may be used
form field configured to accept numbers typed or otherwise to implement various aspects described herein . Hyperledger
provided by a user. For example , a user can type $ 150 into Fabric is a blockchain framework implementation and one
the field for an amount to send 816. Once the necessary of the Hyperledger projects hosted by The Linux Founda
information has been provided, the interface 804 can accept tion . Intended as a foundation for developing applications or
user interaction with the Send button 818. Upon detecting 45 solutions with a modular architecture , Hyperledger Fabric
user interaction with the Send button 818 , the transaction allows components, such as consensus and membership
details can be sent to the back end to imitate the transaction services, to be plug - and -play. Hyperledger Fabric leverages
on the blockchain . container technology to host smart contracts called chain
In some embodiments, Ethereum may be used to imple- code that comprise the application logic of the system .
ment various aspects described herein . Ethereum is aa block- 50 Hyperledger Fabric is a permissioned network where all
chain framework implementation . Ethereum is an open- users and components have known identities. Hyperledger
source platform , and is described in detail in Ethereum : A Fabric differs greatly from traditional blockchain implemen
Secure Decentralised Generalised Transaction Ledger by tations that promote anonymity and are forced to rely on
Dr. Gavin Wood and at ethereum.org. cryptocurrencies and heavy compute obligations to validate
In some embodiments, digital fiat currency may be imple- 55 transactions .
mented using Ethereum as illustrated in FIGS . 9A - 9D . In A network ( e.g. Hyperledger Fabric) may include various
FIG . 9A , account information 900 is established for the components such as ledgers, smart contracts , peers , ordering
entities in the system . Ethereum accounts are established for services, channels and fabric certificate authorities. FIG . 5 ,
the transaction processing network , the central entity, and described above , illustrates example membership service
for users such as Alice and Bob . Each entity's Ethereum 60 provider ( MSP ) structure and / or roles . For an identity to be
account is defined by a public address — transaction process- verifiable , the identity must come from a trusted authority . A
ing network (TPN) public address 902 , Alice public address membership service provider (MSP ) may act as the trusted
904 , Bob public address 906 , and central entity public authority in the Hyperledger Fabric. More specifically, an
address 908 . MSP may include a component that defines the rules that
The public addresses 902-908 are shown in the vector 65 govern the valid identities for an organization. The default
eth.accounts, and the balance of each element of the eth.ac- MSP implementation in Hyperledger Fabric uses X.509
counts vector is shown below . Alice's account balance 910 certificates as identities adopting a traditional Public Key
US 11,507,929 B2
21 22
Infrastructure ( PKI ) hierarchical model . Other certificates Advantageously, varying consensus algorithms (e.g. byz
may be used according to various embodiments . antine or crash fault tolerant) may be implemented. As a
In some embodiments, the blockchain may be imple- result, use of permissioned networks can provide much
mented using pluggable consensus protocols. Examples of higher transaction throughput rates and performance, as
pluggable consensus protocols include Byzantine fault tol- 5 compared to the computationally expensive methods used in
erant algorithms, as described in “ Practical Byzantine Fault traditional public networks .
Tolerance ” by Miguel Castro and Barbara Liskov, Proceed- Physical currency can be from markets by mimicking and
ings of the Third Symposium on Operating System Design digitalizing cash transactions using a Distributed Ledger
and Implementation , February 1999. Another example Technology. The digital currency may remain tied to fiat
includes crash - fault tolerant algorithms, such as the Raft 10 currency and may be regulated by a central entity (e.g. a
Consensus Algorithm , as described in “ In Search of Under- federal country bank ). This can prevent the volatility asso
standable Consensus Algorithm ” by Diego Ongaro and John ciated with traditional cryptocurrency systems and allow the
Ousterhout, Proceedings of USENIX ATC ’14 , June 2014 . central entity to maintain control over the monetary system .
In some embodiments, the consensus mechanism is proof In addition, there is also an opportunity to prevent use and
of stake . Proof of stake assigns validation rights to nodes in 15 redemption of counterfeit notes and enhance security.
the blockchain based on factors such as an amount of digital According to various embodiments, when an entity brings
currency held . Proof of stake is significantly more efficient physical currency to the central entity for conversion to
than the more common proof of work algorithms, which digital fiat currency, the conversion may be denied if the
require validating parties to perform computations which serial number of the physical currency indicates that the
can take massive amounts of computing power. One 20 physical currency has already been converted. Accordingly,
example of a proof of stake algorithm , Ouroboros, is a counterfeit alert may be issued for the serial number, that
described in “ Ouroboros : A provably Secure Proof -of -Stake may affect both the initial conversion and the subsequent
Blockchain Protocol ” by Aggelos Kiayias et . al , July 2019 . quest to covert. Monitoring redeemed serial numbers can
Embodiments may be implemented using zero -knowl- further be used to prevent use of counterfeit physical notes ,
edge proof where one party ( the prover) can prove to another 25 enhancing the security of the monetary system overall .
party ( the verifier) that they know a value x , without Embodiments, may also enhance the security by using a
conveying any information apart from the fact that they chip card and/ or mobile phone secure element to store
know the value x . private key used to sign the transactions . In some embodi
Embodiments may be implemented using APIs . In some ments, users may store private keys associated with a given
embodiments, the transaction processing network may 30 amount/ value of digital fiat currency on a smart card and
expose an API that can be used to provide single point access transfer the given amount /value of digital fiat currency to
to all participants. In some embodiments, APIs may be used another entity by simply transferring to the smart card to the
to convert digital currency from a first currency type ( e.g. , recipient
dollars ) to a second currency type (e.g. , shillings ). In this Any of the software components or functions described in
manner, digital fiat currency can provides a relatively simple 35 this application, may be implemented as software code to be
and low - friction platform for currency conversion . In some executed by a processor using any suitable computer lan
embodiments, a source and target currency can be included guage such as , for example, Java , C ++ or Perl using , for
in the transaction metadata , and currency exchange can be example , conventional or object -oriented techniques. The
performed seamlessly with the transfer of the digital fiat software code may be stored as a series of instructions, or
currency . 40 commands on a computer readable medium , such as a
Embodiments such as Hyperledger fabric can provide random access memory (RAM ), a read only memory
modular and configurable architecture , enabling innovation , (ROM ) , a magnetic medium such as a hard -drive or a floppy
versatility and optimization for aa broad range of use cases . disk, or an optical medium such as a CD - ROM . Any such
In some embodiments , the records may be auditable , computer readable medium may reside on or within a single
providing configurable transparency. Identities may be 45 computational apparatus, and may be present on or within
maintained by the transaction processing network . The iden- different computational apparatuses within a system or net
tities may be used to govern certain levels of access control work .
e.g. this user may read the ledger, but cannot exchange or The above description is illustrative and is not restrictive .
transfer assets ) . Privacy can be provided, as embodiments Many variations of the invention may become apparent to
such as Hyperledger fabric supports networks where privacy 50 those skilled in the art upon review of the disclosure . The
is a key operational requirement. Privacy can be controlled , scope of the invention can , therefore, be determined not with
for example , using channels . Anonymity may be provided in reference to the above description, but instead can be
whole or in part. For example , the name of banks may be determined with reference to the pending claims along with
recorded on the blockchain in association with a transaction, their full scope or equivalents.
but not the name of individual users . As another example, 55 One or more features from any embodiment may be
identifying information may be recorded in a limited fash- combined with one or more features of any other embodi
ion , e.g. , based on transaction thresholds and central entity ment without departing from the scope of the invention .
requirements. As a specific example, transactions for an A recitation of “ a ” , “ an ” or “ the” is intended to mean " one
amount less than $ 1,000 may remain anonymous, while or more ” unless specifically indicated to the contrary.
transactions for $ 1,000 or more may be recorded with 60 All patents, patent applications, publications, and descrip
identifying information of the entities involved . tions mentioned above are herein incorporated by reference
Embodiments provide multiple advantages. As noted in their entirety for all purposes . None is admitted to be prior
above , conventional cryptocurrency systems have problems art.
such as volatility and high power usage . Many of these What is claimed is :
issues can be solved using the private, permissioned network 65 1. A computer - implemented method comprising:
managed by a transaction processing network and central receiving , by a central entity computer from a transaction
entity to speed up and manage the flow of currency. processing network , a trusted certificate that grants
US 11,507,929 B2
23 24
permission to the central entity computer to generate or 9. The method of claim 1 , wherein recording the digital
2
destroy digital currency, wherein the central entity currency on the blockchain generates the record in a block
computer is associated with a central bank ; in the blockchain , the record further comprising a currency
receiving, by the central entity computer from a redeem- 5 type of the physical currency.
ing entity device associated with a bank granted per- 10. A central entity computer comprising:
mission by the transaction processing network to vali- a processor; and
date transactions, a request for digital currency , the a non -transitory computer -readable medium comprising
request comprising a serial number and aa denomination code , executable by the processor, for implementing a
of aa physical currency ; method comprising:
generating, by the central entity computer using the 10 receiving , by the central entity computer from a transac
trusted certificate, the digital currency for the denomi- tion processing network , a trusted certificate that grants
nation and linked to the serial number, wherein the permission to the central entity computer to generate or
generating comprises recording the digital currency on destroy digital currency, wherein the central entity
a blockchain to a record that includes the serial number 15 computer is associated with a central bank ;
of the physical currency ; receiving , by the central entity computer from a redeem
transmitting, by the central entity computer to the redeem ing entity device associated with a bank granted per
ing entity device , a notification of the generation of the mission by the transaction processing network to vali
digital currency ; and date transactions , a request for digital currency , the
causing , by the central entity computer, removal of the 20 request comprising a serial number and a denomination
physical currency from circulation in a fiat currency of a physical currency ;
system , wherein causing the removal of the physical generating, by the central entity computer using the
currency from circulation includes physically destroy- trusted certificate , the digital currency for the denomi
ing the physical currency, the physical currency being nation and linked to the serial number, wherein the
fiat currency 25 generating comprises recording the digital currency on
2. The method of claim 1 , further comprising: a blockchain to a record that includes the serial number
associating the digital currency with a digital wallet using of the physical currency ;
a private key stored to the digital wallet . transmitting, by the central entity computer to the redeem
3. The method of claim 2 , wherein the private key of the ing entity device, a notification of the generation of the
digital wallet is stored on a chip of a smart card or a secure 30 digital currency, wherein , prior to transmitting the
element of a user device . notification of the generation of the digital currency, the
4. The method of claim 1 , wherein, prior to transmitting recording of the digital currency on the blockchain is
the notification of the generation of the digital currency , the validated by a plurality of validating entities; and
recording of the digital currency on the blockchain is causing , by the central entity computer, removal of the
validated by a plurality of validating entities. 35
physical currency from circulation in a fiat currency
5. The method of claim 1 , wherein the digital currency is system .
recorded on the blockchain using a public key of the central
entity computer. 11. The central entity computer of claim 10 , further
6. The method of claim 1 , wherein the request for digital comprising:
currency is aa first request and the physical currency is aa first 40 associating the digital currency with a first digital wallet
a
physical currency, the method further comprising: using a private key stored to the first digital wallet,
receiving, by the central entity computer, a second request wherein the private key of the first digital wallet is
for digital currency, the second request comprising a stored on a chip of a smart card or a secure element of
serial number and a denomination of a second physical a user device.
currency, wherein the serial number and the denomi- 45 12. The central entity computer of claim 10 , wherein the
nation of the second physical currency are the same as digital currency is recorded on the blockchain using a public
the serial number and the denomination of the first key of the central entity computer.
physical currency; 13. A computer - implemented method comprising:
determining, by the central entity computer, that the receiving , by a blockchain node storing a blockchain , a
digital currency corresponding to the serial number and 50 request to record an action relating to removal of
the denomination is already recorded on the block physical currency with a denomination from a fiat
chain ; and currency system ;
refraining from generating a second digital currency recording, by the blockchain node , a record of the action
based on the second request. relating to the removal of the physical currency with
7. The method of claim 1 , wherein the blockchain 55 the denomination from the fiat currency system to the
includes a plurality of blocks , at least one block, of the blockchain, the record indicating that a particular unit
plurality of blocks , storing data for a plurality of transac- of the physical currency has been removed from cir
tions , the plurality of transactions including a first record culation ;
indicating that the digital currency for an amount associated receiving , by the blockchain node , a request to record
with the denomination has been created , the first record 60 digital currency in an amount equal to the denomina
including a public key associated with a digital wallet. tion , the digital currency associated with a public key
8. The method of claim 1 , wherein the blockchain of a user ; and
includes a plurality of blocks , at least one block, of the recording, by the blockchain node , the digital currency in
plurality of blocks , storing data for a plurality of transac- an amount equal to the denomination , wherein the
tions , the plurality of transactions including a second record 65 digital currency and the record of the removal are
recording the removal of the physical currency from circu- validated by a plurality of blockchain nodes using proof
lation . of stake consensus.
US 11,507,929 B2
25 26
14. The method of claim 13 , further comprising :
receiving, by the blockchain node , a request to record a
transaction between aa first user and a second user, the
request including a public key of the first user, a public
key of the second user, and a transaction amount; and 5
recording a record of the transaction between the first user
and the second user, the record of the transaction
including the public key of the first user , the public key
of the second user , and the transaction amount in a
block along with the action relating to removal of 10
physical currency with a denomination from the fiat
currency system to the blockchain .
15. The method of claim 14 , the record further comprising
a currency type of the physical currency.
16. The method of claim 13 , wherein the digital currency 15
in the amount equal to the denomination is recorded to a
record , the record further comprising a currency type of the
physical currency and a serial number of the physical
currency .
17. The method of claim 13 , wherein the blockchain node 20
is aa bank server computer.