The Future of Internet: Blockchain and IPv8 Are Going To Drive Business Deployment
IPv8
Internet Protocol version 8 (IPv8)[1] is a fairly new version of the Internet Protocol. It was designed around the concept of being able to be expanded indefinitely, being secure, and being modernized. It was first published to GitHub October 22, 2018. The protocol itself hasn't been implemented into any software and isn't in use currently. Overall, the protocol is still under development.
A new feature other Internet Protocols don't have that IPv8 has is the fact that more IP addresses are available each year. Each year on January 1st at 00:00:01 Greenwich Mean Time new IP addresses are available for use. As of 2018, the total number of IPv8 addresses is 33,466,154,331,649,570 or 20185. In 2019, the total number of addresses will be 33,549,155,665,686,100 which is over 7.8 million times more IP addresses as IPv4.
Currently, the specification for this protocol can be found on the GitHub repository found at https://github.com/IPv8/spec.
Key Features[edit]
Some of the key features that make IPv8 stand out from IPv4 and IPv6 are:
- More IP addresses each year
- Secure
- Modernized
- Simple and easy to use
IPv8 Address[edit]
The IPv8 address has a unique format different than other IP protocols. It uses the format shown below.
|d|d|d|d|d|d|
The variable d used in this example is replaced with a number 0 through the current year in GMT. Some examples of IPv8 addresses are:
|1|202|5|1788|81|
and|1783|485|32|76|1456|
The 6th ocelot is not part of the IP address and is part of a new concept, sub addresses. The sub address is a extension to the base IPv8 address and allows a computer or router to have additional IP addresses that are automatically routed to the same system the IP address is routed to. These sub addresses are not able to be routed to different systems. This feature is one of the things that make this protocol modernized since new software that creates containers such as Docker (software) could potentially have conflicts when using the same port but using sub addresses removes this problem.
IP ranges[edit]
There are specific uses for certain IP ranges in the the IPv8 protocol. They are as listed in the table below:
The loopback address range is a range of IP addresses that just loop back to the localhost. As for the private IP addresses, those are designated for the private networks for devices that are connected via a Router (computing) and a modem to the internet. The public IP addresses are a range of IP addresses that are made specifically for devices that connect to the internet to send and receive packets from the internet to the device that sent the request.
References[edit]
IPv8[edit]
This article "IPv8" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:IPv8. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
The Future of Internet: Blockchain and IPv8 Are Going To Drive Business Deployment
Do You Know IPv6?
IPv6 is slowly but irresistibly making its way into the Internet and into our networks. In industrial countries, the average user adoption rate is around 30%, Belgium being the leader with over 50%. Over 25% of the Top Alexa 1000 websites are dual-stack, which means, they are reachable over IPv4 and IPv6.
🌐 Blockchain Will Change It
Blockchain is a new architecture, that revolutionizes the Internet and replaces the common centralized client-server design. Blockchain stores data on a chain of nodes. It is a shared public ledger on which the entire decentralized distributed peer-to-peer network relies.
🍒 BitCherry Technology Implementation — IPv8
IPv4 / IPv6 are all IP layer protocols, the point of difference is the number of bytes of the network source address and the destination.IPv4 supports more than 4 billion addresses, but you at home or office are sharing a floating IP address to connect the internet with everyone because the number of IP addresses is not enough. When you be home is using the temporary IP address to connect the internet; only the data center computer room and private network have has a fixed IP address.
In order to solve the problem of insufficient IP addresses, the IPv6 protocol was upgraded. The essence of the protocol is almost exactly the same as IPv4, but upgrading the address to 6 bytes can express 262 trillion addresses, which exceeds the number of each grain of sand in the world. Therefore, it is sufficient for all Internet-connected computers and IoT devices now and in the future.
The IPv8 address is based on the IPv4 / IPv6 address, adding 2 bytes to express the topological relationship of the network and the double-layer P2Plus gateway node. P2Plus will establish a decentralized fast, safe, and private point-to-point on the IP layer Communications network.
For example, IPv4 / IPv6 are regular roads, and all the villages have the roads; IPv8 builds a highway, and all the cities have the highway entrances and exits, while IPv8 addresses build a highway entrance link the regular road.
Follow Us:
Official Website: https://www.bitcherry.io/
Medium (Global): https://medium.com/bitcherryglobal
Medium (ID): https://medium.com/@IndonesiaBCHC
Twitter (Global): https://twitter.com/BitCherryGlobal
Twitter (ID): https://twitter.com/BitCherryID
Twitter (PH): https://twitter.com/BitCherryP
Twitter (AR): https://twitter.com/BitCherryarabic
Twitter (JP): https://twitter.com/BitCherryjapan
Facebook (Global): https://www.fb.com/BCHCGlobal/
Instagram (Global): https://www.instagram.com/bitcherryofficial/
Instagram (ID): https://www.instagram.com/bitcherry_id/
LinkedIn:https://www.linkedin.com/company/bitcherry/
Connect with Us:
Global Telegram: https://t.me/BitCherryGlobal
English Telegram: https://t.me/BitCherryEnglish
Turkey Telegram: http://t.me/BitCherryTurkey
Japan Telegram:https://t.me/BitCherryJapan
Arabic Telegram: https://t.me/BitCherryArabic
Africa Telegram: https://t.me/BitCherryAfrica
Russia Telegram: https://t.me/BitCherryRussia
France Telegram:https://t.me/BitCherryFrance
Vietnam Telegram: https://t.me/BitCherryVietnam
Indonesia Telegram: https://t.me/BitCherryIndonesia
Philippines Telegram: https://t.me/BitCherryPhilippine
🎁BitCherry’s 2nd Anniversary Airdrop, The World First IPv8 Mainnet BitCherry Chain (BCC) Airdrop
To celebrate BitCherry’s 2nd anniversary and BitCherry Chain (BCC) is coming soon, BitCherry is giving away more than $2000. Complete simple social tasks and submit your details to the Telegram bot for a chance to win the USDT.
📣 Time: 11:00, May 5, 2021–23:00, May 13, 2021(GMT+8)
Step by Step Finish The Task
1. Chat with @BitCherry_AirDrop_Bot or click the link:
🚀 https://t.me/BitCherry_AirDrop_Bot?start=r0979503715
2. Join Telegram Group: https://t.me/BitCherryEnglish (0.3USDT)
3. Post “Happy Birthday to BitCherry ” to the group (0.2USDT)
4. Share event post to another group for inviting friends to the participant(0.5 USDT)
5. Follow BitCherry Twitter: @BitCherryGlobal https://twitter.com/BitCherryGlobal (0.3USDT)
6. Like & Retweet & Tag 2 Friends: (0.3USDT)
https://twitter.com/BitCherryGlobal/status/1389786335834116098
7. Comment “Congratulations BitCherry 2nd anniversary and #BitCherryChain #BCC is Coming Soon” (0.3USDT)
https://twitter.com/BitCherryGlobal/status/1389786335834116098
8. Join Subreddit: r/BitCherry (0.3USDT)
https://www.reddit.com/r/BitCherry/
9. Ask a question about BitCherry (0.3USDT)
https://www.reddit.com/r/BitCherry/comments/n56f25/subreddit_task_follow_us_ask_a_question_about/
10. Follow Instagram: BitCherryOfficial (0.3USDT)
https://www.instagram.com/bitcherryofficial/
11. Post creative pictures about BitCherry on Instagram (0.5 USDT)
12. Congratulations, BitCherry 2nd anniversary of Mainnet launch #BitCherry and @BitCherry (0.2USDT)
13. Fill the form and upload the task Screenshot(0.5USDT)
http://bit.ly/BitCherryAirDrop
🎁 All participants will divide up the reward pool: 2000USDT, First come, first served
🎁 The TOP5 participants who invite the most friends to participate will get a share of the extra USDT Pool: $200
🚀 Click Here Check How to join the BitCherry 2nd Anniversary Airdrop (Guideline)
T&C:
1. The winners of the event will be informed via Twitter within five business days after the giveaway ends.
2. For each reward, one Twitter username can only participate once.
3. BitCherry reserves all rights to exercise at its sole discretion to define if the users’ behavior is counted as cheating and determine whether to cancel the participation qualification of a user. The final decision made by BitCherry is with legal binding force to all participants.
About BitCherry Chain:
BitCherry is the world’s first commercial scalable blockchain infrastructure based on IPv8 technology, a robust blockchain ecosystem designed by the number of blockchain technology developers, which contains a large number of eco-products, such as public chain, wallet, DApp, etc., these products are near related to each other and jointly support the stable and efficient operation of the system.
Connect with us:
Telegram: https://t.me/BitCherryEnglish
Website: https://www.bitcherry.io/
Developer Website: https://developers.bitcherry.io/
Twitter: https://twitter.com/BitCherryGlobal
Reddit: https://www.reddit.com/r/BitCherry/
Facebook: https://www.facebook.com/BCHCGlobal/
Instagram: https://www.instagram.com/bitcherryofficial/
💡 What Is #IPv8❓ Let's Learn More Now
Tribler
In short: a library for networking in distributed applications based on a P2P-overlay which handles IP changes, strong identities, trust levels, and neighbourhood graphs.
Overview
Problems with the very fabric of The Internet, IPv4, are mounting. The approach of IPv6, Mobile IP, and IPSec is hampered by fundamental architectural problems. A superior solution is moving the intelligence up to a higher layer in the protocol stack and towards the end points.
We have the expertise to design and build innovative P2P overlay software. Our overlay will offer a secure network connection to either a known person or a specific computer which is robust against eavesdropping, man-in-the-middle attacks, peer failure, network failure, packet loss, change of IP numbers, network mobility, and blocking by NAT/Firewalls. Our solution exposes trust and reputation levels to the networking layer to lower the risk of DDOS attacks.
Functionality
IPv8 is an P2P overlay network which unlocks more advanced functionality. Over the coming 5 years we aim to evolve this technology and offer the following functionality:
- Direct, safe, and robust communication between you and any other node
- Determine the friendship paths between you and any other node by integrating existing web-based social networks
- Estimate the trust level between you and any other node
- Exchange of multimedia information of any size or popularity
- Transfer of virtual currency (credits) or real money to any other node
ToDo: Also manage internal network addresses, discover external network address, connect to peers within subnet with internal IP address. Expand with NAT/Firewall puncturing, UDP/HTTP encapculation, user space TCP rate control, relaying through proxies.
Performance and awareness
IPv8 also enables a new interface for performance and network awareness. Currently every application has to guess the available bandwidth, latency, etc. while all this information is availbe in the hidden TCP state. Especially for network-dependent applications this can boost effectiveness and efficiency. (As nicely described years ago by MIT people in the Daytona paper)
TCP manages each stream/connection separately; when working with multiple concurrent streams, TCP has issues. As P2P routinely employs numerous connections, that issues surface . E.g. BitTorrent has 4 upload connection slots - otherwise, Cohen claims, TCP performance is suboptimal.
So, managing all streams by a single control loop may bring some benefits.
Related work
Real world measurements
Security specific
STUN Specific
ICE - Interactive Connectivity Establishment
Uses coordinating servers to enable two NATted peers to talk. Automatically switches to relay techniques when port prediction of symmetric NAT fails.
TCP connection establishment
The aim is to copy the TCP handshake algorithm with the SYN and SYN-ACK packets
SCTP
Planning
- NAT timeout: every peer has to find out the timeout of their own NAT for UDP connections
- UDP hole punching: combining the information above in order to implement UDP hole punching
For the NAT check we are using th STUN algorithm:
P2TP: rate-controlled UDP
32 bits per line +-UDP-----------+---------------+ | source port | destination p.| | length | checksum | +-P2TP----------+---------------+ |fl pckt seq |fl timestamp | +---------------+---------------+ Where fl: 2+2=4 bits of flags SOP stream open set after receiving a correct returned timestamp LSS packet loss detected set when loss is detected (gap in packet sequence numbers which was not closed for some time) unset when CLR flag is received CLR clear packet loss flag set when LSS flag received unset when LSS flag is cleared YTS returned timestamp set when the second field is occupied by a returned timestamp unset when the second field is occupied by a forward timestamp if SOP is unset, the second field always contains a returned timestamp or 0 if no timestamps were received yet; the first field contains forward timestamp as no packet sequence numbers are meaningful before the stream is open pckt seq, 30bits: sequential number of the packet (or forward timestamp if SOP=0) timestamp, 30 bits: either forward or returned timestamp, used for RTT calculations as well as a lightweight security mechanism
Stream initiation is supposed to work as follows: either one or both peers send out an initial packet having SOP=0, forward timestamp in the first field and 0 in the second field as no peer timestamps were received yet. The forward timestamp is set to local time and "encrypted" using peer-ip-and-port as a key (variation of SYN cookies). I plan to use timestamps, not sequence numbers for lightweight security because... I don't know why. RTT varies by less orders of magnitude than transmission rate, so probably that is a better choice. On receiving a SOP=0 datagram, peer's actions depend on whether the returned timestamp looks good. If it is the case, the peer "opens" the stream and sends out a datagram {SOP=1, LSS=0, CLR=1, YTS=1, pckt_seq=i++, timestamp=peer timestamp}; this datagram may already contain some payload as we know that the other end is really responding and not a DDoS victim. In the case no returned timestamp is present, the peer sends out {SOP=0, LSS=0, CLR=1, YTS=1, pckt_seq=own timestamp, timestamp=peer timestamp} without any payload.
Basically, the algorithm mimics TCP's 3-way handshake except both parties may be initiators, simultaneously. Returning of timestamps has to ensure that the other side is really talking the protocol. Ideally, a peer may send out some data one RTT after the stream is initiated.
Packet sequence numbers let the receiver detect gaps resulted from losses. Once loss is indicated, LSS bit is set on. On receiving a packet with LSS bit, the sender adjusts sending rate and starts sending datagrams with CLR bit on until LSS bit is cleared by the other side. (Need to remember the last sequence number for the last state change to ignore packet reordering.) During normal data exchange, peers send datagrams with forward (YTS=0) or returned timestamp (YTS=0), depending on conditions.
The planned rate control algorithm is a variation of TCP CUBIC.
Seemingly, the protocol allows no extensions as every bit is consumed. Still, no data is supposed to reside in SOP=0 datagrams, so we may append some stuff there later to negotiate options/extensions.
Towards a first prototype
Simplify and make concrete decisions.
Problem description V2
The research challenge is to combine cloud technology with database techniques. Can we abstract away IPv4 addresses from applications? Can we create make a single superset of various peers relations into a single flexible storage principle? Can we store peer relations seperated and policy neutral.
Design V2
Focus on abstracting away IPv4 addresses into a simple bindings table which is utilised when actual connection is made.
Peers_Table
Bindings_Table
Design for keeping superset of various relations
Relations_Type_Table
Relations_Table
Database synchronisation algorithms
Describe the State of the art for Gossip and DB sync.
See IPv8Datasync
Key aspect of IPv8 is keeping track of 50k or 1 million peers. Research challenge is what database synchronisation algorithm to use.
Existing algorithms and approaches:
Within a lot of the related work in this area a lot of though and complexity lies in conflict resolution. For IPv8 we can explicitly exclude conflict resolution or simplify it to use latest timestamp entry. Thus we can fortunately simplify matters and use the data synchronisation class of algorithms.
Our problem seems different to the prior work. Our key principle is that we operate in a completely untrusted self-organising ecosystem. Thus for each peer we meet we only want records which are signed by peers which have a sufficient reputation. In the Relations_Table we use the Relationship_Strength_Factor to store the weight of this link in the graph. Using betweenness centrality or any other reputation function we can then calculate the reputation score of each peer. As bandwidth is very scarce in P2P we only want to upload records to a peer when the receiver does not yet have them. This leads us to the following:
Research Question: Which architecture supports the exchange of records between two peers which encounter each other in a self-organising system where: the exchanged records both contain previously unknown information and those records are signed by peers which have a sufficient score in the reputation system.
Comments
Post a Comment