Next Article in Journal
Attribute Reduction Based on Lift and Random Sampling
Next Article in Special Issue
Proof-of-Useful-Work: BlockChain Mining by Solving Real-Life Optimization Problems
Previous Article in Journal
Considerations for Gain Selection of Feedforward Active EMI Filters
Previous Article in Special Issue
An Efficient Identification Scheme Based on Bivariate Function Hard Problem
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Blockchain-Based Anti-Counterfeit and Traceable NBA Digital Trading Card Management System

1
School of Information Engineering, Changchun Sci-Tech University, Changchun 130600, China
2
Department of Computer Science and Information Engineering, Chaoyang University of Technology, Taichung City 413310, Taiwan
3
School of Computer and Information Engineering, Xiamen University of Technology, Xiamen 361024, China
4
Computer Center, National Taipei University, New Taipei City 237303, Taiwan
5
Department of Computer Science and Information Engineering, National Taipei University, New Taipei City 237303, Taiwan
6
Department of Computer Science, Jilin Normal University, Siping 136000, China
7
State Key Laboratory of Numerical Simulation, Siping 136000, China
*
Authors to whom correspondence should be addressed.
Symmetry 2022, 14(9), 1827; https://doi.org/10.3390/sym14091827
Submission received: 24 July 2022 / Revised: 21 August 2022 / Accepted: 26 August 2022 / Published: 2 September 2022

Abstract

:
NBA (National Basketball Association) trading cards are a hot collector’s item, with sales increasing rapidly every year. However, with the popularity of online trading, some sellers have started to intentionally and unintentionally sell imitation trading cards, and even PwC (Pricewaterhouse Coopers) is not immune. However, the PSA (Professional Sports Authenticator), which is the authentication agency, is not liable for this. Faced with the above situation, we moved trading cards online and proposed a blockchain-based anti-counterfeit and traceable NBA digital trading card management system, using blockchain technology to protect digital trading cards, and special digital copyright, to move from relying on other regulators to achieve the fight against counterfeit cards and maintain the security of the digital trading card market. Finally, we analyzed the security of the system and compared it with other methods. Our system uses Hyperledger Fabric to share data while protecting corporate privacy. Proxy re-encryption enables secure and trusted access authorization for digital transaction cards. Asymmetric encryption protects the data and uses signatures to achieve traceability and non-repudiation. Overall, our system solves the problem of counterfeiting and traceability that can occur in the digital trading card process from production to purchase.

1. Introduction

1.1. Background

Trading cards are collectible cards, traditionally associated with sports, and sporting types of trading cards are also known as sports cards [1]. In the strong sports atmosphere in the United States, sports cards have become a widely popular trading card with the public. They usually include a picture of the player on one side and statistics or other information on the other. The images of athletes on sports cards and the unique player stories embedded in the cards make sports cards an integral part of sports culture. The global sports trading card market is valued at USD 13.82 billion in 2019 and is expected to reach USD 98.75 billion by 2027, growing at a CAGR (compound annual growth rate) of 23.01% from 2020 to 2027 [2]. The trading card craze is not limited to one category either. In 2020, eBay’s trading card growth reached a record 162%, with total sales of basketball cards exploding by over 300% in the past year [3].
The explosion of trading cards has also attracted many outlaws. The Federal Bureau of Investigation launched Operation Bullpen, a sports memorabilia fraud-related operation, in the 1990s [4]. Experts estimate that counterfeit memorabilia accounts for more than USD 100 million of the market share each year. And with the popularity of eBay, unscrupulous dealers able to sell fake souvenirs without dealing face-to-face with customers have emerged. eBay’s largest card seller, PwC (Pricewaterhouse Coopers), was also caught in a scandal, selling millions of dollars in altered cards [5]. These cards were graded by the PSA (Professional Sports Authenticator) [6] to estimate the value of the cards, but the PSA did not take any public responsibility. From the collector’s point of view, the proliferation of counterfeit cards compromises the value of the cards, and collectors’ trust in the PSA diminishes, but there is nothing they can do about it. There are obvious drawbacks to this centralized authentication mechanism and agency, and a more rational management system is needed to prevent the theft and counterfeiting of sports cards and to better regulate them.
The blockchain [7] is a game-changer. It allows platforms to track the ownership of digital assets (e.g., NFT—Non-Fungible Token) [8], making the records of these digital trading card transactions virtually unforgeable. If forgery does occur, thanks to traceability, those modified records are also recorded in the ledger, providing strong support for digital copyright protection. The decentralized nature of blockchain ensures the openness and transparency of information, equal power of bookkeeping, and multi-node storage, avoiding the risk of deception by authoritative centers and ensuring that the participants’ information is equal. In summary, blockchain technology has a unique combination of a distributed ledger, decentralized structure, consensus algorithm, asymmetric encryption, and smart contracts. On the premise of retaining the portability and ornamental value of digital cards, it gives digital trading cards the same attribution and transaction value as physical trading cards, as well as better security, network visibility, and transparency than physical cards.
In summary, in this paper, we propose a blockchain-based anti-counterfeit traceable NBA digital trading card management system. The tamper-evident and decentralized nature of blockchain is utilized to ensure that the information of the uploaded digital transaction card is not tampered with. The property of blockchain technologies, such as the consensus mechanism, transparency, smart contract, and ECDSA (elliptic curve digital signature algorithm) are used to ensure the anti-counterfeit traceability of digital trading cards and enable the nodes to join the blockchain to reach trust and have secure and transparent access to information. Smart contracts are digitally written into each node of the blockchain, and then the smart contracts are executed by the blockchain to store and read data onto the blockchain. The blockchain provides a decentralized execution environment for smart contracts. Smart contracts make it easier for nodes in the blockchain to reach consensus, reducing costs and saving time for the blockchain. Blockchain and smart contracts complement each other [9,10]. Blockchain and smart contract technologies bring new solutions to several industry problems [11,12,13,14], such as combining ECDSA algorithms to curb counterfeiting in the pharmaceutical field [15]. This paper aims to protect the rights of NBA digital trading card collectors and maintain the economic health of the digital trading card market.

1.2. Related Works

A digital trading card is a kind of tradable digital content. For tradable digital content, its security involves the production, transaction, and authorization of digital content. Therefore, there is research on the security of digital content, the traceability of transactions, and the unforgeability of digital content [16,17,18,19]. NBA officials have cooperated with Dapper Lab to develop an application for NBA Top Shot on the flow blockchain platform to sell digital trading cards. However, the influx of users has caused them problems, and Dapper has now tried to limit the number of new users and the frequency of transactions to solve some of the problems associated with the influx of users [20]. Protection of digital content is an emerging area of blockchain application. These authors [21,22,23,24,25,26] reveal recent applications of blockchain, smart contracts, and cryptography for protecting digital content, proposing a more specific and detailed approach. Table 1 compares existing surveys of digital content/digital rights management.
Ma et al. [21] proposed a blockchain-based digital rights management scheme with efficient and secure authentication, privacy protection, and a conditional traceability method based on multiple signatures, so that the DRM (digital rights management) license, usage control, and constraint information can be easily retrieved from the blockchain. Ma et al. [22] proposed decentralized trust management and a secure usage control scheme for IoT big data based on a permission blockchain. Guo et al. [23] propose a novel network architecture for sharing and managing online educational multimedia resources with a combination of public and private blockchains, three specific smart contract schemes for implementing multimedia digital rights records, the secure storage of digital certificates, and unmediated authentication, respectively. Khan et al. [24] proposed a digital content protection and transaction method using blockchain Ethereum technology to prevent smart forgery and hacking. Li et al. [25] proposed a blockchain watermarking scheme to protect the privacy of compressed perceptual images, but it does not apply to content protection of short videos without a detailed chain code deployment process. Heo et al. [26] proposed a blockchain system using digital fingerprint recognition to improve DRM, which solves the problem of illegal digital content copying and leakage and also incorporates the SBBC (secret block-based blockchain) system to solve the problems of profit distribution, forgery, and counterfeiting. The approaches proposed by Ma et al. and Khan et al. both use Ethereum. However, only the blockchain part of the algorithm is designed, and there is no system design according to the user in the application scenario of digital rights management. There are not enough nodes to support the security of public chains, and it is also difficult for public chains to achieve efficient application requirements. Tokens are not required to incentivize the nodes in enterprise-led digital rights management. The Consortium Blockchain has a faster transaction speed and lowers the consensus node requirements compared to public chains [27], so the Consortium Blockchain can better cope with digital copyright management in commercial digital copyright management.
As special digital copyright, digital trading cards will face the following problems: The first is how to provide an identification method to determine the authenticity of digital trading cards. Secondly, how to save the digital trading card information in a tamper-proof way so that users can track and verify the relevant information safely and transparently. Third, how to provide an efficient and reasonable management system for the whole digital trading card transaction, to avoid the emergence of centralized or third-party manipulation of digital trading card management, and to maintain the stability of the digital trading card market.
Based on the above-mentioned problems, our proposed digital trading card management system based on the consortium chain focuses on the security of digital trading cards, the traceability of information, and the unforgeable design and application of digital content, and it proposes the following objectives:
(1)
Distribution and member access—Distributed computing storage with the same rights and obligations for each node. The identity of members who join the block is controlled to ensure information security.
(2)
Integrity and non-tampering—The information data related to digital trading cards are signed by the ECDSA after the hash calculation before the transmission process, and the receiver verifies the signature and then stores it on the chain to solve the data security problem.
(3)
Transparency—The source, issuance, purchase, and ownership information of digital trading cards are stored on the chain, and the information on the chain is open and transparent to enhance trust among users and protect collectors’ rights. The proxy encryption ensures collectors’ secure and transparent access to digital trading cards.
(4)
Traceability—The history of the digital trading card information is traceable with time stamps and signature mechanisms, and all the information is non-repudiation.
(5)
Timeliness—The sale and sharing of digital trading cards is managed reasonably, and digital content is not permanently appropriated by imposing time limits on access certificates.
(6)
Resist attacks—Using timestamps, asymmetric encryption, and blockchain technology, our system can resist replay attacks, man-in-the-middle attacks, and witch attacks to build a secure digital trading card management platform.
The rest of this paper is organized as follows: Section 2 presents the preparatory knowledge involved in this system. Section 3 is a description of the digital trading card-related mechanisms and communication protocols. Section 4 provides a security analysis of the whole system. Section 5 gives the calculation of the system overhead and the comparison of other schemes. Finally, we conclude the article.

2. Preliminary

2.1. Hyperledger Fabric

