Ethereum and the Future of the ÐApps!

Shachindra
Serendipia Life
Published in
6 min readDec 14, 2017

Often I’m asked this question that — Which Blockchain technology platform would you use to build a ÐApp which focuses on connecting people and enabling P2P interactions?

Future of the ÐApps — Smarter Networks for P2P interaction

Answer: At this moment, I would use Ethereum to create such application which would be helpful in connecting billions of people on this planet while bringing transparency and reliability into the system. Ethereum is not just another cryptocurrency but also features a blockchain based platform with many aspects. It features smart contracts, the Ethereum Virtual Machine (EVM) and its smart contract applications are powered by Ether, its blockchain based cryptocurrency also enabling peer-to-peer transactions. It is also described as, “a single shared computer that is run by the network of users and on which resources are parceled out and paid for by ether.” It is having a large network of miners to support its platform and is very popular in the blockchain space.

Its also mostly used to create digital tokens that can be used to represent virtual shares, assets, utility tokens which can be used for fundraising, represent shares etc. The Ethereum Enterprise Alliance (EEA) are working with dozens of enterprise grade companies in all verticals from banking to healthcare and in recent days the price of its cryptocurrency ETH has rocketed.

Lastly how can I forget to mention the core strength of Ethereum which is its strong developer community led by Vitalik Buterin, its founder and consisting of other developers as Fabian Vogelsteller, Marek Kotewicz, Péter Szilágyi etc who are key contributors on shaping the future of the project.

Now begins the kicker part, We have several other blockchain platform similar to Ethereum which makes the application layer decentralized but still we need the network, data link and transport layer, which are centralized, for our apps to function. To understand this lets dive deeper into understanding the 7 layer Open Systems Interconnection model (OSI model). For those who already understand this can skip this part.

The ÐApps are dependent on the session layer which provides the mechanism for opening, closing and managing a session between end-user application processes. Communication sessions consist of requests and responses that occur between applications and are facilitated by the transport layer. The transport layer manages packetization of data into sizes suitable for the network layer and is responsible for the delivery of these packets, including checking for errors in the data once it arrives. The Network layer (“Internet” layer) maintains logical addresses such as IP addresses for devices on the Internet and is also responsible for routing these packets in the right direction so they get to their destination, one hop at a time. In IP networking, this mapping is accomplished through the Address Resolution Protocol (ARP).

IPv4, which is the basis of the Internet. It inter-connects the networks exposed in the data link layer. The data link layer provides the functional and procedural means to transfer data between network entities and might provide the means to detect and possibly correct errors that may occur in the physical layer. The Data Link layer protocols are Ethernet, Point-to-Point Protocol (PPP), HDLC and ADCCP for point-to-point (dual-node) connections and Internet Protocol Suite (TCP/IP). Lastly, At Layer 1, the Physical layer of the OSI model is responsible for ultimate transmission of digital data bits from the Physical layer of the sending (source) device over network communications media to the Physical layer of the receiving (destination) device. At the Physical layer, data is transmitted using the type of signalling supported by the physical medium: electric voltages, radio frequencies, or pulses of infrared or ordinary light.

Coming back to our original topic, The current global network lacks connectivity, is hugely technically and administratively centralized, totally controlled by governments and monopolies, making it vulnerable to censorship and intervention. This shouldn’t be considered as the only media for global distributed systems including public blockchain as Bitcoin, Ethereum, etc and file storage systems as IPFS and other peer-to-peer applications like Swarm and many other upcoming applications in the near future.

Under the motivation of creating a Decentralized internet an Ethereum Improvement Proposal named Decentralized Base Network Service was presented. This included creating a mesh network which provides independence from authorities such as IANA, RIRs, ICANN and Internet Service Providers (ISPs) and governments which potentially have the option of affecting the functional usage of ÐApps using techniques as:

Data interception: This enables sniffing Ethereum node traffic to analyze the metadata, intensity, messages types, sniff raw swarm content and correlate it with specific actions on the chain to connect personal identities to addresses.

Session/Stream/Connection Logging: In this technique, each translation/transaction with an ethereum node is logged to correlate subscriber’s internal address with external IP and this valuable personalized data is stored for years and often used for legal or illegal prosecution.

Traffic Filtering/Off-Ramping: Access-list based forwarding (ABF), Policy-Based routing (PBR), BGP-FlowSpec are able to re-route specific application by its src-ip, dst-ip, protocol, src-port, dst-port (known as 5-tuple fields) with minimal effort. For Ethereum, it’s possible to either totally ban peers discovery protocol (node will never synchronize with the rest of the network), break IP connectivity with the most popular PoW mining pools with significant impact to the security of the ledger and also able to make Segmentation attack. With off-ramping it’s feasible to make more complex attacks, e.g. redirect discovery messages to the home-brewed nodes running wrong chain, redirect Proof-of-work mining applications to Stratum — Man In The Middle Attack — pointing to another pool/node that will give the unreasonable compute power gain in its favor — Sybil Attack.

Time-jacking: In this technique, the NTP time requests from the Ethereum-running host is redirected to the malicious NTP server advertising wrong time making the client clock drift from reference time. A several seconds difference could result to node synchronization issues making the network state perfect for double-spend attacks.

…and there are many more such techniques existing in the current network.

There are also certain implementations which affects network performance such as Stateful packet filters, NAT44/NAT444, Routing Protocols etc. There has been some implementations on this like the Ethereum Name Service which offers a secure and decentralized way to address resources both on and off the blockchain using simple, human-readable names. There are also explorations in creating a protocol for radio transmission using pseudo-random order frequency hopping from one frequency to another at an acceptable rate of hops per second. This basically removes the ISPs and cloud infrastructure owners (cutting the middlemen) and truly facilitates P2P interaction between cities and can even be connecting multiple countries. Deploying IPv6-capable bootnodes for better node discovery are being explored to optimize end-to-end connectivity (no NAT) as it has much larger address space to perfectly suit distributed applications.

This does seems too futuristic and very difficult to achieve but as we unravel the barriers to realizing human potential, seen from recent developments in science and technology, this can be seen as a question of when and not if.

So long story short, If I have to recommend an existing blockchain platform for rapid application development, based on the requirements and factors as open source/licensed, accessibility, learning curve involved, cryptocurrency usage, transparency, security etc. I would choose between Ethereum, NEM, Hyperledger, Quorum and there are many more which have quite good features offering better security, scalability and immunity to attacks.

I would rather focus on building chassis and other tools than keep reinventing the wheel!

What would you do? I would love to know your thoughts on this…

Reference readings:

--

--

Shachindra
Serendipia Life

Blockchain Developer, Computer Vision Enthusiast and a Seasoned IoT Engineer