Full disclosure: I am in active discussions to advise Blockcloud because I think reimagining the current stack of the internet and connected devices may one day be a necessity with the projected growth of connected devices. Plus I really enjoyed my conversations with the entire team. Beyond the technology, working with great people is paramount.
Shout out to my new team member CryptoRaider for his technical due diligence and editorial support on this article. Shout out to Windra over at Coin Crunch for his read over my initial draft. If you are a researcher or writer and would like to join the team please reach out to me at [email protected]
Blockcloud aims to provide a stronger alternative to TCP/IP, an important protocol that enables peer to peer communication. The internet today is a series of technology layers that work together to enable the websites and applications we are familiar with today. Before getting to Blockcloud let's look at these layers briefly:
When a device accesses a website the device connects to a Domain Name Service (DNS) server. Your device will connect to a DNS server and register a combination of information including your IP address and gateway. The DNS server you connect to will then procedurally (called DNS Resolution) look up where the website you are requesting is located via its public IP address. Let's say you typed in "Quantalysus.com" into your browser. DNS will convert "Quantalysus.com" into its IP address 209.15.20.217 (that's the actual IP address per DNSlookup.com). Rather than remember a set of numbers, you just have to remember the name of the website. This makes looking up websites on the internet simpler for everyone.
Connectivity has become constant and dynamic. We're always on the move. Whether it's a tablet, a mobile phone, or a laptop, people constantly have access to the internet. If you move geographically, your IP address changes. Typically, IP addresses are assigned by an ISP (Internet Service Provider). There are IP address pools set aside for different regions. IP routing tables are then used for passing data (otherwise known as packets) from router to router until received by the final destination (normally not assigned specifically to your IP address but to a group of IP addresses known as subnets). Without your IP address changing when you move, IP routing tables would need to expand and thus increase the data processing overhead. The end result is a slower communication network. To reduce this, when you change locations your public IP address changes too. Under this current architecture, the DNS server and IP routing tables are an instrumental component of the internet. But with the increasing number of mobile phones and IoT devices (smart appliances, watches, health monitors, vehicle sensors) connecting to internet services the questions of security and scalability should be reexamined.
Enter Blockcloud. But first let's look at the team.
Alex Likhtenstein - Founded EVR. Featured in both live interviews and write ups by practically every major media company from CNN to Fox to the NY Post.
Physical layer + blockchain
SCN provides content to users directly as opposed to routing through DNS servers and IP routing. Think of it as calling someone directly on the phone as opposed to calling into a switchboard where your call is routed to the right person. The idea here is to move beyond or complement today's internet design: communication between two fixed entities. With mobility at a premium, a service-centric approach that can accommodate dynamic connections makes sense. The downside of current SCN architectures is trust and security. Blockcloud envisions solving these issues applying blockchain atop.
Blockcloud adopts the Serval architecture for its SCN. Serval was originally designed for online services running on multiple servers in different locations for mobile devices. Serval introduces a Service Access Layer (SAL) atop an unmodified network layer (IP), enabling services to communicate directly on service names as opposed to IP addresses and ports. The key difference for Serval is that instead of sitting above the Transfer layer (see above), Serval's SAL is located between the Network and the Transfer layer.
Blockcloud's SAL (derived from Serval) promises efficient load balancing and faster failover. Network layer forwarding will allow traffic to flow between two end-points (circumventing) the need for an intermediary. Blockcloud's SAL will perform signaling over a variety of interfaces, ultimately leading to a transport-agnostic solution. Consumers will experience constant mobile device connectivity and applications will have virtual-machine migration.
The blockchain in Blockcloud's solution is used to bind services to providers. Changes to any name-value pairs (i.e. services provided by a particular provider) are updated and matched on the underlying blockchain, or the transaction chain in layer 1 of the diagram above. In blockcloud the control and service layers are separated. When devices receive services from the service chain, authenticity is verified in one of two ways: first, checking for the service hash is in the service file, or second, the service includes the name owners public key in the transaction signature.
Peer-to-Peer CDN
Blockcloud uses Coral to enable a peer-to-peer content distribution network (CDN). Coral CDN is comprised of a world-wide network of web proxies and nameservers. It uses peer-to-peer indexing techniques to locate cached objects if the content exists within the network. The original server only needs to fetch the object once. One of Coral's best features is avoiding content hot spots, clustering of information that could be lost if a particular patch of files go offline, by introducing a distributed sloppy hash table (DSHT). This DSHT (or call it a DHT if you will) creates self-organizing node clusters and reducing the need to communicate with distant or taxed servers.
Consensus
Blockcloud designed its proof-of-service consensus for reliable verification of IoT services. To meet the needs of a global user base the network will need to recruit and verify resource providers that bring storage, computation, bandwidth and routing capabilities to the table. The consensus employed will not only need to verify services, but also incentivize providers to join the fray. Several projects have tackled storage contribution such as Filecoin and Siacoin. Golem, Hypernet, and Perlin are tackling the computation problem. Blockcloud's solution aims to incentivize all the resources mentioned above. The whitepaper does not go into detail regarding storage and computation, but only briefly mentions they draw inspiration from their peers. I flag this as an area to explore with the team and list it as a concern below.
The team goes on to label storage and computational resources as deterministic, essentially you have a service to provide or not. With bandwidth and relay resources, these resources are probabilistic in nature and should be measured in terms of the quality provided. When a service provider signs up for the service it promises a certain level of quality. Verifiers will then test the service provider to see if they are meeting their advertised quality. These test results will be stored in a DHT for other verifiers to read and write to.
Recording Transactions
Blockcloud developed a Compacted Directed Acyclic Graph (CoDAG) for fast recording of IoT transactions. Understanding that mobile devices and IoT devices exhibit smaller batteries, weaker computing power, and constrained communication bandwidth, Blockcloud introduces three network participants: miners, gateways, devices.
Miners will into one of two camps: slow and fast modes. Slow mode miners will use a DAG-based ledger structure and are responsible for de-centrally electing fast mode miners. Fast mode miners use Byzantine agreement to record transactions onto the blockchain
Gateways are off-chain intermediate nodes (devices) running the protocol. These devices must feature enough resources to properly download the most recent portion of the distributed ledger, maintain an encrypted communication channels, and transact with other gateways.
Devices only send and receive data to the gateways mentioned above.
All nodes start off in Slow Mode as they join the permissionless network. As nodes start to properly mine blocks they are elected into Fast Mode. The more transactions that are properly mined, the more nodes enter fast mode. If nodes begin to cheat the network those nodes lose their Fast Mode status and begin to slow down the average speed of the network.
Blockcloud's DAG differs from other DAGs currently available. Instead of a fixed width of nodes (or branches if you think of it visually), Blockcloud features dynamic widths of nodes connected. In the worst case scenario, Blockcloud's DAG devolves into a linear blockchain (i.e. Bitcoin's structure). The DAG's width influences the puzzle difficulty. The smaller the width, the higher the level of security to the network. Similar to Nano's block lattice, Blockcloud's miners generates new blocks by correctly solving a puzzle and validating two blocks in the previous level. The new block is appended to the tip of the CoDAG. To avoid forks in Blockcloud, the nodes with the highest level of reverse connectivity (or essentially longest chain history) will have higher priority to be considered valid nodes of the network. Shorter reverse history will isolate those nodes from the overall network.
Truthful Continuous Double Auction (TCDA)
Okay to be honest this part of the network is a bit confusing. Essentially the TCDA is designed to provide fair pricing and matching of services. I don't profess to be an economics expert, but for a technology startup to wade into the territory of devising economic formulas to manage what is essentially a free market seems folly to me. In all honesty, I breezed through this section due to my biased judgment here.
Today's applications send information to devices using TCP/IP where applications on hosts send data back and forth using IP addresses and DNS name servers. For service and resource providers, Blockcloud may serve as a workaround to the legacy standards of TCP/IP and the clunkiness of today's evolving standards and solutions (MQTT, Predix, etc.). Public blockchains of the future may also wish to follow their decentralized ethos and bypass the current internet layers altogether. Decades of international regulatory cooperations and billions of dollars in capital expenditures by Internet Service Providers and other infrastructure players to expand our current network services appear to be a ripe area for potential disruption. Or at the very least, a complementary internet architecture. As always, this is not financial advice but Blockcloud might just be a small investment for such a gamble.
My ICO rankings (anything above a 60 by the way I would seriously considering investing in… call me a harsh grader)
If you learned something: