# BGPcoin: Blockchain-Based Internet Number Resource Authority and BGP Security Solution
## 2 Background  
**RPKI. ** RPKI (Resource PKI) is an Internet infrastructure resource management system implemented by IANA and deployed experimentally to support inter-domain routing security [19]. It is used to issue certificates and verify the validity of routing announcements. The management system uses the X.509 public key certificate framework to issue Certification Authority (CA) certificates for Internet number resources (including IP address and AS number) and binds the number resources to its public key. Then, the CA certificate is used to issue the End Entity (EE) certificate for the terminal entity. When an IP address resource holder (a CA certificate holder in the RPKI system) needs to authorize an AS to advertise route reachability information for its specific IP address prefix, the IP address resource holder issues an EE certificate with the private key corresponding to the CA certificate. Then, the IP address resource holder signs a Route Origin Attestation (ROA) that binds its IP addresses to the AS number, with the private key corresponding to the EE certificate. RPKI validators verify the ROA to determine whether an AS is authorized by the holder of an IP address resource to advertise routing information corresponding to the IP address prefix. In general, RPKI reflects the administrative hierarchy currently for allocating the Internet Number Resource (i.e., IP address and AS number). As the root, the Internet Assigned Number Authority (IANA) distributes resources to regional Internet registries (RIRs). All five RIRs, as the administrative authorities, allocate and assign the globally unique identifiers (IP address numbers and ASNs), all the way to Internet Service Providers (ISPs). Accompanied by X.509 certificates, RPKI forms a top-down chain of trust. Each CA has a respective RPKI repository publication point, which publishes these certificates and authorities. Supported by such distributed repositories from all the CAs, Relying Parties (RPs) retrieve and validate an attestation or authority. While the highly centralized structure of the RPKI provides security guarantees against external threats, e.g., prefix hijacking, it may introduce new attack vectors exposed by the internal vulnerabilities. Since RPKI allows authorities for the unilateral revocation of allocated resources, they are able to revoke the ownership of a set of IP addresses and then effectively isolate the devices that have been using these IP addresses from any access to the Internet. Moreover, an authority can create some \"mirror worlds\" by presenting different misleading versions of the ownership directory. **Blockchain-based distributed ledgers technology and smart contract:** The concept of a blockchain was first introduced with Bitcoin, which was designed to be a globally consistent, append-only ledger of financial transactions [26]. The solution for Internet number resource management in this paper relies on Ethereum, a public and permissionless blockchain-based distributed ledger platform with an open source virtual machine named EVM [28]. In EVM, every user holds a blockchain address that acts as a public user identity and uses the corresponding private key to sign his or her transactions. After the transactions are submitted to the blockchain, the miners examine their validity as organized as a block and chain to the blockchain transitively using a cryptographic hash function. The verification (mining) process is based on the consensus paradigm in which miners compete for the right to append the transaction block to the blockchain, and the winner is rewarded with a certain amount of coins plus the transaction fees included in the block. In this way, a public (permissionless) blockchain like Ethereum realizes a distributed, irreversible and irrefutable database of transactions that can be accessed/managed by users that do not trust each other and without a common trusted third party. Ethereum's currency is used not only for ordinary transactions, but also to activate executable code that manipulates the blockchain state.