Blockchain can be divided into three categories according to the participants: public chain, private chain, and consortium chain. The public chain is a blockchain network that is open to everyone, and anyone can participate in it. A private chain is a blockchain held by an organization. The consortium chain is a blockchain network that takes into account privacy, security, and decentralization and allows organizations and individuals to participate [28].
Hyperledger Fabric is a distributed ledger solution platform with a modular architecture and different pluggable components to adapt to different scenarios to achieve the architecture and functionality with high secrecy, resilience, flexibility, and scalability [29]. Hyperledger Fabric is a kind of consortium blockchain, and compared to the public blockchain represented by Ethereum, Hyperledger Fabric focuses more on business applications, and only nodes involved in the corresponding business process can join the blockchain network [30]. This also means the nodes of Hyperledger Fabric do not need to reach consensus through PoW (Proof of Work), which increases the practicality of Hyperledger Fabric.
The workflow of Hyperledger Fabric is divided into the following steps. Step 1, proposal: Updating the ledger through the SDK requires sending a proposal to the endorsement node, which simulates the execution of the proposal based on the current version of the ledger. After the simulated execution, the read/write set is generated, and the ledger data are sent to change. Step 2, endorsement: The endorsement node signs the result of the book execution and returns this result to the SDK. After the SDK collects enough endorsement responses, it enters the third step for the update application. The SDK sends these signed endorsements to the orderer node, and the orderer node checks the signature endorsement according to the endorsement policy and sorts the updates. If the check meets the endorsement policy in the orderer node, it enters the fourth step-invoke update. The orderer node will send the read/write operation to each peer node, and each peer node will write the data into the block of each node after getting the invoke update. If there is an illegal endorsement request in the invoke update, the orderer node writes the illegal request into the blockchain and does not update the ledger to facilitate checking when the blockchain sends an error. After these four steps, that all the nodes’ ledgers are updated and that the ledger contents are the same is ensured.
In this application scenario, the information shared between enterprises has a certain degree of privacy. Although the public chain realizes the information disclosure, it cannot protect the commercial secrets of each enterprise. Fabric can let enough people know the information to realize the mutual trust of enterprises and, at the same time, realize the protection of private information. Structurally, Hyperledger Fabric is superior to Ethereum in terms of the average transaction latency, throughput, privacy, and scalability, as well as the Hyperledger Fabric modularity and channel design, and it is more suitable for application scenarios between enterprises [31].

2.2. Smart Contract

The term “smart contract” was proposed in 1995 by Nick Szabo, a prolific cross-disciplinary legal scholar, who argued that a smart contract is a set of digitally defined commitments on which participants can execute agreements that can be continuously redesigned to increasingly approach the logic of the contract [32]. Unlike traditional contracts, which do not require execution by the participants, smart contracts can be triggered by a computer on the conditions met by different transactions. The information on the chain after the execution of a smart contract is tamper-proof and traceable

2.3. Elliptic Curve Digital Signature Algorithm (ECDSA)

The ECDSA signature algorithm is the elliptic curve digital signature algorithm [33]. This algorithm is used to sign digital messages in the blockchain, and it can be used to verify that the message has not been tampered with and that the signer cannot sign the message to disclaim it.
The ECDSA signature process is as follows: the sender first selects a random value from [1, n − 1], takes the hash value of the message to be sent, and calculates z = h ( M ) , ( x , y ) = k G , r = x mod n , s = k 1 ( z + r * d A ) mod n . The ( r , s ) obtained using the ECDSA signature and the original message M without hash are then sent to the message receiver ( h is the hash function, d A is the sender’s private key).
The ECDSA verifies the signature as follows: after receiving the signature pair ( r , s ) and message M , the message receiver will use the sender’s public key Q A to verify the sender’s signature: z = h ( M ) , u 1 = z * s 1 mod n , u = r * s 1 mod n , ( x , y ) = u 1 G + u 2 Q , by determining whether the values of r and x mod n are equal. If they are, the message receiver can confirm that the message sent by the sender has not been tampered with and is guaranteed by the sender.

2.4. Proxy Re-Encryption

Blaze et al. [34] first proposed atomic agent cryptography in 1998, where a semi-trusted agent uses functional computation to convert the ciphertext encrypted by the authorized person, Alice, using the key to the ciphertext encrypted by the authorized person Bob’s key. Thus, without exposing Alice’s key, Bob can decrypt Alice’s ciphertext, and the agent cannot view the underlying plaintext.
(a)
Definition of system parameters: Let a large prime number q and multiplicative group Z P * generate g , where q and g are public parameters.
(b)
Key generation: Licensee Alice chooses positive integers g a   mod   p   ( a < p ) , g b   mod   p   ( b < p ) at random as his keys. Then, the decryption key b is sent to the licensee Bob via a secure transmission channel.
(c)
Authorized person encrypts plaintext: Set random number k and calculate C 1 = m g k mod p and C 2 = g a k mod p to obtain ciphertext ( C 1 , C 2 ) .
(d)
Re-encryption key generation: If Bob is authorized by Alice’s message, then Alice needs to send ciphertext ( C 1 , C 2 ) and proxy key b / a to the proxy.
(e)
Re-encryption process: After receiving ( C 1 , C 2 ) and proxy key b / a , the agent re-encrypts the ciphertext to ( C 1 , C 2 ) = ( m g k mod p , m g a k ( b / a ) mod p ) = ( m g k mod p , m g b k mod p ) and sends the re-encrypted ciphertext ( C 1 , C 2 ) to Bob.
(f)
Licensee decrypts the ciphertext: Licensee Bob computes C 2 ( 1 / b ) = g k mod p using the decryption key b and obtains the plaintext using C 1 / C 2 ( 1 / b ) = m g k mod p / g k mod p = m .

3. Proposed Scheme

3.1. System Architecture

In this study, we use the ECDSA, blockchain, smart contracts, and proxy re-encryption to design a tamper-proof and traceable authorization mechanism for NBA digital trading cards. Figure 1 shows the system architecture diagram, in which the system architecture roles include: blockchain center (BCC), NBA digital trading card center (N), digital trading card manufacturer (M), digital trading card proxy (P), user (U), and bank (B).
(1)
Blockchain Center (BCC): The Blockchain Center registers each role in the system architecture and issues identity certificates as well as public and private keys to each role.
(2)
NBA Digital Trading Cards Center (N): N is the NBA’s cloud platform, responsible for the provision of video information and authorization of video manufacturing, review and issuance of digital trading cards, and review of user requests to determine whether to allow access to digital content resources.
(3)
Digital Trading Cards Manufacturer (M): A digital trading card manufacturer must obtain authorization from the NBA Center, as well as genuine video, and manufacture digital content related to digital trading cards.
(4)
Digital Trading Cards Proxy (P): The Digital Trading Cards Proxy is the NBA’s agent, which is the cloud platform for storing digital trading cards. After the user’s identity is verified, the proxy is actually responsible for authorizing the user in the cloud (sending re-encrypted ciphertext).
(5)
User (U): Users are collectors of digital trading cards. When a user wants to access the NBA’s digital trading cards, the user should pay a fee to the NBA.
(6)
Bank (B): The bank issues a payment certificate to the user.
We briefly explain the step-by-step transaction scenario for digital trading cards.
Step 1
Registration Phase—This step is the registration phase for each role in the system; all users, digital trading card manufacturers, NBA digital trading card centers, digital trading card agents, and banks need to register with the blockchain center to obtain the public and private keys provided by the blockchain center.
Step 2
Manufacturing Authorization Phase—When a digital trading card manufacturer wants to manufacture a digital trading card for sale, they need to obtain an authorization code from the NBA digital trading card center for the manufacture and an authentic NBA game video.
Step 3
Review Phase—After the manufacturer has obtained the authorization from the NBA Center, it will enter the review phase after completing the authorization phase. The digital trading card manufacturer will send the processed digital content and information related to the digital content to the NBA digital trading card center so that the NBA digital trading card center conducts a review of the content.
Step 4
Issue Phase—After the NBA digital trading card center completes the review of the digital trading card, the video content is classified, and the number of sales is approved. The NBA digital trading card center uploads the classification and number of sales of the digital trading card to the blockchain center and sends the content encrypted (by key encryption) to the digital trading card agent for storage.
Step 5
Identity Verification and Invoicing Phase—When a user submits a transaction request to the NBA digital trading card center, the NBA digital trading card center generates an invoice and transaction ID for the user after reviewing the user’s identity.
Step 6
Payment Phase—The user makes the payment through the bank. After the payment, the user requests the bank to issue a payment certificate for the transaction to authenticate the payment.
Step 7
Browse and Access phase—The NBA digital trading card center verifies the user’s identity and payment certificate, and upon successful verification, the NBA digital trading card center transfers the re-encryption key to the proxy and the time-limited decryption key to the user. The proxy’s re-encryption key generates a re-agent ciphertext, which the proxy transfers to the user, who uses the key to automatically decrypt the protected digital trading card and browse the digital trading card.

3.2. Smart Contract Initialization

Blockchain technology is used in the proposed architecture. We use the blockchain to verify and save key information. Algorithm 1 is the definition of the smart contract structure used in the digital trading card management system architecture.
Algorithm 1. The structure of the smart contract scheme
struct   smart   contract   mninf / uninf { string   mn / un   id ; string   mn / un   detail ; string   mn / un   cert ;   string   mn / un   tsp ; }
struct   smart   contract   nminf / repuinf { string   nm / repu   id ; string   nm / repu   detail ; string   nm / repu   ac ; string   nm / repu   tsp ; }
struct   smart   contract   reuninf { string   reun   id ; string   reun   detail ; string   reun   payment ; string   reun   tsp ; }
struct   smart   contract   buinf { string   bu   id ; string   bu   detail ; string   bu   payment ; string   bu   tsp ; }
struct   smart   contract   remninf / npinf { string   remn / np   id ; string   remn / np   detail ; string   remn / np   skey ; string   remn / np   tsp ; }
struct   smart   contract   nuinf { string   nu   id ; string   nu   detail ; string   nu   tid ; string   nu   tsp ; }
struct   smart   contract   renpinf { string   renp   id ; string   renp   detail ; string   renp   tsp ; }

struct   smart   contract   renuinf { string   renu   id ; string   renu   detail ; string   renu   tsp ; }

3.3. Registration Phase

