NFT Certificates and Proof of Delivery for Fine Jewelry and Gemstones

Fine jewelry is a unique class of ornaments composed of precious metals and gemstones. Premium-grade metals such as gold, platinum, and sliver, and gemstones such as pearls, diamonds, rubies, and emeralds are used use to make fine jewelry. Paper-based certificates are typically issued by retailers and producers for fine jewelry and gemstones as a proof of origin, sale, ownership, history, and quality. However, paper certificates are subject to counterfeiting, loss, or theft. In this paper, we show how non-fungible tokens (NFTs) and Ethereum blockchain can be used for digital certification, proof of ownership, sale history, and quality, as well as proof of delivery for fine jewelry and gemstones. We present the proposed system design and architecture with sequence diagrams covering key interactions for jewelry production, purchase, and sale, along with algorithms related to NFT minting, auctioning, ownership management, and physical delivery. We demonstrate that our proposed NFT and blockchain-based solution can provide superior alternative in terms of verifiability, traceability, immutability, and security when compared with paper-based certification and traditional auctioning, delivery and ownership management. We make our developed smart contracts and testing scripts publicly available on GitHub.

ditional methods that lack transparency. Blockchain works 70 by keeping a list of transactions in a block [11]. A block contracts [12]. Smart contracts are self-executing codes that 80 monitor and manage transactions. Blockchain has proved to 81 be a secure way to store and share data. For example, sev-82 eral fields implement it as the basis of their applications, 83 such as managing autonomous vehicles, healthcare appli-84 cations, supply chain management, and waste processing 85 management [13], [14], [15], [16], [17], [18]. The immutable 86 feature of the blockchain ledger helps keep unchanged traces 87 of the entire process flow in the fine jewelry industry and 88 limits fraudulent activities. With blockchain, customers and 89 entities can know every stage and process when purchasing 90 jewelry, thus creating a more traceable record and encourag-91 ing ethical sourcing of its gemstones and metals [19], [20]. 92 On top of the blockchain implementation to facilitate the 93 gemstone supply chain, non-fungible tokens (NFTs) can be 94 employed to create digital assets and certificates that corre-95 spond to the physical gemstone [21]. NFTs are non-fungible, 96 meaning each token is unique and cannot be exchanged for 97 another [22]. Each NFT has a single owner and is backed 98 by the blockchain, which adds value and traceability to the 99 ownership of the digital asset [23]. Today, the NFTs market 100 is estimated to be worth USD 1.2 billion [24]. One of the 101 prominent areas that leverage NFTs is creative work. For 102 example, the fashion industry uses NFTs by providing digital 103 assets of their physical counterparts that can be used in the vir-104 tual world [24]. Similarly, NFTs can be useful to encode the 105 features of precious stones and metals, provide identification 106 and quality assurance, and help customers avoid purchasing 107 fine jewelry from fraud organizations, thus ensuring a the 108 purchase of a legitimate piece. 109 In addition to blockchain and NFTs, further work must be 110 done to ensure the safe delivery of the jewelry pieces to the 111 consumers before transferring the NFT ownerships. Various 112 technologies being developed under the web3 umbrella can 113 help guarantee the delivery of physical assets. Such tech-114 nologies include decentralized storage and dispute resolution 115 protocols [25].
116 Figure 1 illustrates the purchasing process flow of a pur-117 chase from Jewelry Producer to Customer. The figure has 118 been created by adapting process flows in the diamond indus-119 try and generalizing it to suit a process flow of purchasing 120 jewelry pieces [9], [10]. Integrating blockchain, NFTs, and 121 proof of delivery can establish a trustworthy network for man-122 aging valuable assets. This paper proposes a decentralized 123 the system stakeholders, presenting the system architec-  The remaining of this paper is organized as follows: 158 section II presents related work, followed by our proposed 159 NFTs solution in section III. Then, section IV describes 160 our implementation details, which we assess and discuss in 161 section V and section VI. Finally, section VII concludes and 162 summarizes this paper.  by implementing a generalized traceability blockchain [5]. 172 Firstly, stone information is added to the blockchain, such as 173 mining location, photo, and weight. Next, a block is produced 174 within the blockchain, and the stone is assigned a unique ID 175 number. Then, the rough stone is purchased by a gemstone 176 1 https://github.com/AnonGitter20220902/nft-for-jewels cutter, and the blockchain is updated with new information 177 about the new cut and polished stone. After that, the cut stone 178 is purchased and mounted in a ring for retail sale by a jeweler. 179 In the production stage, the blockchain is updated with the 180 new information about the ring. Finally, the ring is purchased 181 by a customer. The consumer may be given documentation 182 about the precious item that may include a unique ID to visu-183 alize specific aspects of the history on a specialized platform. 184 If requested, the consumer identity can also be stored on 185 the blockchain as proof of ownership. This approach pro-186 vides transparent tracking and traceability for consumers, 187 auditors, or companies. However, the paper leaves room for 188 further details to be investigated, considering various factors 189 that may affect security, diamond certification, and delivery. 190 This approach was studied by Dasaklis [27]. The researchers propose a 201 solution comprising three main layers: user level, operational 202 level cyber-physical systems (CPSs), and authorized coordi-203 nation level. Most importantly, data exchange and manipula-204 tion techniques are implemented in CPS. The DAM system 205 comprises many partnering organizations, each with its own 206 CPS that generates data. Therefore, blockchain is used to 207 store data and prevent manipulation. Meanwhile, an autho-208 rized coordinator begins receiving data and storing it in a 209 secure database. However, when data verification is required 210 during the functioning of CPSs, the coordinator verifies if 211 the partner is authenticated before sending the data. Next, 212 each partner hashes the corresponding data and confirms the 213 validity of the smart contract operations. Generally, the pro-214 posed approach can be applied for various applications with a 215 flexible range of partners and CPSs. However, this approach 216 requires further enhancements to the privacy and security 217 aspects.

219
The supply chain system based on blockchain consists of 220 a trade chain and an information chain platform [28]. The 221 critical functionality of the trade chain platform is to regulate 222 the trading process between supply chain companies, during 223 which a trade smart contract verifies the authenticity and 224 completion of a transaction. Additionally, when a transaction 225 is completed, the trade chain platform logs the start time, 226 parties involved, completion status, and other details and 227 makes them available to supply chain companies. However, 228 Information management is responsible for the information 229 chain platform. The supply chain platform stores relevant 230 data about the products in the supply chain. Also, the whole 231 life cycle of a product can be traced using recorded product 232 VOLUME 10,2022 information. Based on the results obtained, the system meets 233 essential supply chain criteria but must improve throughput 234 and security and ensure the physical delivery to customers.   of the blockchain network. A mining node is considered a 288 machine that captures all the network transactions to execute 289 and validate them. The mining nodes then solve a consensus 290 algorithm like the proof-of-work to mine a new block to the 291 chain. Each mining node has an identical copy of the entire 292 list of blocks. Actors in the system can use the front-end 293 Decentralized Applications (DApps) to call the smart contract 294 functions. Application programming interfaces such as Infura 295 help connect the DApps with the Ethereum network con-296 taining the smart contracts. Generally, each entity interacting 297 with the smart contracts requires a customized DApp for its 298 specified use case. Events in smart contracts help notify all 299 the participating actors in the system of alerts from function 300 processes.

301
Our proposed system aims to transfer and trace fine jewelry 302 NFT ownership. Figure 2 illustrates the system architecture 303 and gives a general overview of our work. The participating 304 actors are shown in the figure. They include the Certificate 305 Authority, Jewelry Retail Store, Courier Service, and Cus-306 tomer. The actors use the DApps to communicate with the 307 Ethereum Virtual Network. Each participating entity has a 308 unique Ethereum Address (EA) used to call the functions 309 of the smart contracts. An Ethereum Address is created by 310 hashing the public key of the actor. Each Ethereum account 311 contains a public-private key pair used to sign and verify 312 transactions digitally. Building the framework on Ethereum 313 helps provide anonymity, transparency, and integrity to all 314 transactions.

315
The proposed framework consists of three smart con-316 tracts (SCs). The first smart contract is the ERC-721 NFT 317 SC, which contains predefined functions from the ERC-721 318   The Certificate Authority needs to deploy the ERC-721 SC 340 as a first step. Then, Jewelry Producers submit their jewelry 341 pieces for checking and validation to generate a digital cer-342 tificate. Next, the Certificate Authority extracts the metadata 343 related to the jewelry piece and stores it in the IPFS storage. 344 Attributes such as the jewelry identification number, IPFS 345 reference, and the owner EA get shared with the SC to mint 346 the NFT. The Retail Store then purchases jewelry pieces from 347 the Jewelry Producer and receives the digital ownership of the 348 jewelry NFT. Finally, an event gets triggered to announce that 349 the NFT ownership has been changed. 350 Figure 4 presents the sequence diagram of the interac-351 tions during the jewelry bidding phase. First, the Retail Store 352 deploys the Bidding SC and initiates a new jewelry auction. 353 This action triggers an event to notify all the Customers that 354 an auction for the specified jewelry piece has begun. Inter-355 ested Customers view the event and send bidding requests 356 to the Bidding SC. The SC calculates the highest bidder, 357 stores the value sent by the Customer, and sends an event to 358 notify the actors of the winning bidder. The Retail Store then 359 approves the Customer and launches an event that a delivery 360 service is required to deliver the jewelry piece.    Tokenization is the process of creating digital assets, and in 436 Ethereum, there are two mainstream standards to tokenize 437 assets: ERC-20 and ERC-721. ERC-721 allows the freedom 438 of creating unique token IDs, a feature not found in ERC-20. 439 NFTs are popular in gaming and digital art. However, in our 440 implementation we use NFTs to create digital certificates for 441 jewelry and gemstones. As described before, Jewelry Produc-442 ers submit jewelry pieces to Certificate Authorities, where 443 the jewelry metadata gets generated based on the assessment 444 performed by the Certificate Authority. The metadata of the 445 jewelry piece includes description details such as the jewelry 446 type, material used, weight, and dimensions. Other metadata 447 may include pictures and videos taken of the jewelry piece. 448 Storing large files of the jewelry metadata is costly on the 449 ledger. Thus IPFS storage system is utilized. A URL link is 450 obtained from the IPFS storage and used as a reference to 451 the NFT metadata. The Certificate Authority generates the 452 jewelry NFT and provides ownership to the Jewelry Pro-453 ducer. The jewelry NFT ownership is then transferred based 454 on the ERC-721 standards once a Retail Store or a Customer 455 purchases a physical twin of the NFT.

457
In this section, we describe the functions and algorithms used 458 to perform the requirements of our proposed NFT-based solu-459 tion. The blockchain ledger is built on the Ethereum platform 460 during implementation, and smart contracts are written using 461 Solidity language. First, Algorithm 1 describes the process 462 of minting a new NFT, a feature exclusive to the Certificate 463 Authority. The algorithm takes in the EA of the NFT owner, 464 which is initially set to the Jewelry Producer. Additional 465 input information includes the fine jewelry serial number and 466 the IPFS link that includes the jewelry metadata. Eventually, 467 predefined functions from the ERC-721 library are called to 468 formally mint the NFT, after which an event is triggered at 469 the end to notify the entities in the network that a new jewelry 470 piece with its digital twin NFT has been added.

471
After the winner is announced, the Retail Store approves 472 the Customer as a purchaser of the jewelry piece. Algorithm 3 473 describes the process of establishing a delivery request. First, 474 an event is triggered to notify Courier Services that a new 475 delivery request has been created. The Courier Service needs 476 VOLUME 10, 2022  Emit events to announce successful delivery and transfer of jewelry NFT 10 else 11 Emit an event to notify a failed delivery 12 end Store ends the auction and triggers an event that announces 491 the winner and the top bid. The bidding amount remains 492 stored in the smart contract until the physical item is deliv-493 ered successfully. The amount then gets transferred to the 494 Retail Store. 495 Algorithm 4 describes the process of approving a success-496 ful delivery. After the physical delivery off-chain is com-497 pleted, the Customer must confirm receiving the physical 498 asset. If the Customer approves the delivery, the security 499 deposits get transferred back to the Customer and the Courier 500 Services. Additionally, the bidding amount saved in the bid-501 ding smart contract gets transferred to the Retail Store. If the 502 Customer does not approve the delivery, the security deposit 503 remains in the smart contract, and the Retail Store investigates 504 the issue off the chain. The Retail Store controls transferring 505 the security deposits based on the entered amount. On a suc-506 cessful delivery, the Retail Store confirms the transfer of the 507 jewelry NFT, and the new owner becomes the Customer who 508 purchased the physical jewelry piece.

510
This section includes the testing and validation procedure of 511 the smart contracts. Testing of smart contracts is done on 512 Ethereum by using Hardhat environment. Hardhat provides 513 various tools to compile, deploy, run, and test Solidity code. 514 For our tests, we compile the code using solc version 0.8.9, 515 with optimizations enabled at 1000 runs. We utilize Hard-516 hat's local node to deploy the compiled smart contracts to an 517 Ethereum testnet, enabling us to call any public function and 518 retrieve actual statistics on costs and blocktime latency. Fur-519 thermore, we take advantage of Hardhat's tools to automate 520 the test cases, generate coverage reports, and track the gas 521 costs of functions. In Ethereum, the gas cost of a function 522 represents how complex it is, and it is the metric used by 523 mining nodes to take rewards upon executing the code. This 524 section describes the test path we ran to validate our proof-525 of-concept implementation of the smart contracts.   In our testing we use a total of eight Ethereum accounts,  Table 1.  duration in seconds (7200 for two hours). The customers 545 are allowed for the duration of the auction to place their 546 bids by calling the bid function accompanied by a payment. 547 In our test C 1 starts the biddings with 0.5 ETH, followed by 548 C 2 with 0.6 ETH, then C 3 and C 4 with bids 0.7 ETH and 549 0.8 ETH, respectively. Finally, C 1 increases the bid amount 550 to 0.9 ETH, at which point the auction period ends, and RS 551 closes the auction. Since C 2,3,4 are no longer top bidders, 552 they can call withdraw to return their payment from the 553 Auction SC.

554
For the delivery phase, RS deploys a Delivery SC, calls 555 changeDeposit function to set the required deposit amount 556 to 0.5 ETH and confirms the winner of the auction on item 557 100 as C 1 by calling approveBuyer with the address and item 558 number as inputs. Then, each of the CS and C 1 pay a security 559 deposit of 0.5 ETH to establish the delivery, by calling couri-560 erDeposit and buyerDeposit respectively. Figure 8 displays 561 a value amount represented in Wei successfully submitted by 562 both actors. An event is then triggered to notify that a physical 563 delivery has started off the chain.

564
After receiving the delivery, C 1 calls buyerApproval to 565 confirm that the delivery was successfully completed, which 566 emits an event as seen in Figure 9, and returns the security 567 VOLUME 10, 2022   deposits back to the CS and C 1 . Figure 10 shows the ETH 568 balance of the two entities.

569
The last step in the testing is for RS to call approveTrans-  Our proposed solution addresses essential security and pri-586 vacy concerns commonly found in the assets traceability 587 field. These concerns range from data security aspects, such 588 as the integrity and confidentiality of the data, to service-589 related aspects, such as availability, accountability, and non-590 repudiation. Our security discussion qualitatively evaluates 591 these aspects of the proposed architecture and quantitatively 592 analyzes the security of the developed smart contracts using 593 dedicated tools. Blockchain, in essence, ensures the integrity of all data that 596 is passed to it as inputs, state variables, and outputs. Our 597 solution ensures that all data flows through the Ethereum 598 network. Data of small sizes, such as the fine jewelry pricing, 599 bidding amounts, and the owner of the jewelry, are stored 600 directly on the ledger. In contrast, large data, such as the 601 jewelry metadata, are linked to the chain via their hash.

602
As for data processing, our solution solely uses blockchain 603 for all code execution, eliminating any possibility of a mali-604 cious entity manipulating the data. However, considering 605 Ethereum continues to use proof of work, there is a chance 606 of a 51% attack, where more than half the participating 607 Ethereum nodes collude to sway the mining decisions. Although blockchain does not offer confidentiality to data 610 stored on the ledger by default, this aspect is not a barrier 611 to adopting the solutions due to two reasons: First, Ethereum 612 entities are pseudonyms, meaning even if the data is public, 613 it cannot be easily associated with an individual. Second, the 614 solution is compatible with encrypting the jewelry metadata 615 files before publishing them on IPFS.

617
Due to its decentralization structure, blockchain is very 618 resilient to attacks that prevent the availability of resources 619 to legitimate users. Even during attacks, such as denial of 620 service, all functions like minting jewel NFTs, bidding in the 621 marketplace, delivering goods, and transferring ownership 622 continue to work. 623

624
In our proposed system, tracking the actions of participants is 625 crucial to maintaining a trustworthy environment. Inquiries 626 such as knowing the initiator and miner of transactions are 627 stored with timestamps as part of the tamper-proof ledger. 628 Therefore, our approach allows us to track and trace all activ-629 ities. Furthermore, our adoption of the ERC-721 standard 630 ensures our solution provides a robust mechanism against 631 allowing unwanted entities from managing and maliciously 632 transferring the jewelry NFTs.  considering that the highest bidding Customer must pay the 638 fees beforehand, the Retail Store and Courier Service can 639 reject delivering the jewelry piece or transferring the NFT.   contracts heavily increase the gas cost of a transaction. 683 On the contrary, the other functions display much lower 684 transaction costs. Overall, the displayed transaction costs 685 present a feasible implementation of integrating blockchain 686 and NFTs in purchasing valuable assets. However, it needs to 687 be noted that Ether prices are not stable and keep fluctuating, 688 so this fluctuation introduces a tradeoff between cost and 689 requirement. Considering our solutions adopts the Ethereum blockchain, 692 there can be a heavy overhead toward a fully decentralized 693 connection to the network. Traditionally, end users must have 694 an updated Ethereum node running on their devices to be able 695 to initiate and respond to transactions and events. However, 696 more recently, solutions such as Infura and Alchemy simplify 697 the connection procedure and minimize the overhead of using 698 blockchain solutions.

699
On the other hand, latency is a character of the Ethereum 700 network, which is defined to stay in the range of 10 to 15 sec-701 onds, averaging around 13 seconds for most blocks. However, 702 in cases where the end-user requests a transaction with a low 703 gas price offer, the mining nodes will neglect the request for 704 long durations. As for throughput, it differs based on the func-705 tion called, which is why we include the maximum theoretical 706 throughput (transactions per second) in Table 3.

708
To gain a further understanding of how our proposed 709 approach achieves the goal of providing proof of ownership 710 and proof of delivery for fine jewelry and gemstones, we com-711 pare our solution against previous ones. For the comparison, 712 we chose all studies that propose a blockchain-based techni-713 cal solution.

714
As evident in Table 4, we are the only implemented and 715 deployed solution to offer scalable NFT-based proof of own-716 ership, proof of delivery, and a fully decentralized payment 717 mechanism. Notable studies such as Westerkamp    As a result, the watch owner can manage the entire pro-744 cess with more precision, accuracy, and minimal dam-745 age. Additionally, the buyer will have more confidence in 746 purchasing an original item that a reputable source has 747 verified.

748
Our system includes all aspects of issuing digital certifi-  ing NFTs, bidding for fine jewelry, transferring funds, proof 765 of delivery, and changing ownership. We demonstrated that 766 our solution is cost-effective and secure against cyberattacks 767 and vulnerabilities by presenting cost and security analysis. 768 Furthermore, we compared our approach against prior ones, 769 where we confirmed providing a comprehensive solution in 770 terms of reliability, security, traceability, and verifiability. 771 We also discussed that our solution could be used by addi-772 tional industries where physical assets are essential to trace 773 and deliver. As future work, we plan to develop front-end user 774 DApps and deploy our smart contracts on the Ethereum main 775 network. 776 assets for integrating the physical and financial supply chains in the con-