Collaborative Messaging Protocol
Collaborative Messaging Protocol
Abstract—Selfish nodes can collapse autonomous distributed currency in a distributed Bitcoin environment. Bitcoin was
network systems, such as ad hoc network systems or peer-to-peer the first worldwide distributed virtual money system, which
network systems. In our previous work [1], [2], we proposed a is also known as “cryptocurrency.” Aside from functioning as
messaging system model in which a single intermediate node
relays a message. In this paper, we propose a novel model currency, Bitcoin is also a payment system, issuing, paying,
with multiple intermediate nodes that allow a message to reach and managing its currency. Participating nodes in the system
a destination node. We introduce blockchain technology to hold the money transaction data from Bitcoin’s inception to
distributedly record nodes’ actions, such as sending messages, now. We do not explain the details of Bitcoin and blockchain
relaying messages, and receiving messages. We examine frauds technology in this paper.
in our proposal protocol to demonstrate that selfish nodes cannot
commit frauds. A block is a data structure that efficiently gathers transaction
Index Terms—P2P, blockchain, messaging system data. A blockchain is a chain of blocks that cannot be tampered
with; it utilizes the unidirectionality of the cryptographic hash
I. I NTRODUCTION function. ɹ
In a distributed system, such as an ad hoc network system III. O UR PROPOSED METHOD
or peer-to-peer (P2P) network system, selfish nodes’ actions
(e.g., free-riding) can collapse a distributed system, leaving a A. Overview
participating node without the merits of its contribution to a In a one-to-one messaging service on a distributed network
system. system that has no administrator, a sender sends a message
There are many proposed methods of resolving this issue. and a destinator receives it via intermediaries. The intermedi-
Some papers have proposed incentive models based on ad hoc aries obtain a certain level of permission to send a message
networks that communicate with each node in the network to someone as a reward. In our proposed method, this is
[3]–[11], and some papers have proposed incentive models the source of incentives. Therefore, relaying communications
based on a P2P-based file sharing system [12]–[18]. However, makes incentives. Chaining a block to a blockchain needs
an autonomous distributed method for managing incentives concatenated data with a message. Proof of the data sent,
has not yet been proposed. Skowronski proposed an incentive relayed, and received is gathered to a block, which is chained
model that relays communication on an ad hoc network [19]. to a blockchain.
This study mainly treats a method of communications on
B. System model
distributed power grid. The model utilizes a proof-of-work
mechanism; it is not compatible with a mobile environment In this messaging service system, there are many nodes
because it needs some high-computationally-powered nodes that want to send a message to someone; every node wants
in the system. to obtain permission to send a message. Hence, permission
In our previous work, we suggested a solution for this issue to send a message incentivizes the act of contributing to a
given that there is only one intermediate node (intermediary) distributed system.
[1], [2]. We now introduce a more complex situation in which A block and blockchain structure is shown in Figure 1. A
a message is forwarded through multiple intermediate nodes block consists of proof of the data sent, relayed, and received,
in a network. We examine a one-to-one messaging system and the previous block hash value is gathered to a block. It is
for simplified consideration of communication, in which the difficult to tamper with or inject false transaction data.
intermediary obtains permission to send a message when an We call the communication that synchronizes blocks a
intermediary relays a message that is not for the intermediary. “broadcast.” Broadcasting is simultaneous throughout every
single node without incentive. Our protocol is utilized to send
II. B LOCKCHAIN a large amount of data, and broadcast data is a small amount
Blockchain technology was originally proposed by Satoshi of data. As in the example shown in Figure 2, we assume that
Nakamoto in 2008 [20]. It is utilized to manage virtual there are two types of connections: a narrowband wide-area
…
…
…
EORFN EORFN EORFN
element element element
Fig. 1. Structure of block and blockchain
element element element
…
…
…
connection that is a shared communication channel like an LTE YHULI\ YHULI\ YHULI\
cellular infrastructure and a broadband small-area connection UHOD\
ODUJHGDWD ܫJHWVDUHZDUG ODUJHGDWD
that is a neighborhood communication channel like a Wi- DQGWKHUHZDUG
LVUHFRUGHG
Fi connection between participating nodes. Broadcast data is QHLJKERUKRRG
LQDEORFNFKDLQ
QHLJKERUKRRG
small and goes through narrowband wide-area connections, 6 FRQQHFWLRQ , FRQQHFWLRQ '
VHQGHU قEURDGEDQGك LQWHUPHGLDU\ قEURDGEDQGك GHVWLQDWRU
so the broadcasting cost is very low or zero. Therefore, we
assume the broadcasting cost is not problematic. Fig. 3. Use case of our proposal
Data in a block is verified by every single node. Every node
holds the same data as the blockchain. In our proposal, the
system utilizes an independent blockchain, not a blockchain of Sender information cannot be camouflaged in the message
Bitcoin or another cryptocurrency. The concept of our proposal sending process.
is shown in Figure 3.
C. Message sending process
Figure 4 illustrates the message sending process when
3URSDJDWLRQGDWDJRHVWKURXJKWKHVHFRQQHFWLRQV n intermediaries settle on a route between a sender and a
destinator. Each node can only communicate with nodes that
are connected.
FRQQHFWLRQ
850
…
⋇ ⋈ EURDGFDVW
ڀ
⋉ ⋊ ⋋ … ⋌ ⋍ ℎ( ) ⋎ ڀ VHQG
⋐ ⋑ ڀ
851
• If C is valid, Ii waits for K to broadcast from In . A. List of fraud
• When Ii receives K from In , Ii verifies K by referring to The types of fraud of each communication phase are listed
h(h(K)) in the T broadcast from S. If Ii does not receive in Table I. The phase numbers are shown in Figure 5. ◦
K from In , Ii rejects elements of a block and reverts the is displayed if there is a possibility of executing a fraud;
block to the state before the messaging started. otherwise, ×.
• If K is valid, Ii adds R to the block, and Ii forms the
block. If K is not valid, S rejects elements of a block TABLE I
and reverts the block to the state before the messaging L IST OF FRAUDS
started.
Phase S I (not In ) In D
3) State transitions of In :
1 × × × ×
• First, In waits for T to broadcast from S. 2 × ◦ (Fraud 1) × ×
• When In receives T from S, if In has a connection to 3 × × × ×
the next node of the message, In decides to play the role 4 × ◦ (Fraud 2) ◦ (Fraud 2) ×
5 × ◦ (Fraud 2) ◦ (Fraud 2) ×
of an intermediary. 6 × ◦ (Fraud 2) ◦ (Fraud 2) ×
• In waits for M sent from In−1 , C , and K. 7 × ◦ (Fraud 2) ◦ (Fraud 2) ×
× × × ◦ (Fraud 3)
• When In receives M , C , and K from In−1 , In sends M , 8
× × × ◦ (Fraud 3)
C , and h(K) to D. If In does not receive M , C , and
9
10 × × ◦ (Fraud 4) ×
K from In−1 , In rejects elements of a block and reverts
11 × × × ×
the block to the state before the messaging started.
• In waits for C to broadcast from D.
• When In receives C from D, In verifies C by referring to B. Fraud 1: I does not relay broadcast data.
h(h(C)) in the T broadcast from S. If In does not receive This is a fraud in Phase .2 We assume that a broadcast
C from D, In rejects elements of a block and reverts the succeeded without fail. This fraud may be caused in a system
block to the state before the messaging started. in which there is one type of connection between participating
• If C is valid, In broadcasts K, In adds R in the block,
nodes instead of what is shown in Figure 2. We assume that
and In forms the block. If C is not valid, In rejects many nodes participate in the system in III-B; this fraud cannot
elements of a block and reverts the block to the state occur if a path from S to D is not via a route that excludes
before the messaging started. an intermediary that commits this fraud. Therefore, we do not
4) State transitions of D: consider this fraud a problem.
• First, D waits for T to broadcast from S.
C. Fraud 2: I does not relay M .
• When D receives T from S, D waits for M , C , and
h(K) sent from S. This is a fraud in Phase 4 to Phase .
7 As shown in Figure
• When D receives M , C , and h(K), D decrypts C to
9, an I (not In ) does not send M , C , and K to D, or In
C and broadcasts C. If D does not receive M , C , and does not send M , C , and K to D. If I commits this fraud,
h(K) after receiving T , D rejects elements of a block the elements for completing a block are lacking. All elements
and reverts the block to the state before the messaging of a block are needed to obtain a reward; Is cannot obtain
started. a reward. Therefore, a selfish I may not commit this fraud.
• D waits for K to broadcast from In .
However, this fraud can cause a denial-of-service attack by
• When D receives K, D verifies K by referring to
malicious nodes; thus, this fraud is not considered a problem.
h(h(K)) in T broadcast from S. If D does not receive
K from S, D rejects elements of a block and reverts the D. Fraud 3: D does not broadcast C.
block to the state before the messaging started.
This is a fraud in Phases 8 and .9 As shown in Figure
• If K is valid, D adds R in the block, and D forms the
10, if D does not decrypt C and In does not broadcast K,
block. If K is not valid, D rejects elements of a block
D cannot read M because D cannot obtain K. Therefore, we
and reverts the block to the state before the messaging
assume that this fraud is not a problem in a normal situation,
started.
although this fraud can cause a denial-of-service attack by
IV. C ONSIDERATION malicious nodes; thus, this fraud is not considered a problem.
We have considered frauds in this system [1], [2]. In this
section, we discuss the various types of fraud we discovered. E. Fraud 4: In does not broadcast K.
In this section, we denote an intermediary as I. This is a fraud in Phase . 10 As shown in Figure 11, In
We distinguish between a selfish node and a malicious node. may skip this phase in order to obtain a reward. If In does
A selfish node commits only actions in which it sees merit. A not broadcast K, the reward is not accepted by other nodes.
malicious node may commit actions that are harmful despite Therefore, if In cannot obtain a reward, it is not a problem.
there being no merit in them. In the following section, we However, this fraud can cause a denial-of-service attack by
mainly discuss how to prevent selfish nodes. malicious nodes; thus, this fraud is not considered a problem.
852
…
⋇ ⋈ EURDGFDVW
ڀ
⋉ ⋊
⁷ ⋋ … ⋌ ⋍ ℎ( ) ⋎ ڀ VHQG
⋐ ⋑ ڀ
Fig. 9. Fraud 2
…
⋇ ⋈ EURDGFDVW
ڀ
⋉ ⋊ ⋋ … ⋌ ⋍ ℎ( ) ⋎
⁷ ڀ VHQG
⋐ ⋑ ڀ
…
⋇ ⋈ EURDGFDVW
ڀ
⋉ ⋊ ⋋ … ⋌ ⋍ ℎ( ) ⋎ ڀ VHQG
⁷
⋐ ⋑ ڀ
F. Fraud 5: Valid Is’ reward is not accepted. direct communication, so we do not consider it to be a
problem.
This fraud is not listed in Table I. As shown in Figure 12, it
is a conspiracy in which other nodes that do not accept a valid H. Summary of frauds
reward for Is are executed; therefore, the reward does not exist.
The blockchain splits into a block that includes Is’ reward and A summary of executor, detector, victim, and resolution
a block that does not include it. We assume that there are many types of fraud are listed in Table II. In the resolution column,
nodes in the system, and the number of conspiracy nodes is ◦ is displayed if the fraud can be detected or prevented.
less than the number of usual nodes. Therefore, this fraud is
not considered a problem. TABLE II
S UMMARY OF FRAUD TYPES
G. Fraud 6: A user runs both S and Is Fraud Executor Detector Victim Resolution
1 I D D ◦
This fraud is also not listed in Table I. If a user runs both 2 I all nodes S, D ◦
S and I (all of the following: I1 , I2 , . . . , In ), S can send a 3 D all nodes I ◦
4 In all nodes D ◦
message freely, which may increase spam. 5 S, D all nodes I ◦
Inflation of permission does not occur in our protocol. If 6 S, I unknown D ◦
inflation occurs in the system, Is gets more than one reward for
one relayed message and S(=Is) may send many meaningless Fraud 2, Fraud 3, and Fraud 4 may be caused by malicious
messages at random. We assume that the messaging is not nodes as a denial-of-service attack.
853
Communications and Networking Conference (WCNC ’08), pp. 3237–
Chain claimed by
3242, Apr. 2008.
[7] Lu Yan, Stephen Hailes, and Licia Capra, “Analysis of Packet Relaying
Block A Block B Block D Models and Incentive Strategies in Wireless Ad Hoc Networks with
Game Theory,” Proceedings of the 22nd International Conference on
Advanced Information Networking and Applications (AINA ’08), pp.
1062–1069, Mar. 2008.
[8] Pietro Michiardi and Refik Molva, “Core: A Collaborative Reputation
Mechanism to Enforce Node Cooperation in Mobile Ad Hoc Networks,”
Proceedings of the Advanced Communications and Multimedia Security:
IFIP TC6 / TC11 6th Joint Working Conference on Communications and
Multimedia Security, pp. 107–121, Sep. 2002.
Block C [9] Keiichi Yasumoto, Yudai Nunokawa, Weihua Sun, and Minoru Ito,
“Improving Mobile Terrestrial TV Playback Quality with Cooperative
Streaming in MANET,” Proceedings of the 2011 IEEE Wireless Com-
munications and Networking Conference (WCNC ’11), pp. 2036–2041,
Mar. 2011.
[10] Makiko Matsumoto, Ryokichi Onishi, Akira Yoshioka, and Hiroshi
Mano, “Inter-vehicle Wireless LAN Network, ” Proceedings of the
2013 Multimedia, Distributed, Cooperative, and Mobile Symposium
(DICOMO ’13), pp. 383–388, Jul. 2013. (in Japanese)
Chain claimed by , [11] Satoka Fujii, Tutomu Murase, Masato Oguchi, and Eng Keong Lua,
“Architecture and characteristics of social network based ad hoc net-
working,” Proceedings of 2016 IEEE International Symposium on Local
Fig. 12. Fraud 5 and Metropolitan Area Networks (LANMAN ’16), pp. 1–3, Jun. 2016.
[12] Shinsuke Kondo and Hiroyuki Tarumi, “Proposal of Point Incentive
System for P2P File Sharing Systems,” The Special Interest Group
Technical Reports of IPSJ, 2007, 6 (2007-GN-062), pp. 143–148, Jan.
V. C ONCLUSION 2007. (in Japanese)
[13] HongTao Liu, ZhiXing Huang, Yun Bai, and YuHui Qiu, “Auction
We proposed a method of allowing blockchains to be incentive mechanism in P2P,” Proceedings of the 2007 International
connected by proof-of-communication rather than by proof-of- Conference on Multimedia and Ubiquitous Engineering (MUE ’07), pp.
work in order to lower power consumption, and we introduced 941–945, Apr. 2007.
[14] Masato Yamada, Kenichiro Sato, Ryoichi Shinkuma, and Tatsuro Taka-
messaging via multiple intermediary nodes. We found several hashi, “Incentive transfer-rate diferentiation for P2P content sharing
types of fraud and how to prevent them. We revealed the over wireless access networks,” Proceedings of the 2007 Asia-Pacific
protocol that protects honor users participating in a messaging Conference on Communications (APCC ’07), pp. 415–418, Oct. 2007.
[15] Richard T. B. Ma, Sam C. M. Lee, John C. S. Lui, and David K. Y. Yau
system and explained how selfish nodes cannot facilitate unfair “An Incentive Mechanism for P2P Networks,” Proceedings of the 24th
communication or obtain unfair rewards. This is the core value International Conference on Distributed Computing Systems (ICDCS
of our proposed protocol. Although, fraud caused by malicious ’04), pp. 516–523, Mar. 2004.
[16] Zhitao Guan, Muhammad Hanif Durad, Yuanda Cao, and Liehuang
nodes is unsolved. In the future, we will consider the efficiency Zhu “An Efficient Hybrid P2P Incentive Scheme,” in Proceedings of
of communication, routing method, and the prevention of the 8th International Conference on Software Engineering, Artificial
malicious nodes. Furthermore, we will quest technology to Intelligence, Networking and Parallel/Distributed Computing (SNPD
’07), pp. 377–382, Aug. 2007.
realize a distributed information centric network. [17] Wang Tao, Lu Xianliang, and Hou Mengshu “A Novel Incentive
Mechanism for P2P Systems,” in Proceedings of the 6th International
R EFERENCES Conference on Parallel and Distributed Computing Applications and
Technologies (PDCAT ’05), pp. 801–803, Dec. 2005.
[1] Hiroyoshi Ichikawa and Aki Kobayashi, “Messaging Protocol for Re- [18] Qiubo Huang, Shaoyin Huang, and Chuanshan Gao “A Differentiated
laying Messages between Participants with Autonomous Distributed Service Based Incentive Mechanism in P2P File-sharing Systems,” in
Blockchain Propagation,” Proceedings of Fifth International Workshop Proceedings of the 2007 IFIP International Conference on Network and
on Advances in Networking and Computing (WANC ’17), pp. 537–541, Parallel Computing Workshops (NPC ’07), pp. 419–424, Sep. 2007.
Nov. 2017. [19] Rafal Skowronski, “Fully Distributed GRIDNET protocol, with no
[2] Hiroyoshi Ichikawa and Aki Kobayashi, “Third-Party Validation Method trusted authorities,” Proceedings of the 2017 International Conference
by Blockchain of Message Delivery in P2P Communication,” IEICE on Information Networking (ICOIN ’17), pp. 569–574, Jan. 2017.
Technical Report on Information Networks (IN), Vol. 117, No. 397, [20] Satoshi Nakamoto, “Bitcoin:A Peer-to-Peer Electronic Cash System,”
IN2017-72, pp. 13–18, Jan. 2018. (in Japanese) https://bitcoin.org/bitcoin.pdf, Oct. 2008.
[3] Takuya Fujii, Kyoko Yamori, and Yoshiaki Tanaka, “Ad hoc network [21] Yuichi Suyama, Yusuke Yokota, Eiji Okubo, “A DTN routing technique
service with relay reward and its routing performance,” Proceedings of for a disaster information system with mobile nodes,” IEICE Technical
the 2010 8th Asia-Pacific Symposium on Information and Telecommu- Report on Ubiquitous and Sensor Networks (USN), Vol. 108, No. 399,
nication Technologies (APSITT ’10), pp. 1–6, Jun. 2010. pp. 117–121, Jan. 2009. (in Japanese)
[4] Naoto Shimada and Takuji Tachibana, “Studies on Incentive Calculation [22] Masatoshi Iwai, Hiroaki Higaki, “DTN Transmissions in Wireless Multi-
for Delay Tolerant Networks,” IEICE Technical Report on Network hop Networks with Stationary Base Stations by Using Mobility Plans of
System (NS), Vol. 117, No. 3, NS2017-13, pp. 73–76, Apr. 2017. (in Wireless Nodes,” Transactions of IPSJ, Vol. 55, No. 8, pp. 1876–1885,
Japanese) Aug. 2014ɽ(in Japanese)
[5] Akiko Yamasaki, Hirozumi Yamaguchi, Shinji Kusumoto, and Teruo [23] Wenrui Zhao, Mostafa H. Ammar, “Message Ferrying: Proactive Routing
Higashino, “A Study on Advertisement Diffusion on Mobile Ad-hoc in Highly-partitioned Wireless Ad Hoc Networks,” in Proceedings of
Networks,” The Special Interest Group Technical Reports of IPSJ, 2006, Ninth IEEE Workshop on Future Trends, pp. 308–314, May. 2003.
14(2006-UBI-010), pp. 115–120, Feb. 2006. (in Japanese)
[6] Rongxing Lu, Xiaodong Lin, Haojin Zhu, Chenxi Zhang, Pin-Han Ho,
and Xuemin (Sherman) Shen, “A Novel Fair Incentive Protocol for
Mobile Ad Hoc Networks,” Proceedings of the 2008 IEEE Wireless
854