The system role X can represent the digital trading card manufacturer, digital trading card proxy, NBA digital trading card center, bank, and user. Figure 2 shows the flow chart of the registration phase.
Step 1: Role X generates an identity I D X and sends it to the blockchain center.
Step 2: The blockchain center generates ECDSA private key d X based on role I D X and passes the calculation:
Q X = d X G
Obtain the public key Q X , and bind I D X to the generated public and private keys in mapping.
If the role’s X’s identity is verified, the smart contract Xins will be triggered, the content of which is Algorithm 2.
Algorithm 2. The scheme of the smart contract xins.
function   insert   x   smart   constract   xins   ( string   x _ id ,   string   x _ detail ) {   count + + ;   x count . id = id ;   x count . detail = detail ; } String   x _ keypairs ;
And sends the generated I D X , ( d X , Q X ) , P K X S K X , C e r t X to role X.
Step 3: Role X saves the ( d X , Q X , P K X S K X , C e r t X ) returned by the blockchain center.

3.4. Manufacturing Authorization Phase

The NBA digital trading card center is not responsible for the production of digital trading cards but rather licenses the production of digital trading cards to digital trading card manufacturers. Because the content of digital trading cards is highlights highlighted by the NBA league, it is mostly short-form video manufacturers who want to obtain the license. Short-form video manufacturers need to apply to the NBA digital trading card center to obtain the license code for production and the NBA video that can be edited. The flow chart of the licensing stage of digital trading card production is shown in Figure 3 and Figure 4.
Step 1: The digital trading card maker generates a random value k 1 and computes:
z M = h 1 ( I D M , I D N , M M 1 , C e r t M , T S M , I D B C ) ,  
( x M , y M ) = k 1 G ,  
r M = x M mod n ,  
s M = k 1 1 ( z M + r M d M ) mod n ,  
C 1 = E P K N ( I D M , I D N , M M 1 , C e r t M , T S M , I D B C ) ,  
and sends I D M , I D N , C 1 , ( r M , s M ) to the NBA digital trading card center, where M M 1 is a request from Role M (digital trading card manufacturer) to make a digital trading card at the NBA digital trading card center.
( r M , s M ) . The digital trading card manufacturer uses its private key to sign and generate and encrypt the sent message, as with the receiver’s public key, to ensure message security and complete traceability. Digital trading card manufacturers provide their I D M to the NBA digital trading card center to clarify their identity.
Step 2: The NBA digital trading card center first calculates:
( I D M , I D N , M M 1 , C e r t M , T S M , I D B C ) = D S K N ( C 1 ) ,  
and by calculating:
T S N O W T S M Δ T ,  
To verify the validity of the timestamp, use P K M to verify C e r t M , determine the correctness of the ECDSA signature, and then calculate:
z M = h 1 ( I D M , I D N , M M 1 , C e r t M , T S M , I D B C ) ,  
u M 1 = z M s M 1 mod n ,  
u M 2 = r M s M 1 mod n ,  
( x M , y M ) = u M 1 G + u M 2 Q M ,  
x M = ? r M mod n ,  
If the verification is passed, N will obtain the digital trading card manufacturing application information from M and trigger the smart contract mnins and mnchk. The content is as follows (Algorithm 3):
Algorithm 3. The scheme of the smart contracts mnins and mnchk
function   insert   smart   constract   mnins ( string   mn _ id ,   string   mn _ detail , string   mn _ cert ,   string   mn _ tsp )   { count + + ; mn count . id = id mn count . detail = detail ; mn count . cert = cert ; mn count . tsp = tsp ; } sign   string   m _ key ( mn _ id ,   mn _ detail , mn _ cert ,   mn _ tsp ) ; function   check   smart   cos tract   mnchk (   string   mn _ id ,   string   mn _ detail string   mn _ cert ,   string   mn _ tsp } { return   mn _ id . exist ; return   mn _ detail . exist ; return   mn _ cert . exist ; return   mn _ tsp . exist ; } verify   string   n _ key ( mn _ id ,   mn _ detail , mn _ cert ,   mn _ tsp ) ;
N uploads the resulting ( I D B C , B C M ) to the blockchain center by computing:
B C M = h 1 ( r M , s M ) ,  
Then, N generates a random value k 2 and calculates:
z N = h 2 ( I D N , I D M , M N 1 , A C , T S N , I D B C ) ,  
and execute the function “Sign” shown in Algorithm 4 to generate the signature:
( r N , s N ) = S i g n ( z N , k 2 , d N ) ,  
C 2 = E P K M ( I D N , I D M , M N 1 , A C , T S N , I D B C ) ,  
Send I D N , I D M , C 2 , ( r N , s N ) to the digital trading card manufacturer, where M N 1 is the reply of role N to the request of M.
Algorithm 4. Chaincode Sign and Verify scheme
func   Sign   h   string ,   k   string ,   d   string { x ,   y = k   *   G r = x   %   n s = h + r   *   d / x   %   n return   r ,   s } func   Verify   h   string ,   r   string ,   s   string   result   string   { u 1 = h / s   %   n u 2 = r / s   %   n x ,   y = u 1   *   G + u 2   *   Q if   x = = r     return   valid else   return   invalid
Step 3: The digital trading card manufacturer first calculates:
( I D N , I D M , M N 1 , A C , T S N , I D B C ) = D S K M ( C 2 ) ,  
and then computes:
T S N O W T S N Δ T ,  
M to verify the validity of the timestamp, and determine the correctness of the ECDSA signature:
z N = h 2 ( I D N , I D M , M N 1 , A C , T S N , I D B C ) ,  
Use the “Verify” function in Algorithm 4 to verify the signature:
V e r i f y ( z N , r N , s N ) .
If the verification is passed, the content request message is verified by N, and the smart contracts nmins and nmchk will be sent as follows (Algorithm 5):
Algorithm 5. The scheme of the smart contracts nmins and nmchk
function   insert   smart   constract   nmins ( string   nm _ id ,   string   nm _ detail , string   nm _ ac ,   string   nm _ tsp )   {   count + + ;   nm count . id = id ;   nm count . detail = detail ;   nm count . ac = ac ;   nm count . tsp = tsp } sign   string   n _ key ( nm _ id ,   nm _ detail , nm _ ac ,   nm _ tsp ) ; function   check   smart   cos tract   nmchk ( string   nm _ id ,   string   nm _ detail string   nm _ ac ,   string   nm _ tsp } {   return   nm _ id . exist ;   return   nm _ detail . exist ;   return   nm _ ac . exist ;   return   nm _ tsp . exist ; } verify   string   m _ key ( nm _ id ,   nm _ detail , nm _ ac ,   nm _ tsp )
M computes:
B C N = h 2 ( r N , s N ) ,  
and then uploads the calculated ( I D B C , B C N ) to the blockchain center.

3.5. Review Phase

The manufacturer will encrypt the digital trading card with a symmetric key and send it to the NBA digital trading card center after the manufacturing of the digital trading card. The NBA digital transaction card center decrypts the digital envelope to obtain the symmetric key to obtain the specific contents of the digital transaction card. Review video content to ensure compliance. A flow chart of the digital trading card review phase is shown in Figure 5.
Step 1: The manufacturer of the digital trading card first encrypts the digital content using a symmetric key:
k e y m = ( K e y I D , S e e d ) ,  
C s y m = E k e y m ( M ) ,  
Then, a random value k 3 is generated and calculated:
z M = h 3 ( I D M , I D N , M M 2 , C e r t M , A C , k e y m , T S M , I D B C ) ,  
and execute the function “Sign” shown in Algorithm 4 to generate the signature:
( r M , s M ) = S i g n ( z M , k 3 , d M ) ,  
C 3 = E P K N ( I D M , I D N , M M 2 , C e r t M , A C , k e y m , T S M , I D B C ) ,  
Send I D M , I D N , C 3 , S , ( r M , s M ) to the NBA digital trading card center, where M M 2 the information related to the digital trading card manufactured by role M.
Then, a random value k 3 is generated and calculated:
Digital trading card manufacturers use digital envelopes to encrypt digital content, ensuring the security of digital information.
Step 2: NBA digital trading card center calculates first:
( I D M , I D N , M M 2 , C e r t M , A C , k e y m , T S M , I D B C ) = D S K N ( C 3 ) ,  
Verify the timestamp:
T S N O W T S M Δ T ,  
and then calculate:
z M = h 3 ( I D M , I D N , M M 2 , C e r t M , A C , k e y m , T S M , I D B C ) ,  
Use the “Verify” function in Algorithm 4 to verify the ECDSA signature.
V e r i f y ( z M , r M , s M ) .  
If the verification is passed, N will obtain the digital trading card manufacturing information of M and trigger the smart contracts reanins remnins and reamnchk, as follows (Algorithm 6).
Algorithm 6. The scheme of the smart contracts remnins and remnchk
function   insert   smart   constract   remnins ( string   remn _ id ,   string   remn _ detail , string   remn _ skey ,   string   remn _ tsp )   {   remn count . id = id ;   remn count . detail = detail ;   remn count . akey = skey ;   remn count . tsp = tsp ; } sign   string   m _ key ( remn _ id ,   remn _ detail , remn _ skey ,   remn _ tsp ) ; verify   string   n _ key ( remn _ id ,   remn _ detail , remn _ skey ,   remn _ tsp ) ; function   check   smart   cos tract   remnchk ( string   remn _ id ,   string   remn _ detail string   remn _ skey ,   string   remn _ tsp } {   return   remn _ id . exist ;   return   remn _ detail . exist ;   return   remn _ skey . exist ;   return   remn _ tsp . exist ; }
N computes:
B C M = h 3 ( r M , s M ) ,  
and then uploads the calculated ( I D B C , B C M ) to the blockchain center.
The digital content is then decrypted using k e y m :
M = D k e y m ( C s y m ) .  
The NBA digital trading card center reviews the digital content by combining the decrypted digital content with verified manufacturing information.

3.6. Issue Phase

The NBA digital trading card center reviews the digital content and categorizes it, rating the quality of the video content to determine the quantity and price of distribution. The digital content is determined to be sold as a digital trading card, and the NBA digital trading card center encrypts the digital trading card K e y I D , S e e d . Afterward, the encrypted digital trading cards are sent to a digital trading card proxy for cloud storage. Figure 6, below, illustrates the flow chart for approving the distribution of digital trading cards.
Step 1: The NBA digital trading card center first encrypts the digital content using a symmetric key:
k e y m = ( K e y I D , S e e d ) ,  
c 1 = I D D C g a k mod p ,  
c 2 = g k mod p ,  
Then, a random value k 4 is generated and calculated:
z N = h 4 ( I D N , I D P , M N 2 , C e r t N , A C , c 1 , c 2 , k e y m , T S N , I D B C ) ,  
and execute the function “Sign” shown in Algorithm 4 to generate the signature:
( r N , s N ) = S i g n ( z N , k 4 , d N ) ,  
C 4 = E P K P ( I D N , I D P , M N 2 , C e r t N , A C , c 1 , c 2 , k e y m , T S N , I D B C ) .  
Send I D N , I D P , C 4 , S , ( r N , s N ) to the digital trading card proxy, where M N 2 is the role N (NBA digital trading card center) to determine the number and price of digital trading cards to be issued. c 1 , c 2 is the proxy’s re-encrypted cipher text.
Step 2: NBA digital trading card center decrypts as follows.
( I D N , I D P , M N 2 , C e r t N , A C , c 1 , c 2 , k e y m , T S N , I D B C ) = D S K P ( C 4 ) ,  
and verify:
T S N O W T S N Δ T ,
And use P K N to verify C e r t N to determine if the correctness of the ECDSA signature as follows:
z N = h 4 ( I D N , I D P , M N 2 , C e r t N , A C , c 1 , c 2 , k e y m , T S N , I D B C ) ,
Then, use the “Verify” function in Algorithm 4 to verify the signature:
V e r i f y ( z N , r N , s N ) ,
If the verification is passed, the digital trading card proxy will obtain the issuance information of N’s digital trading card and trigger the smart contracts npins and npchk, which are as follows (Algorithm 7).
Algorithm 7. The scheme of the smart contracts npins and npchk
function   insert   smart   constract   npins ( string   np _ id ,   string   np _ detail string   np _ skey ,   string   np _ tsp )   { count + + ;   np count . id = id ;   np count . detail = detail ;   np count . skey = skey ;   np count . tsp = tsp ; } sign   string   n _ key ( np _ id ,   np _ detail , np _ skey ,   np _ tsp ) ; verify   string   p _ key ( np _ id ,   np _ detail , np _ skey ,   np _ tsp ) ; function   check   smart   cos tract   npchk ( string   np _ id ,   string   np _ detail string   np _ skey ,   string   np _ tsp } {   return   np _ id . exist ;   return   np _ detail . exist ;   return   np _ skey . exist ;   return   np _ tsp . exist ; }
P uploads the resulting ( I D B C , B C N ) to the blockchain center by computing:
B C N = h 4 ( r N , s N ) .  

3.7. Identity Verification and Invoicing Phase

The user submits a purchase request to the NBA digital trading card center through the APP. After reviewing the identity of the application, an invoice is issued. Figure 7 below shows the flowchart of a user submitting a purchase request.
Step 1: The user generates random values k 5 , and calculates:
z U = h 5 ( I D U , I D N , M U 1 , C e r t U , T S U , I D B C ) ,
and execute the function “Sign” shown in Algorithm 4 to generate the signature:
( r U , s U ) = S i g n ( z U , k 5 , d U ) ,
C 5 = E P K N ( I D U , I D N , M U 1 , C e r t U , T S U , I D B C ) ,  
and sends I D U , I D N , C 5 , ( r U , s U ) to the NBA digital trading card center, where M U 1 is the role U submitting a purchase request to the NBA digital trading card center. C 5 is encrypted for integrity checking purposes, and I D U is the identity provided by the user to the digital transaction card center.
Step 2: NBA digital trading card center first calculates:
( I D U , I D N , M U 1 , C e r t U , T S U , I D B C ) = D S K N ( C 5 ) ,
Then, calculate:
T S N O W T S U Δ T ,
to verify the validity of the timestamp. Use P K U to verify C e r t U , check the correctness of the ECDSA signature, and then calculate:
z U = h 5 ( I D U , I D N , M U 1 , C e r t U , T S U , I D B C ) ,
Then, use the “Verify” function in Algorithm 4 to verify the signature:
V e r i f y ( z U , r U , s U ) .
If the verification is passed, N will obtain the digital trading card purchase information of U and trigger the smart contract anins and anchk. Algorithm 8 is as follows.
Algorithm 8. The scheme of the smart contracts unins and unchk
function   insert   smart   constract   unins ( string   un _ id ,   string   un _ detail , string   un _ cert ,   string   un _ tsp )   {   count + +   un count . id = id ;   un count . detail = detail ;   un count . cert = cert ;   un count . tsp = tsp ; } sign   string   a _ key ( un _ id ,   un _ detail , un _ cert ,   un _ tsp ) ; verify   string   n _ key ( un _ id ,   un _ detail , un _ cert ,   un _ tsp ) ; function   check   smart   cos tract   unchk ( string   un _ id ,   string   un _ detail string   un _ cert ,   string   un _ tsp } {   return   un _ id . exist ;   return   un _ detail . exist ;   return   un _ cert . exist ;   return   un _ tsp . exist ; }
Step 3: N computes:
B C U = h 5 ( r U , s U ) ,  
and then uploads the results B C U = h ( r U , s U ) to the blockchain center.
NBA digital trading card center generates random values k 6 and calculates:
z N = h 6 ( I D N , I D U , M N 3 , T I D , i n v o i c e , T S N , I D B C ) ,
and executes the function “Sign” as shown in Algorithm 4 to generate the signature:
( r N , s N ) = S i g n ( z N , k 6 , d N ) ,
C 6 = E P K U ( I D N , I D U , M N 3 , T I D , i n v o i c e , T S N , I D B C ) ,  
I D N , C 6 , ( r N , s N ) is then sent to the user, where M N 3 is a reply message from N to the U purchase access message. T I D is the transaction ID, and i n v o i c e is the invoice information.
If the verification passes, the user will receive the transaction ID and invoice. nulin and nuchk, smart contracts, are triggered as follows (Algorithm 9).
Algorithm 9. The scheme of the smart contracts nuins and nuchk
function   insert   smart   constrtidt   nuins ( string   nu _ id ,   string   nu _ detail , string   nu _ tid ,   string   nu _ tsp )   {   count + + ;   nu count . id = id ;   nu count . detail = detail ;   nu count . tid = tid ;   nu count . tsp = tsp ; } sign   string   n _ key ( nu _ id ,   nu _ detail , nu _ tid ,   nu _ tsp ) ; function   check   smart   cos trtidt   nuchk ( string   nu _ id ,   string   nu _ detail string   nu _ tid ,   string   nu _ tsp } {   return   nu _ id . exist ;   return   nu _ detail . exist ;   return   nu _ tid . exist ;   return   nu _ tsp . exist ; } verify   string   a _ key ( nu _ id ,   nu _ detail , nu _ tid ,   nu _ tsp )
The user calculates:
B C N = h 6 ( r N , s N ) ,
and then uploads the calculated ( I D B C , B C N ) to the blockchain center.

3.8. Payment Phase

Figure 8 below shows the process of issuing a payment certificate by the bank after the user has made a payment.
Step 1: The bank generates random values k 7 , and calculates:
z B = h 7 ( I D B , I D U , M B 1 , C e r t p a y , T S B , I D B C ) ,
and execute the function “Sign” shown in Algorithm 4 to generate the signature
( r B , s B ) = S i g n ( z B , k 7 , d B ) ,
C 7 = E P K U ( I D B , I D U , M B 1 , C e r t p a y , T S B , I D B C ) .  
And sends I D B , I D U , C 7 , ( r M , s M ) to the user. Where M B 1 is the information related to the issuance of the certificate by the bank. C 7 is encrypted for transmission security. I D B is the identity provided by the bank to the user.
Step 2: The user first calculates:
( I D B , I D U , M B 1 , C e r t p a y , T S B , I D B C ) = D S K U ( C 7 ) ,
and verify:
T S N O W T S B Δ T ,
Use P K B to verify C e r t B , check the correctness of the ECDSA signature, and then calculate:
z B = h 7 ( I D B , I D U , M B 1 , C e r t p a y , T S B , I D B C ) ,
Then, use the “Verify” function in Algorithm 4 to verify the signature.
V e r i f y ( z B , r B , s B ) ,
If the authentication is passed, the user will obtain the bank’s payment credentials for the transaction and trigger the smart contract buins and buchk, as follows (Algorithm 10).
Algorithm 10. The scheme of the smart contracts buins and buchk
function   insert   smart   constract   buins ( string   bu _ id ,   string   bu _ detail , string   bu _ payment ,   string   bu _ tsp )   {   count + + ;   bu count . id = id ;   bu count . detail = detail ;   bu count . payment = payment ;   bu count . tsp = tsp ; } sign   string   a _ key ( bu _ id ,   bu _ detail , bu _ payment ,   bu _ tsp ) ; function   check   smart   cos tract   buchk ( string   bu _ id ,   string   bu _ detail string   bu _ payment ,   string   bu _ tsp } {   return   bu _ id . exist ;   return   bu _ detail . exist ;   return   bu _ payment . exist ;   return   bu _ tsp . exist ;   } verify   string   n _ key ( bu _ id ,   bu _ detail , bu _ payment ,   bu _ tsp ) ;
N computes:
B C B = h 7 ( r B , s B ) ,
and then uploads the results B C B = h ( r B , s B ) to the blockchain center.

3.9. Browse and Access Phase

After the bank issues a payment certificate for the transaction, the user can use the payment certificate to initiate a browse request to the NBA digital trading card center. After the NBA digital trading card center verifies the transaction and the payment certificate, it sends a browse access message to the NBA digital trading card proxy. The NBA digital trading card proxy then issues a license key to the user, who uses it to decrypt the protected digital trading card. Figure 9, Figure 10 and Figure 11 show the flow chart of the payment verification and browse access phases.
Step 1: The user generates a random value k 8 and calculates:
z U = h 8 ( I D U , I D N , M U 2 , C e r t U , T I D , C e r t p a y , T S U , I D B C ) ,
and executes the function “Sign” as shown in Algorithm 4 to generate the signature:
( r U , s U ) = S i g n ( z U , k 8 , d U ) ,
C 8 = E P K N ( I D U , I D N , M U 2 , C e r t U , T I D , C e r t p a y , T S U , I D B C ) ,  
and sends I D U , I D N , C 8 , ( r U , s U ) to the NBA digital trading card center, where M U 2 is a browse request from U to N.
Step 2: NBA digital trading card center first calculates:
( I D U , I D N , M U 2 , C e r t U , T I D , C e r t p a y , T S U , I D B C ) = D S K N ( C 8 ) ,
and verify the validity of the timestamp by calculating:
T S N O W T S U Δ T .
Use P K U to verify C e r t U , check the correctness of the ECDSA signature, and then calculate:
z U = h 8 ( I D U , M U 2 , C e r t U , T I D , C e r t p a y , T S U , I D B C ) ,
and use the “Verify” function in Algorithm 4 to verify the signature:
V e r i f y ( z U , r U , s U ) ,
If the verification is passed, N will obtain the information of A’s digital trading card browsing application and trigger the smart contract reunins and reunchk; Algorithm 11 is as follows.
Algorithm 11. The scheme of the smart contracts reunins and reunchk
function   insert   smart   constract   reunins ( string   reun _ id ,   string   reun _ detail , string   reun _ payment ,   string   reun _ tsp )   {   count + + ;   reun count . id = id ;   reun count . detail = detail ;   reun count . payment = payment ;   reun count . tsp = tsp ; } sign   string   a _ key ( reun _ id ,   reun _ detail , reun _ payment ,   reun _ tsp ) ; function   check   smart   cos tract   reunchk ( string   reun _ id ,   string   reun _ detail , string   reun _ payment ,   string   reun _ tsp ) {   return   reun _ id . exist ;   return   reun _ detail . exist ;   return   reun _ payment . exist ;   return   reun _ tsp . exist ; } verify   string   n _ key ( reun _ id ,   reun _ detail , reun _ payment ,   reun _ tsp ) ;
N computes:
B C U = h 8 ( r U , s U ) ,
and then uploads the results B C U = h 8 ( r U , s U ) to the blockchain center.
Step 3: N generates a random value k 9 , and calculates:
b = ( C e r t U , V T i m e U ) ,
z N = h 9 ( I D N , I D P , b , M N 4 , T S N , I D B C ) ,  
and execute the function “Sign” shown in Algorithm 4 to generate the signature:
( r N , s N ) = S i g n ( z N , k 9 , d N ) ,
C 9 = E P K N ( I D N , I D P , b , M N 4 , T S N , I D B C ) .  
Sends I D N , I D U , C 9 , ( r N , s N ) to the user, where M N 4 is a reply from N to the U access message.
Step 4: The user first:
( I D N , I D P , b , M N 4 , T S N , I D B C ) = D S K A ( C 9 ) ,
and calculate:
T S N O W T S N Δ T .
To verify the validity of the timestamp, determine the correctness of the ECDSA signature, and then calculate:
z N = h 9 ( I D N , I D P , b , M N 4 , T S N , I D B C ) ,
then use the “Verify” function in Algorithm 4 to verify the signature:
V e r i f y ( z N , r N , s N ) .
If the verification passes, the smart contracts renuins and renuchk are triggered, and Algorithm 12 is as follows:
Algorithm 12. The scheme of the smart contracts renuins and renuchk
function   insert   smart   constract   renuins ( string   renu _ id ,   string   renu _ detail , string   renu _ tsp )   {   count + + ;   renu count . id = id ;   renu count . detail = detail ;   renu count . tsp = tsp ; } sign   string   n _ key ( renu _ id ,   renu _ detail , renu _ tsp ) ; verify   string   p _ key ( renu _ id ,   renu _ detail , renu _ tsp ) ; function   check   smart   cos tract   renuchk ( string   renu _ id ,   string   renu _ detail , string   renu _ tsp ) {   return   renu _ id . exist ;   return   renu _ detail . exist ;   return   renu _ tsp . exist ; }
N uploads the resulting ( I D B C , B C N ) to the blockchain center by computing:
B C N = h 9 ( r N , s N ) ,
Step 5: N generates a random value k 10 , and computes:
z N = h 10 ( I D N , I D P , M N 5 , b / a , T S N , I D B C ) ,
and execute the function “Sign” shown in Algorithm 4 to generate the signature:
S i g n ( z N , k 10 , d N ) ,
C 10 = E P K P ( I D N , I D P , M N 5 , b / a , T S N , I D B C ) .  
Sends I D N , I D P , C 10 , ( r N , s N ) to the digital trading card agent, where M N 5 is the N sent a permission message to P.
Step 6: Digital trading card proxy first calculates:
( I D N , I D P , M N 5 , b / a , T S N , I D B C ) = D S K P ( C 10 ) ,
and calculates:
T S N O W T S N Δ T .
To verify the validity of the timestamp, determine the correctness of the ECDSA signature, and then calculate:
z N = h 10 ( I D N , I D P , M N 5 , b / a , T S N , I D B C ) ,
and use the “Verify” function in Algorithm 4 to verify the signature:
V e r i f y ( z N , r N , s N ) .
If the authentication is passed, P will obtain N’s permission to browse to the user and trigger the smart contracts renpins and renpchk; Algorithm 13 is as follows:
P uploads the obtained ( I D B C , B C N ) to the blockchain center by computing:
B C N = h 10 ( r N , s N ) ,
Algorithm 13. The scheme of the smart contracts renpins and renpchk
function   insert   smart   constract   renpins ( string   renp _ id ,   string   renp _ detail , string   renp _ tsp )   {   count + + ;   renp count . id = id ;     renp count . detail = detail ;   renp count . tsp = tsp ; } sign   string   n _ key ( renp _ id ,   renp _ detail , renp _ tsp ) ; verify   string   p _ key ( renp _ id ,   renp _ detail , renp _ tsp ) ; function   check   smart   cos tract   renpchk ( string   renp _ id ,   string   renp _ detail , string   renp _ tsp ) {   return   renp _ id . exist ;   return   renp _ detail . exist ;   return   renp _ tsp . exist ; }
Digital trading card proxy starts issuing digital trading cards and agent keys to users, calculating:
c 1 = c 1 ( b / a ) ,
z P = h 11 ( I D P , I D U , A C , M P 1 , c 1 , c 2 , T S P , I D B C ) ,  
and executes the function “Sign” as shown in Algorithm 2 to generate the signature:
  ( r P , s P ) = S i g n ( z P , k 11 , d P ) ,
C 11 = E P K U ( I D P , I D U , A C , M P 1 , c 1 , c 2 , T S P , I D B C ) .  
Sends I D P , I D U , C 11 , ( r P , s P ) to the user, where M P 1 is information about the user’s access to the digital trading card.
Step 7: The user first calculates:
( I D P , I D U , A C , M P 1 , c 1 , c 2 , T S P , I D B C ) = D S K U ( C 11 ) ,
and calculates:
T S N O W T S P Δ T ,
to verify the validity of the timestamp and check the correctness of the ECDSA signature.
z P = h 10 ( I D P , I D U , A C , M P , c 1 , c 2 , T S P , I D B C ) .
Then, use the “Verify” function in Algorithm 4 to verify the signature:
V e r i f y ( z P , r P , s P ) .
If the verification is passed, the user will obtain the information sent by the digital trading card agent and trigger the smart contracts repuins and repuchk, which are as follows (Algorithm 14).
The user uploads the obtained ( I D B C , B C P ) to the blockchain center by calculating:
B C P = h 11 ( r P , s P ) .
Finally, the user computes:
I D D C = c 1 ( b ) / c 2 .
Algorithm 14. The scheme of the smart contracts repuins and repuchk
function   insert   smart   constract   repuins ( string   repu _ id ,   string   repu _ detail , string   repu _ tsp , string   repu _ ac )   {   repu count . id = id ;   repu count . detail = detail   repu count . tsp = tsp ;   repu count . ac = ac ; sign   string   p _ key ( repu _ id ,   repu _ detail , repu _ tsp ,   string   repu _ ac ) ; verify   string   a _ key ( repu _ id ,   repu _ detail , repu _ tsp ,   string   repu _ ac ) ; function   check   smart   cos tract   repuchk ( string   repu _ id ,   string   repu _ detail , string   repu _ tsp ,   string   repu _ ac   ) {   return   repu _ id . exist ;   return   repu _ detail . exist ;   return   repu _ tsp . exist ;   return   repu _ ac . exist ; }
And the digital trading card is obtained. The digital trading card agent then uses I D D C and obtains the C e r t U and V T i m e U through I D D C to be able to access the contents of the digital trading card at the specified time using the player.

4. Security Analysis

4.1. Dispersive and Membership Access Control

In the proposed scheme of this system, the blockchain network of the Hyperledger Fabric platform is used to build the consortium chain. The real entities correspond to the various organizations and peer nodes in the consortium chain. These organizations and peer nodes first need to register with the blockchain center and be recognized by the certificate authority to join the blockchain network and the corresponding channels. The peer nodes within the same organization belong to one organization and can trust each other, and the trust between different organizations is achieved by the certificate authority’s authentication. Information can be shared openly and transparently between entities by joining the same channel interaction, and information can be isolated from other entities through the channel. Using this model, we can build a decentralized system with transparent information security and mutual trust between different organizations.

4.2. Data Integrity and Unforgeable Data

In the proposed scheme, an ECDSA-based blockchain platform is used, and the parties need to store the messages on the chain using private key signatures. In the data sending stage, the sender takes the hash value of the message and signs it, using the ECDSA algorithm, and the attacker cannot tamper with the data, thus ensuring the data integrity. For example, in the stage of the manufacturer obtaining the manufacturing authorization, the digital trading card manufacturer M sends a message M 1 = I D M , I D N , M M 1 , C e r t M , T S M , I D B C to the digital trading card center N. The manufacturer needs to generate the corresponding z M = h ( M 1 ) , and then performs the ECDSA algorithm on the hash value to achieve the signature ( r M , s M ) = S i g n ( z M , k 1 , d M ) . The signatures of each stage are shown in Table 2.

4.3. Transparency

All the information on digital trading cards is publicly uploaded, and anyone who joins the blockchain can verify the correctness of the uploaded information they want to query, and the information is open and transparent. In addition, this paper uses a proxy re-encryption algorithm for browsing digital trading cards, and the identity of the authorized object of browsing digital trading cards is verified by the digital trading card center. The time limit for browsing the token of the digital trading card is decided by the digital trading card center so the user cannot take possession of the digital trading card. We use blockchain to issue certificates to the entities that need to join the channel through a CA, making it possible for all nodes participating in the system to reach trust cost-effectively. The consensus mechanism of the blockchain makes the information stored in each node consistent, making it impossible for entities to cheat each other. For example, when a user (U) needs to browse for access to a digital transaction card, it needs to apply to the digital transaction card center (N). The digital transaction card center (N) issues a key to the user (U) that contains U’s certificate C e r t U and a valid time V T i m e U for the user.

4.4. Traceability

The design uses the Hyperledger Fabric blockchain platform, which is a consortium chain platform where only entities recognized by the certificate authority can join the blockchain and use the corresponding public key to verify the data. This method is used to achieve traceability of data on the blockchain, prevent digital information forgery, and ensure the fairness of the digital trading card market. For example, if the digital trading card center (N) wants to trace the audit information of the digital trading card manufacturer (M), the digital trading card center (N) needs to use the public key Q M of the digital trading card manufacturer (M) and use V e r i f y ( z M , r M , s M ) to verify that the message was indeed uploaded by M, and M needs to be responsible for the uploaded information. Therefore, we achieve traceability of the message. The traceability verification at each stage is shown in Table 3 below.

4.5. Timeless

In the proposed scheme, the digital trading card center (N) is responsible for the identity and payment certificate of the user (U), and then the digital trading card center licenses the digital trading card agent to issue a time-limited broadcast license key to the user, who cannot achieve permanent digital trading card access through a single browsing application and spreads the browsing authorization to others at will. In this way, we avoid the leakage of digital transaction cards.

4.6. Replay Attacks

In proceeding with a message transmission, the message passes through an insecure transmission channel. An attacker can compromise the authentication of the system by intercepting legitimate message packets sent from sender A to receiver B. The attacker uses the information intercepted from the last communication content to impersonate sender A [35]. We add timestamps to each message to prevent replay attacks. For example, in the data transmission phase, the user (U) sends a message M U to the digital trading card center (N). It is necessary to add a timestamp T S U to it, and N determines whether the message was intercepted by a third party by verifying the timestamp T S N O W T S U Δ T . Even if the third party tampers with a timestamp T S U , we can determine whether the timestamp has been tampered with by using algorithm 4.

4.7. Man-in-the-Middle Attack

We also use asymmetric encryption for communication messages to resist the interception and tampering of message contents by attackers. For example, the message sender user (U) can look up the public key of the receiver’s digital trading card center (N) from the blockchain network and use N’s public key to asymmetrically encrypt. N receives the message and decrypts C 5 with his private key as follows ( I D U , I D N , M U , C e r t U , T S U , I D B C ) = D S K N ( C 5 ) . The attacker of the message does not know the private key of the receiver N and therefore cannot decrypt the message. Table 4 below shows the asymmetric encryption and decryption process of the communication message in each stage.

4.8. Sybil Attack

A Sybil attack is a type of attack against P2P networks, where the attacker attacks the redundancy of the blockchain network by simulating the creation of multiple identities to disrupt the consensus mechanism and thus take control of the network. In the Hyperledger Fabric used in our system, a certificate authority CA is used to authorize the nodes joining the network, and all the nodes are managed using certificates to avoid witch attacks.

5. Discussion

5.1. Computation Cost

In this section, we analyze the computational cost for each role in each phase of the study. We use asymmetric encryption and decryption, ECDSA signature and verification functions, hashing operations, symmetric encryption operations, multiplication, and division operations as the basis for calculating the costs. The cost of each phase is shown in Table 5.

5.2. Communication Cost

In Table 6, the communication cost of each phase in this scheme is analyzed. The maximum transmission speed is 14 Mbps in a 3.5G communication environment, 100 Mbps in a 4G communication environment, and 20 Gbps in a 5G communication environment. In this analysis, we assume that the ECDSA signature is 160 bits, asymmetrically encrypted messages are 1024 bits, symmetrically encrypted messages are 512 bits, and other message lengths (such as ID) are 80 bits. For example, in the manufacturing authorization phase, the amount of communication data between the NBA digital trading card center (N) and the digital trading card manufacturer (M) is four ID messages, two asymmetric encryption letters, and two signature messages, i.e., 4 * 80 bits + 2 * 1024 bits + 2 * 160 = 2688 bits total communication overhead for this phase. It takes 0.192 ms in a 3.5G communication environment, 0.027 ms in a 4G communication environment, and 0.134 μs in a 5G communication environment. We think this scheme has excellent performance.

5.3. Performance Analysis-Deploying System Based on Blockchain

In this section, we describe the deployment of the proposed method. Hyperledger Fabric uses Docker container technology to build the network. The Fabric network includes order nodes, CA nodes, and peer nodes. The scenario is described as follows: Peer nodes represent the various entities participating in the blockchain network. Each node has a blockchain data ledger and runs on a Docker container. We deploy the test network of fabric samples officially provided by Fabric. Hyperledger caliper version 0.42 and the blockchain platform uses Hyperledger Fabric version 2.3, on a server with an AMD R7 [email protected] GHz CPU and 4 GB RAM.
The following Figure 12 and Figure 13 have illustrated the throughput and latency of smart contract calling.
In Figure 12, we select the contract with the largest amount of data on the chain as the object of our performance test. By adjusting the Send Rate, we recorded the write and query throughput under the Send Rate of 100 to 500. WriteThroughput and QueryThroughput increase as Send Rate increases. When the Send Rate reaches 400, the written workload reaches the bottleneck and cannot be increased anymore.
In Figure 13, QueryLatency increases significantly when Send Rate reaches 300. Meanwhile, WriteLatency maintains an upward trend from Send Rate 100 to 400 and then decreases at Send Rate 500.

5.4. Function Comparison

Some of the systems mentioned in the related work on digital content are compared in Table 7 below.
In general, when we compare the six indicators of the blockchain-focused, comparative analysis with other approaches using tables, security analysis, unforgeable, traceable, and timeless in other digital property articles, only the proposed scheme can meet the above indicators.

6. Conclusions

The issue of NBA digital trading card anti-counterfeiting and its information is closely related to collectors. To solve the information asymmetry problem between buyers and sellers of digital trading cards and guarantee the security of digital trading card ownership, we propose a blockchain-based NBA digital trading card management system with anti-counterfeiting traceability. The production and issuance of each NBA digital trading card cannot pass the authorization and audit of the NBA digital trading card management center and be stored on the chain. The NBA digital trading card center as a seller cannot tamper with the selling information either. The blockchain can also provide practical and powerful evidence to protect collectors’ rights and interests if a dispute arises over the ownership of digital trading cards. We propose a digital trading card supply chain framework based on blockchain and smart contracts. To build a more secure system, we apply the ECDSA in the communication protocol, and we analyze the security of the system, such as the data integrity and tamper-evident data, distributed and member access, information transparency, and traceability. In addition to this, we believe that the proposed protocol is resistant to man-in-the-middle attacks, replay attacks, and witch attacks. Then, the proposed scheme is discussed in terms of the computational cost and the communication cost and compared with other schemes. Our system can protect the digital content more securely. In summary, we obtain the following contributions:
(1)
Hyperledger Fabric technology is used for the management of anti-counterfeit traceability of digital trading cards.
(2)
The ECDSA signature algorithm can be used to ensure data integrity.
(3)
Proxy re-encryption is used for secure and trusted digital content authorization.
(4)
Smart contracts are designed for the ins and outs of digital transaction cards.
(5)
An analysis of the computational and communication costs.
(6)
Collectors can verify the ownership of NBA digital trading cards via blockchain.

Author Contributions

Conceptualization, C.-L.C. and C.-C.F.; methodology, C.-L.C., C.-C.F. and M.Z.; validation, W.-J.T., W.Z. and H.S.; investigation, C.-L.C. and C.-C.F.; data analysis, W.-J.T., W.Z. and H.S.; writing—original draft preparation, C.-L.C. and C.-C.F.; writing—review and editing, W.-J.T., Y.-Y.D. and H.S.; supervision, C.-L.C. and M.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by the Science and Technology Project of Jilin Provincial Department of Education (JJKH20210457KJ), the Undergraduate Training Programs for Innovation and Entrepreneurship Project of Jilin Province (J202210203JSJ02), and the Ministry of Science and Technology, Taiwan, R.O.C., under contract MOST 111-2218-E-305-001–MBK and contract MOST 110-2410-H-324-004-MY2.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare no conflict of interest.

Notations

q A k-bit prime number
G F ( q ) Finite group q
E The elliptic curve defined on finite group q
G A generating point based on the elliptic curve E
I D X A name representing an identity X
k i The i -th generated a random number on the elliptic curve
A C N generated digital cards to generate authorization codes
( r X , s X ) / ( x X , y X ) The i -th ECDSA/elliptic curve signature value of user X
d X / Q X Private/public key of X
a / b Private/public key in proxy re-encryption
M X i The i -th message sent by role X
I D B C An index value of blockchain message
B C X Blockchain messages for X
T S X / T S N O W T i X’s timestamp/current timestamp
P K X / S K X X’s public key/private key that was issued by B B C
E P K X ( M ) / D S K X ( M ) Encrypt/decrypt the message M using X’s public key/private key
E k e y m ( M ) / D k e y m ( M ) Encrypt/decrypt the digital content using symmetric keys
I D D C An identity of digital content
k e y m Asymmetric key containing KeyID and Seed
C e r t X A digital certificate X conforms to the X.509 standard
C e r t P a y Certification issued by the bank for the user’s purchase
Z X The hash value of X
h i ( ) The i -th hash function
C s y m The ciphertext obtained by symmetric encryption
x X = ?   r X .Verify whether x X is equal to   r X

References

  1. Trading Card—Wikipedia. Available online: https://en.wikipedia.org/wiki/Trading_card (accessed on 22 July 2022).
  2. Sports Trading Card Market Size and Forecast. Available online: https://www.verifiedmarketresearch.com/product/sports-trading-card-market/ (accessed on 22 July 2022).
  3. Ebay’s 2021 “State of Trading Cards” Report Spotlights Collecting Trends and Industry Predictions. Available online: https://www.ebayinc.com/stories/news/ebays-2021-state-of-trading-cards-report-spotlights-collecting-trends-and-industry-predictions/ (accessed on 22 July 2022).
  4. Operation Bullpen. Available online: https://archives.fbi.gov/archives/news/stories/2005/july/operation-bullpen-overview (accessed on 22 July 2022).
  5. Rovell: A Look Inside the Scandal Rocking the Sports Memorabilia World. Available online: https://www.actionnetwork.com/general/darren-rovell-card-memorabilia-fraud-national-sports-collector-convention (accessed on 22 July 2022).
  6. PSA-Wikipedia. Available online: https://en.wikipedia.org/wiki/PSA (accessed on 22 July 2022).
  7. Nakamoto, S. Bitcoin: A peer-to-peer electronic cash system. Decentralized Bus. Rev. 2008, 21260. Available online: https://klausnordby.com/bitcoin/Bitcoin_Whitepaper_Document_HD.pdf (accessed on 22 July 2022).
  8. Ante, L. The non-fungible token (NFT) market and its relationship with Bitcoin and Ethereum. FinTech 2022, 1, 216–224. [Google Scholar] [CrossRef]
  9. Chen, C.-L.; Lin, C.-Y.; Chiang, M.-L.; Deng, Y.-Y.; Chen, P.; Chiu, Y.-J. A traceable online will system based on blockchain and smart contract technology. Symmetry 2021, 13, 466. [Google Scholar] [CrossRef]
  10. Chen, C.-L.; Deng, Y.-Y.; Tsau, W.-J.; Li, C.-T.; Lee, C.-C.; Wu, C.-M. A traceable online insurance claims system based on blockchain and smart contract technology. Sustainability 2021, 13, 9386. [Google Scholar] [CrossRef]
  11. Chen, C.; Lim, Z.; Liao, H.; Deng, Y.; Chen, P. A traceable and verifiable tobacco products logistics system with GPS and RFID technologies. Appl. Sci. 2021, 11, 4939. [Google Scholar] [CrossRef]
  12. Deepa, N.; Pham, Q.; Nguyen, D.; Bhattacharya, S.; Prabadevi, B.; Gadekallu, T.; Maddikunta, P.; Fang, F.; Pathirana, P. A survey on blockchain for big data: Approaches, opportunities, and future directions. Future Gener. Comput. Syst. 2022, 131, 209–226. [Google Scholar] [CrossRef]
  13. Stamatellis, C.; Papadopoulos, P.; Pitropakis, N.; Katsikas, S.; Buchanan, W.J. A Privacy-Preserving Healthcare Framework Using Hyperledger Fabric. Sensors 2020, 20, 6587. [Google Scholar] [CrossRef]
  14. Chen, C.; Wang, T.; Tsaur, W.; Weng, W.; Deng, Y.; Cui, J. Based on Consortium Blockchain to Design a Credit Verifiable Cross University Course Learning System. Secur. Commun. Netw. 2021, 2021, 8241801. [Google Scholar] [CrossRef]
  15. Chen, C.-L.; Deng, Y.-Y.; Li, C.-T.; Zhu, S.; Chiu, Y.-J.; Chen, P.-Z. An IoT-Based Traceable Drug Anti-Counterfeiting Management System. IEEE Access 2020, 8, 224532–224548. [Google Scholar] [CrossRef]
  16. Zhao, S.; O’Mahony, D. Bmcprotector: A blockchain and smart contract based application for music copyright protection. In Proceedings of the 2018 International Conference on Blockchain Technology and Application, Xi’an, China, 10–12 December 2018; pp. 1–5. [Google Scholar]
  17. Jing, N.; Liu, Q.; Sugumaran, V. A blockchain-based code copyright management system. Inf. Process. Manag. 2021, 58, 102518. [Google Scholar] [CrossRef]
  18. Wang, Y.-C.; Chen, C.-L.; Deng, Y.-Y. Authorization Mechanism Based on Blockchain Technology for Protecting Museum-Digital Property Rights. Appl. Sci. 2021, 11, 1085. [Google Scholar] [CrossRef]
  19. Wang, N.; Xu, H.; Xu, F.; Cheng, L. The algorithmic composition for music copyright protection under deep learning and blockchain. Appl. Soft Comput. 2021, 112, 107763. [Google Scholar] [CrossRef]
  20. NBA Top Shot Mints A Unicorn: How an Ethereum Competitor Cashed in on The NFT Craze. Available online: https://www.forbes.com/sites/brettknight/2021/03/30/nba-top-shot-dapper-labs-nft-funding/?sh=2b0b234a67ae (accessed on 22 July 2022).
  21. Ma, Z.; Jiang, M.; Gao, H.; Wang, Z. Blockchain for digital rights management. Future Gener. Comput. Syst. 2018, 89, 746–764. [Google Scholar] [CrossRef]
  22. Ma, Z.; Wang, L.; Wang, X.; Wang, Z.; Zhen, W. Blockchain-enabled decentralized trust management and secure usage control of IoT big data. IEEE Internet Things J. 2019, 7, 4000–4015. [Google Scholar]
  23. Guo, J.; Li, C.; Zhang, G.; Sun, Y.; Bie, R. Blockchain-enabled digital rights management for multimedia resources of online education. Multimed. Tools Appl. 2020, 79, 9735–9755. [Google Scholar] [CrossRef]
  24. Khan, U.; An, Z.; Imran, A. A blockchain Ethereum technology-enabled digital content: Development of trading and sharing economy data. IEEE Access 2022, 8, 217045–217056. [Google Scholar] [CrossRef]
  25. Li, M.; Zeng, L.; Zhao, L.; Yang, R.; An, D.; Fan, H. Blockchain-watermarking for compressive sensed images. IEEE Access 2021, 9, 56457–56467. [Google Scholar] [CrossRef]
  26. Heo, G.; Yang, D.; Doh, I.; Chae, K. Efficient and secure blockchain system for digital content trading. IEEE Access 2021, 9, 77438–77450. [Google Scholar] [CrossRef]
  27. Polge, J.; Robert, J.; Le Traon, Y. Permissioned blockchain frameworks in the industry: A comparison. ICT Express 2020, 7, 229–233. [Google Scholar] [CrossRef]
  28. Androulaki, E.; Barger, A.; Bortnikov, V.; Cachin, C.; Christidis, K.; De Caro, A.; Enyeart, D.; Ferris, C.; Laventman, G.; Manevich, Y.; et al. Hyperledger fabric: A distributed operating system for permissioned blockchains. In Proceedings of the Thirteenth EuroSys Conference, Porto, Portugal, 23–26 April 2018; pp. 1–15. [Google Scholar]
  29. Gai, R.; Du, X.; Ma, S.; Chen, N.; Gao, S. A summary of the research on the foundation and application of blockchain technology. J. Phys. Conf. Ser. 2020, 1693, 012025. [Google Scholar] [CrossRef]
  30. Nasir, Q.; Qasse, I.A.; Abu Talib, M.; Nassif, A. Performance analysis of hyper ledger fabric platforms. Secur. Commun. Netw. 2018, 2018, 3976093. [Google Scholar] [CrossRef]
  31. Chen, C.-L.; Yang, J.; Tsaur, W.-J.; Weng, W.; Wu, C.-M.; Wei, X. Enterprise Data Sharing with Privacy-Preserved Based on Hyperledger Fabric Blockchain in IIOT’s Application. Sensors 2022, 22, 1146. [Google Scholar] [CrossRef] [PubMed]
  32. Szabo, N. The Idea of Smart Contracts. Nick Szabo’s Papers and Concise Tutorials. 1997, 6, p. 199. Available online: http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart_contracts_idea.html (accessed on 22 July 2022).
  33. Johnson, D.; Menezes, A.; Vanstone, S. The elliptic curve digital signature algorithm (ECDSA). Int. J. Inf. Secur. 2001, 1, 36–63. [Google Scholar] [CrossRef]
  34. Blaze, M.; Bleumer, G.; Strauss, M. Divertible protocols and atomic proxy cryptography. In International Conference on the Theory and Applications of Cryptographic Techniques; Springer: Berlin, Germany, 1998; pp. 127–144. [Google Scholar]
  35. Malladi, S.; Alves-Foss, J.; Heckendorn, R.B. On Preventing Replay Attacks on Security Protocols. 2002. Available online: https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.15.6492&rep=rep1&type=pdf (accessed on 22 July 2022).
Figure 1. System architecture diagram.
Figure 1. System architecture diagram.
Symmetry 14 01827 g001
Figure 2. The flow chart of the registration phase.
Figure 2. The flow chart of the registration phase.
Symmetry 14 01827 g002
Figure 3. The flowchart of the Manufacturing Authentication phase (M to N).
Figure 3. The flowchart of the Manufacturing Authentication phase (M to N).
Symmetry 14 01827 g003
Figure 4. The flowchart of the Manufacturing Authentication phase (N to M).
Figure 4. The flowchart of the Manufacturing Authentication phase (N to M).
Symmetry 14 01827 g004
Figure 5. The flowchart of the Review Phase.
Figure 5. The flowchart of the Review Phase.
Symmetry 14 01827 g005
Figure 6. The flowchart of the Issue Phase.
Figure 6. The flowchart of the Issue Phase.
Symmetry 14 01827 g006
Figure 7. The flowchart of the Identity Verification and Invoicing Phase.
Figure 7. The flowchart of the Identity Verification and Invoicing Phase.
Symmetry 14 01827 g007
Figure 8. The flowchart of the Payment Phase.
Figure 8. The flowchart of the Payment Phase.
Symmetry 14 01827 g008
Figure 9. The flowchart of the Browse and Access phase (U and N).
Figure 9. The flowchart of the Browse and Access phase (U and N).
Symmetry 14 01827 g009
Figure 10. The flowchart of the Browse and Access Phase (N to P).
Figure 10. The flowchart of the Browse and Access Phase (N to P).
Symmetry 14 01827 g010
Figure 11. The flowchart of the Browse and Access Phase (P to U).
Figure 11. The flowchart of the Browse and Access Phase (P to U).
Symmetry 14 01827 g011
Figure 12. Throughput of transaction with varying Send Rate.
Figure 12. Throughput of transaction with varying Send Rate.
Symmetry 14 01827 g012
Figure 13. Latency of transaction with varying Send Rate.
Figure 13. Latency of transaction with varying Send Rate.
Symmetry 14 01827 g013
Table 1. Existing Digital Content/Digital Rights Management Survey.
Table 1. Existing Digital Content/Digital Rights Management Survey.
AuthorsYearObjectiveTechnologiesMeritsDemerits
Ma et al. [21]2018Blockchain-based scheme for digital rights managementEthereum,
Smart Contract
Detailed implementation of DRM on a blockchain platform, transparency data format standardizationTimeless
Not applicable
Ma et al. [22]2019Permissioned blockchain-based decentralized trust management and secure usage control scheme of IoT big dataEthereum,
Smart Contract
Detailed implementation of DRM on a blockchain platformNo security analysis and no specific comparison with other methods
Guo et al. [23]2020Combination of the public and private blockchains-enabled digital rights management systemSmart Contract,
Blockchain
With a detailed functional module design and system architecture designNo security analysis, and comparison with other methods
Khan et al. [24]2020Content protection and transaction method using blockchain Ethereum technologyEthereum,
Smart Contract
There is a detailed implementation process
An encryption algorithm is implemented for the content
No safety analysis, and comparison with other methods
Li et al. [25]2021Blockchain-watermarking scheme to protect the privacyWatermarking,
compressed sensing,
BlockChain,
IPFS
The low computational cost of the encryption process, simultaneous encryption, and compression, robustness of ciphertextNo detailed chain code implementation process
Heo et al. [26]2021Using SBBC’s blockchain digital content trading systemFingerprinting,
BlockChain,
SBBC,
Consensus, algorithm.
Solves the problem of illegal digital content copying and leakage
Addresses blockchain network overload and storage space limitations
Only part of the blockchain algorithm has been designed, and there are restrictions on the environment of use
Table 2. Verification of data integrity and unforgeability of the proposed scheme.
Table 2. Verification of data integrity and unforgeability of the proposed scheme.
PhasePartyMessageHash ValueVerification
SenderReceiver
ManufacturingMN M 1 = I D M , I D N , M M 1 , C e r t M , T S M , I D B C z M = h ( M 1 ) ( r M , s M ) = S i g n ( z M , k 1 , d M )
AuthorizationNM M 2 = I D N , I D M , M N 1 , A C , T S N , I D B C z N = h ( M 2 ) ( r N , s N ) = S i g n ( z N , k 2 , d N )
ReviewMN M 3 = I D M , I D N , M M 2 , C e r t M , A C , k e y m , T S M , I D B C z M = h ( M 3 ) ( r M , s M ) = S i g n ( z M , k 3 , d M )
IssuedNP M 4 = I D N , I D P , M N 2 , C e r t N , A C , c 1 , c 2 , k e y m , T S N , I D B C z N = h ( M 4 ) ( r N , s N ) = S i g n ( z N , k 4 , d N )
Verify User IdUN M 5 = I D U , I D N , M U 1 , C e r t U , T S U , I D B C z U = h ( M 5 ) ( r U , s U ) = S i g n ( z U , k 5 , d U )
and InvoiceNU M 6 = I D N , I D U , M N 3 , T I D , i n v o i c e , T S N , I D B C z N = h ( M 6 ) ( r N , s N ) = S i g n ( z N , k 6 , d N )
PaymentBU M 7 = I D B , I D U , M B 1 , C e r t p a y , T S B , I D B C z B = h ( M 7 ) ( r B , s B ) = S i g n ( z B , k 7 , d B )
BrowseUN M 8 = I D U , I D N , M U 2 , C e r t U , T I D , C e r t p a y , T S U , I D B C z U = h ( M 8 ) ( r U , s U ) = S i g n ( z U , k 8 , d U )
RequestNU M 9 = I D N , I D P , b , M N 4 , T S N , I D B C z N = h ( M 9 ) ( r N , s N ) = S i g n ( z N , k 9 , d N )
andNP M 10 = I D N , I D P , M N 5 , b / a , T S N , I D B C z N = h ( M 10 ) ( r N , s N ) = S i g n ( z N , k 10 , d N )
AccessPU M 11 = I D P , I D U , A C , M P 1 , c 1 , c 2 , T S P , I D B C z P = h ( M 11 ) ( r P , s P ) = S i g n ( z P , k 11 , d P )
Table 3. Traceability verification at each stage.
Table 3. Traceability verification at each stage.
PhasePartyVerification
SenderReceiver
ManufacturingMN V e r i f y ( z M , r M , s M )
AuthorizationNM V e r i f y ( z N , r N , s N )
ReviewMN V e r i f y ( z M , r M , s M )
IssuedNP V e r i f y ( z N , r N , s N )
Verify User IdUN V e r i f y ( z U , r U , s U )
and InvoiceNU V e r i f y ( z N , r N , s N )
PaymentBU V e r i f y ( z B , r B , s B )
BrowseUN V e r i f y ( z U , r U , s U )
RequestNU V e r i f y ( z N , r N , s N )
andNP V e r i f y ( z N , r N , s N )
AccessPU V e r i f y ( z P , r P , s P )
Table 4. The asymmetric encryption and decryption process of the communication message in each stage.
Table 4. The asymmetric encryption and decryption process of the communication message in each stage.
PhasePartyEncryptionDecryption
SenderReceiver
ManufacturingMN C 1 = E P K N ( I D M , I D N , M M 1 , C e r t M , T S M , I D B C ) ( I D M , I D N , M M 1 , C e r t M , T S M , I D B C ) = D S K N ( C 1 )
AuthorizationNM C 2 = E P K M ( I D N , I D M , M N 1 , A C , T S N , I D B C ) ( I D N , I D M , M N 1 , A C , T S N , I D B C ) = D S K M ( C 2 )
ReviewMN C 3 = E P K N ( I D M , I D N , M M 2 , C e r t M , A C , k e y m , T S M , I D B C ) ( I D M , I D N , M M 2 , C e r t M , A C , k e y m , T S M , I D B C ) = D S K N ( C 3 )
IssuedNP C 4 = E P K P ( I D N , I D P , M N 2 , C e r t N , A C , c 1 , c 2 , k e y m , T S N , I D B C ) I D N , I D P , M N 2 , C e r t N , A C , c 1 , c 2 , k e y m , T S N , I D B C ) = D S K P ( C 4 )
Verify User IdUN C 5 = E P K N ( I D U , I D N , M U 1 , C e r t U , T S U , I D B C ) ( I D U , I D N , M U 1 , C e r t U , T S U , I D B C ) = D S K N ( C 5 )
and InvoiceNU C 6 = E P K U ( I D N , I D U , M N 3 , T I D , i n v o i c e , T S N , I D B C ) ( I D N , I D U , M N 3 , T I D , i n v o i c e , T S N , I D B C ) = D S K U ( C 6 )
PaymentBU C 7 = E P K U ( I D B , I D U , M B 1 , C e r t p a y , T S B , I D B C ) ( I D B , I D U , M B 1 , C e r t p a y , T S B , I D B C ) = D S K U ( C 7 )
BrowseUN C 8 = E P K N ( I D U , I D N , M U 2 , C e r t U , T I D , C e r t p a y , T S U , I D B C ) ( I D U , I D N , M U 2 , C e r t U , T I D , C e r t p a y , T S U , I D B C ) = D S K N ( C 8 )
RequestNU C 9 = E P K N ( I D N , I D P , b , M N 4 , T S N , I D B C ) ( I D N , I D P , b , M N 4 , T S N , I D B C ) = D S K A ( C 9 )
andNP C 10 = E P K P ( I D N , I D P , M N 5 , b / a , T S N , I D B C ) ( I D N , I D P , M N 5 , b / a , T S N , I D B C ) = D S K P ( C 10 )
AccessPU C 11 = E P K U ( I D P , I D U , A C , M P 1 , c 1 , c 2 , T S P , I D B C ) ( I D P , I D U , A C , M P 1 , c 1 , c 2 , T S P , I D B C ) = D S K U ( C 11 )
Table 5. Computation costs of the proposed scheme.
Table 5. Computation costs of the proposed scheme.
Phase1st Role2nd Role3rd Role
Manufacturing
Authorization
Digital Trading Cards ManufacturerNBA Digital Trading Cards CenterN/A
T s i g + T v e r + 3 T h a s h + 2 T E / D T s i g + T v e r + 3 T h a s h + 2 T E / D
ReviewDigital Trading Cards ManufacturerNBA Digital Trading Cards CenterN/A
T s i g + T v e r + 3 T h a s h + 2 T E / D + T S y m T s i g + T v e r + 3 T h a s h + 2 T E / D + T S y m
IssuedNBA Digital Trading Cards CenterDigital Trading CardsProxyN/A
T s i g + T v e r + 3 T h a s h + 2 T E / D + T exp + 2 T d i v + T m u l T s i g + T v e r + 3 T h a s h + 2 T E / D
Verify User Id
and Invoice
UserNBA Digital Trading Cards CenterN/A
T s i g + T v e r + 3 T h a s h + 2 T E / D T s i g + T v e r + 3 T h a s h + 2 T E / D
PaymentBankUserN/A
T s i g + T h a s h + T E / D T v e r + 2 T h a s h + T E / D
Browse
Request
and
Access
UserNBA Digital Trading Cards
Center
Digital Trading CardsProxy
T s i g + 2 T v e r + 5 T h a s h + 3 T E / D + T exp + T d i v 2 T s i g + T v e r + 4 T h a s h + 3 T E / D T s i g + T v e r + 3 T h a s h + 2 T E / D + T exp + T d i v
T s i g : signature operation; T v e r : verify operation; T E / D : encryption/decryption operation; T h a s h : hash function operation; T E / D : encryption/decryption operation; T S y m : symmetric encryption/decryption operation; T exp : an exponential operation; T d i v : a division operation; T m u l : a multiplication operation.
Table 6. Computation costs of the proposed scheme.
Table 6. Computation costs of the proposed scheme.
PhaseMessage
Length
3.5G
(14 Mbps)
4G
(100 Mbps)
5G
(20 Gbps)
Manufacturing
Authorization
2688 bits0.192 ms0.027 ms0.134 μs
Review1856 bits0.133 ms0.019 ms0.093 μs
Issued1362 bits0.097 ms0.014 ms0.068 μs
Verify User Id
and Invoice
2688 bits0.192 ms0.027 ms0.134 μs
Payment1344 bits0.096 ms0.014 ms0.065 μs
Browse
and
Access
5076 bits0.384 ms0.054 ms0.268 μs
Table 7. Comparison between Ethereum and Hyperledger Fabric.
Table 7. Comparison between Ethereum and Hyperledger Fabric.
AuthorsYearObjectives123456
Ma et al. [21]2018Blockchain-based scheme for digital rights managementYYYYYN
Ma et al. [22]2019Permissioned blockchain-based decentralized trust management and secure usage control scheme of IoT big data YNNYNN
Guo et al. [23]2020Combination of the public and private blockchains-enabled digital rights management system YNNYNN
Khan et al. [24]2020Content protection and transaction method using blockchain Ethereum technologyYNNYNN
Li et al. [25]2021Blockchain-watermarking scheme to protect the privacyYYNYNN
Heo et al. [26]2021Using SBBC’s blockchain digital content trading systemYNNYNN
Ours2022Blockchain-based digital trading card management platformYYYYYY
Notes: 1: Blockchain-focused, 2: Comparative analysis with other approaches using tables, 3: Security Analysis, 4: Unforgeable, 5: Traceable, 6: Timeless, Y: Yes and N: No.
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Chen, C.-L.; Fang, C.-C.; Zhou, M.; Tsaur, W.-J.; Sun, H.; Zhan, W.; Deng, Y.-Y. A Blockchain-Based Anti-Counterfeit and Traceable NBA Digital Trading Card Management System. Symmetry 2022, 14, 1827. https://doi.org/10.3390/sym14091827

AMA Style

Chen C-L, Fang C-C, Zhou M, Tsaur W-J, Sun H, Zhan W, Deng Y-Y. A Blockchain-Based Anti-Counterfeit and Traceable NBA Digital Trading Card Management System. Symmetry. 2022; 14(9):1827. https://doi.org/10.3390/sym14091827

Chicago/Turabian Style

Chen, Chin-Ling, Cheng-Chen Fang, Ming Zhou, Woei-Jiunn Tsaur, Hongyu Sun, Wanbing Zhan, and Yong-Yuan Deng. 2022. "A Blockchain-Based Anti-Counterfeit and Traceable NBA Digital Trading Card Management System" Symmetry 14, no. 9: 1827. https://doi.org/10.3390/sym14091827

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop