Ethereum-Blockchain-Based Technology of Decentralized Smart Contract Certificate System
Ethereum-Blockchain-Based Technology of Decentralized Smart Contract Certificate System
Ethereum-Blockchain-Based Technology of Decentralized Smart Contract Certificate System
Technology of Decentralized
Smart Contract Certificate System
Rui Xie, Yuhui Wang, Mingzhou Tan, Wei Zhu, Zhongjie Yang, Jiaji Wu, and Gwanggil Jeon
Abstract
Traditional paper certificates and electronic certificates have difficulties in preservation and management, not to mention other
problems concerning inconvenient verification, poor reliability, anti-counterfeiting and anti-tampering. This paper proposes a scheme
designed to build a decentralized certificate system that is based on blockchain technology and smart contract, in which a set of
blockchain certificate system aiming at providing blockchain certificate services for college students’ innovation and entrepreneur-
ship competition is developed. In this system, certain functions of the certificate about management, issuing, verification and revoca-
tion are realized via smart contract. Signer information, certificate template and certificate information are stored in a smart contract
that adopts structured data, thereby realizing more convenient callings in querying and validating certificate.
a ) A p p ly b ) S u b m it
Da t a
d ) W r it e After being authorized successfully, the certificate issuer
Ce r t Ma n a g e Ce r t Ag e n cy
can add or revoke certificates, and the relevant operations will
Con t r a ct Con t r a ct
be checked by CertManage Contract, in which any certificates
B lock cha in cannot be operated without permission.
Figure 1. The workflow of adding agency through smart contract. the realIZatIon of
certIfIcate management vIa smart contract
The certificate issuer calls CertManage Contract, adding a tem-
Cer t if ica t e plate in CertTemplate Contract. When issuing a certificate, the
A g ency b ) Ch e ck
Ce r t Ag e n cy
issuer chooses the suitable template, fills in the receiver infor-
c) Ch e ck Con t r a ct
P e r m is s io n
P e r m is s io n mation, and signs the information. After signing, CertManage
a) Ad d Ce r t i f i e r Contract will write the relevant data into the Certifier Contract.
I s s uer Con t r a ct
If the receiver does not exist, its information will be added into
Ce r t Ma n a g e
Con t r a ct
d ) W r it e
the Receiver Contract.
The specific procedure of certificate issuance is shown in
B lochcha in Fig. 3:
• Certificate issuer gathers receiver information.
• Submit information of the certificate being issued by calling
Figure 2. The workflow of adding issuer through smart contract. CertManage Contract.
• Check permission through CertManage Contract.
ing data can only be operated by the system manager through • Call the Certifier Contract to check the issuing authority.
the CertManage Contract. The process of adding its authority is • Call the CertAgency Contract to check the current issuing
shown in Fig. 1: authority.
• The certificate issuing agency submits its application to the • Call the CertTemplate Contract.
system administrator or certificate alliance committee. • Call the Receiver Contract to check receiver.
• The system administrator or the certificate alliance committee • Write the certificate information into Certifier Contract after
calls CertManage Contract to submit both the certificate passing all checks.
agency’s public key and its information. • Give feedback of the certificate issuing result to the issuer.
• CertManage Contract checks whether the caller’s permission • The issuer informs the receiver of the issued certificate infor-
conforms to the management permission. mation.
• After the check is passed, the issuing agency data is written The certificate receiver obtains from the issuer its own certifi-
into CertAgency Contract. cate which includes number, hash value, name, issuing date and
Under the non-three-level authority mode, the certificate receiver information.
issuing agency can register itself as the issuer in the contract The certificate receiver provides the certificate information
by calling CertManage contract without the system manager’s to the person or institution who needs to verify the certificate
permission. if necessary. By calling the smart contract or adopting the tools
After being authorized successfully, the certificate issuing provided, the certificate verifier performs its verification.
agency can use its private key to call CertManage Contract to Figure 4 shows the smart contract algorithm in verifying
register its own staff’s information and its public key information certificate information, which can be divided into seven steps:
into Certifier Contract, making its staff become the certificate • Call the smart contract, retrieve data of the entered Certifi-
issuer by setting its authority. cate to check whether the certificate is in the blockchain; if
The procedure of adding a certificate issuer to the smart so, proceed to next verification.
contract is shown in Fig. 2: • If the certificate can be found in the blockchain, the certif-
• Submit certificate issuer data. icate information is checked by the smart contract. If the
• Check the corresponding calling permission. calculated signature is consistent with the existing signature,
• Check the caller’s authority via CertAgency Contract. proceed to next verification.
• Write the issuer data into Certifier Contract after the permis- • If the certificate signature checking is passed, the public key
sion check is passed. corresponding to the signature, the public key used by the
d ) Ch e ck e ) Ch e ck
Receiv er I s s u er P e r m is s io n P e r m is s io n
a ) S u b m it
Ce r t if ie r
Co n t r a ct
f ) Fe t ch
b ) S ig n in g r e q u e s t T e m p la t e Ce r t T e m p la t e Ce r t A g e n cy
Co n t r a ct Co n t r a ct
i) Re t r u n r e s u lt
g ) P r o ce s s
Ce r t Ma n a g e c) Ch e ck Re ce iv e r
Co n t r a ct P e r m is s io n
j) No t if y Ce r t
Ce r t if ica t e s Re ce iv e r
Co n t r a ct Co n t r a ct
h ) W r it e
B lock cha in
Permission
No Yes No Yes
management
Independency No No No Yes
Full certificate
No No No Yes
information