1 BlockNDN A Bitcoin Blockchain Decentralized System Over Named Data Networking
1 BlockNDN A Bitcoin Blockchain Decentralized System Over Named Data Networking
1 BlockNDN A Bitcoin Blockchain Decentralized System Over Named Data Networking
Abstract Blockchain provides a new approach for to communicate with each other. They increase the possibility of
participants to maintain reliable databases in untrusted networks the existence of supernodes and bring some insecurity factors
without centralized authorities. However, there are still many such as frauds and single point of failure. Also, the TCP/IP
serious problems in real blockchain systems in IP network such as protocol does not provide native support for multicasting,
the lack of support for multicast and the hierarchies of status. In resulting in an increase in data transmission overhead.
this paper, we design a bitcoin-like blockchain system named
BlockNDN over Named Data Networking and we implement and Named Data Networking (NDN) project [5] is an important
deploy it on our cluster as well. The resulting design solves those candidate for next-generation internet architectures. NDN
problems in IP network. It provides completely decentralized network puts contents into first place. Contents are named
systems and simplifies system architecture. It also improves the following hierarchical naming rules and these names replace the
weak-connectivity phenomenon and decreases the broadcast role of IP addresses. Interest packets and data packets are the
overhead. two fundamental packet types in NDN. Each interest packet
corresponds to only one data packet. Nodes in NDN pull data
Keywords blockchain; NDN; peer-to-peer; bitcoin; next from networks using interest packets. The one side requests data,
generation networks the consumer, sends out an interest packet carrying the data
I. INTRODUCTION name and this interest will be forwarded to the other sides, the
producers. Producers then send back a data packet to the
Blockchain is a shared, unchangeable ledger for recording requester along the same route form where its interest has come.
the history of transactions [1]. It was first used in bitcoin, The intermediate routers with caches selectively store data
functioning as a data structure. Now it is abstracted from bitcoin packets forwarded before so that data can be sent back
system and has developed into a promising technology solution immediately once new consumers request for the same content.
which provides secure and valid achievement of distributed
consensus in areas such as supply chain & logistics, finance and good fit to the large amounts of static content via various P2P
healthcare. A blockchain is comprised of digitally recorded data overlay networks [6].
in packages called blocks. Each block contains the hash value of
the previous-block which comes out first and eventually forms a Does blockchain fit better on NDN than on IP? What are the
linear chain of blocks with the others. Different distributed advantages? To investigate on these questions, we implement a
storage solutions and consensus schemes should be designed in bitcoin-like blockchain system that runs on NDN network. In
a blockchain system depending on different requirements, which our system, the hash values function as the unique identification
enables nodes confirm and record information without of blocks. A node sends out an interest with the hash of the latest
authorities. To take bitcoin [2] as an example, it uses proof-of- block it stores locally. If the other node receives this interest,
work (PoW) [3] as consensus algorithm and designs full node finding that it has the same block in its blockchain and that block
storage that the so-called full nodes in the system should is not the latest one, it will collect all blocks behind into a data
maintain the whole blocks by themselves. packet to send to the consumer. In this way, the new joiner or
disconnected nodes can update their state quickly, that is, they
However, the growth of blockchain still hits bottlenecks and can get the whole blocks in the system in a short time. Nodes
impediments at present. The weak-connectivity and improper can also request specific blocks in the system using broadcast
protocols cause the propagation delay in IP network which mechanism. Our analysis shows that the bitcoin blockchain
causes blockchain forks in some systems [4]. Besides, although system over NDN circumvents those problems which may occur
blockchain is a fully decentralized system by definition, it is hard in IP network. The result shows that we have designed a more
to establish the connections between homogeneous nodes in decentralized and simpler system. Nodes do not need to get
practice. For example, with neighbor discovery in bitcoin, some information about other nodes like the identities and locations.
IP addresses of capable volunteers are recommended as the They just search for specific blocks data in the networks. Also,
connection options for users. These volunteers are called DNS NDN supports multicast and broadcast by nature, which reduced
seed nodes which function as infrastructure to help normal users the cost of message passing.Note that a NDN router with content
76
The naming convention.
77
Updating status between users.
Block structure.
sync service gets the state of this consumer through the getblock
interest name prefix and checks if the name matches with any
block in its own blockchain. If the match is successful, it will
78
Among the above, R is the total number of nodes which are
informed of the new message. N is the number of nodes in the
whole network. is the number of forwarding of node i along
logical paths. is the average-physical distance for node i,
which represents the hops node i takes for forwarding the
message to those neighboring nodes according to the logical
topology.
Owing to the consistency of logical topology and physical
topology in NDN network architecture, the average-physical
distance that it takes is 1. A message will be forwarded to all the
other neighboring nodes when a node receives this message for
the first time. Within (2), the broadcast overhead under NDN
The logical topology and the physical topology.
network is as following:
79
same time, improvements need to be made to resist attacks and
strengthen system users can
develop chat applications, audit systems and others based on our
system. We also believe that blockchain can offer a new
perspective for the progress of NDN in aspects like routing
forwarding, namespacing and key management.
ACKNOWLEDGMENT
This work has been financially supported byShenzhen Key
Fundamental Research Projects (No.JCYJ20160330095313861,
Each node also act as a miner. JCYJ20151030154330711 and JCYJ20151014093505032).
REFERENCES
[1] The IBM blockchain: blockchain overview. [Online]. Available:
http://www.ibm.com/blockchain/what-is-blockchain.html
[2] The bitcoin standard client. [Online]. Available: http://github.com/
bitcoin/bitcoin/
[3] -to-peer
Consulted, 2009.
[4] J.A.D. Donet, C. Prez-Sol, and J. Herrera-Joanco The Bitcoin
P2P Network, The Workshop on Bitcoin Research, vol. 8438, pp. 87-
102, March 2014.
[5] Zhang Relatorio
Time record for the generation of blocks. Tecnico NDN-0001, Xerox Palo Alto Research Center-PARC, 2010.
[6] Van Jacobson, et al., VoCCN:voice-over content-centric networks,
user can run the program in proper working order. In our system, Proceedings of the 2009 ACM Conference on Emerging Networking
each node act as a miner. Nodes kept collecting data and Experiments and Technologies, Rome, Italy, December 2009, 2009.
calculating ceaselessly from the very beginning. They also [7] Zhang Lixia, et al., Named data networking Computer Communication
Review, vol 44, pp. 66-73, July 2014.
requested new blocks at the same time. After a period of time,
we added in node 4 to simulate the join of new members (Fig. [8] Zhenkai Zhu, et al., ACT: audio conference tool over named data
networking, Proceedings of the ACM SIGCOMM Workshop on
9). The node can update their blockchain in short order. Information-Centric Networking (ICN), Toronto, Canada, August 2011.
The difficulty of proof-of-work is configured to a fairly low [9] A. Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven
Goldfeder, Bitcoin and Cryptocurrency Technologies: A Comprehensive
degree. Miners only need to produce blocks with 27 leading Introduction. Princeton University Press, 2016.
zeros in bits. 27 leading zeros is an empirical value, in which
[10] PPCoin: peer-to-peer crypto-currency with proof-of-stake. [Online].
case nodes can dig blocks in a reasonably-tolerable period of Available: http://archive.org/details/PPCoinPaper
time. Within 597 minutes, 62 blocks were created which formed [11] M. Castro, B. Liskov, Practical Byzantine fault tolerance, Symposium
the best blockchain of the system (Fig. 10). on Operating Systems Design and Implementation USENIX Association,
vol. 20 ,1999 ,pp. 173-176.
VI. CONCLUSION AND FUTURE WORK [12] Executive Summary for Financial Institutions: Ripple Solutions Guide.
In this paper, we present BlockNDN, a bitcoin blockchain [Online]. Available: http://ripple.com/files/ripple_solutions_guide.pdf
decentralized ledger system running on NDN network. Rather [13] Koshy, Philip, D. Koshy, and P. Mcdaniel, An Analysis of Anonymity
in Bi Financial Cryptography and Data
than blindly or mechanically copy the design and completion of Security, Springer Berlin Heidelberg, 2014:469-485.
bitcoin in IP network, we suggested a design method similar to
[14] Ccnx techincal documentation: Ccnx interest message. [Online].
the ChronoSync to achieve decentralization and leverage the Available:http://www.ccnx.org/releases/latest/doc/technical/InterestMes
advantages of NDN architecture. In BlockNDN, the naming sage.html.
rules imply more specific semantics. A sync Interest packet with [15] The Bitcoin Wiki: Block. [Online]. Available:
senders state is forwarded to the producer, which gives a more http://en.bitcoin.it/wiki/Block
simplified method to update dataset. Getblock data names with [16] Zhenkai Zhu, A. Alexander, Let's ChronoSync: Decentralized dataset
digests of the blocks also make retrieval and request more state synchronization in Named Data Networking, Proceedings of the
effortless. The resulting design provides more decentralized IEEE International Conference on Network Protocols(ICNP), Gottingen,
Germany. October 2013, 2013.
systems than those over TCP/IP and makes system architecture
[17] C. Decker, R. Wattenhofer, Information propagation in the Bitcoin
simpler. Proceedings of the IEEE Thirteenth International Conference
Our future work will focus on performance of the system. on Peer-To-Peer Computing (P2P), Trento, Italy, September 2013.
We will port the application code to another NDN platform, [18] Meng Lin, K. Marzullo, a Gossip versus Deterministic
Flooding: Low Message Overhead and High Reliability for Broadcasting
NDNSim, and conduct comparisons between systems over NDN on Small Networks, Proceedings of 14th International Symposium on
and IP. We will also try to answer the question that whether our Distributed Computing (DISC), 1970.
system architecture can reduce the rate of blockchain forks [19] NFD: Named Data Networking Forwarding Daemon. [Online]. Available:
which can lead to substantial divergence within the users. At the http://named-data.net/doc/NFD/current
80