2019.01.15

Introducing Perlin



こんにちは、次世代システム研究室のN.M.です。



Perlin is a cloud platform for distributed computing. It’s currently under development and is in the alpha stage, with the mainnet release targeted for June 2019.




From the website: Perlin is the first practical, trustless and decentralized cloud computing marketplace that leverages underutilized compute power in everyday smart-devices to make supercomputing economically viable and accessible globally.




So it commoditizes computing, and provides an open marketplace for it. In the Perlin whitepaper, the buyers in the marketplace are referred to as customers. The sellers in the Perlin marketplace are referred to as miners. The miners provide computing power to the customers in exchange for Perl tokens. Those who validate transactions between customers and miners are called validators. This is starting to sound like a blockchain. Indeed Perlin is built on a next generation distributed ledger.




The transactions are processed on Perlin’s wavelet network. Wavelet is Perlin’s implementation of Avalanche. Avalanche is a new distributed consensus algorithm, said to be a solution for blockchain scalability issues – more on that later. The source is not yet available for wavelet, but binaries are available here at github. According to the information in the github issue shown below, the source should be available within the first half of 2019.












What is Avalanche?




Note that the above inquiry was made by a representative of EOS, is EOS also interested in implementing Avalanche? Avalanche has attracted the attention of some other players such as Bitcoin Cash and Tezos. It’s seems to be causing a buzz.




According to Prof EMİN GÜN SİRER of Cornell University, Avalanche is a breakthrough consensus algorithm. Prof Sirer, a well known and reputable figure in the blockchain world, was contacted by the authors of the Avalanche whitepaper, who are known only as Team Rocket. They asked him to help edit the whitepaper. Sirer must have been impressed. He also intends to implement his own blockchain, based on the Avalanche consensus algorithm.




That was back in May 2018. At the time the Perlin team was busy implementing their distributed compute platform using the Hashgraph DAG algorithm. But after learning about Avalanche, they decided to reimplement the consensus layer using Avalanche.




Avalanche is a new distributed consensus algorithm. It is a gossip style protocol. Which means it scales with an efficiency of log(N) for a network of N nodes.








In the image above we can see an Avalanche network coming to consensus given a chose between blue and red. Avalanche is said to be metastable. This means the network will rapidly decide one or the other between 2 choices. See the whitepaper for more information on the Avalanche algorithm.




Most of us know of Nakamoto consensus (Proof of Work) as in Bitcoin. We may also know Nakamoto consensus is limited in throughput and speed and consumes a huge amount of energy for mining. But anyone can join in and mine bitcoin – the Nakamoto consensus protocol is open to all (although expensive).




Classical consensus algorithms make use of quorums and leaders for consensus. Each node has to know about every other node and participation is not open to anyone. But throughput and speed are good. Examples are distributed systems such as Cassandra DB, which uses Paxos, or Apache Zookeeper which uses a similar quorum based classical consensus algorithm called Zab. Many closed distributed systems use some type of classical consensus.




Avalanche combines the best of Nakamoto consensus with classical consensus, it’s fast, has good throughput and is open to anyone to participate. Plus it doesn’t need 2 Denmarks worth of electricity to mine – there are no miners as such. It is superior to Nakamoto consensus in terms of speed, throughput and efficiency. Avalanche as implemented by Team Rocket, was recorded at 1300 TPS for 2000 nodes.




Avalanche uses a gossip algorithm to reach consensus on a DAG of transaction histories. Refer to the whitepaper for more technical details.




Perlin




The founder and CTO is a young genius from Hong Kong by the name of Kenta Iwasaki, who said he was doing AI work but was frustrated by centralized monopolies controlling cloud computing and the high fees they charged. From this initial frustration Perlin, was born.




Kenta Iwasaki says they have made numerous extensions and enhancements to the Avalanche protocol. Due in part to the lack of detail in the original Avalanche paper.




There have been multiple positive source reviews of the perlin-network suite of software.




  • cryptobriefing: This terrifies me. I’m at a loss for words. I want to work with these guys.
  • opentoken: The overall quality of the code is significantly better than other blockchain projects we have reviewed (Tron, IOTA, Hashgraph², for example). It’s quality and sophistication is comparable to typical code at a “big five” tech company.



In addition to implementing Avalanche, they have also implemented their own p2p networking stack, noise. They use a Kademlia implementation from noise for peer discovery. Ethereum also uses their own Kademlia implementation for peer discovery.




Then there is life a fast VM for web assembly, also a Perlin project. This will be utilized by miners for the distributed computation. The full list of Perlin projects open to the public can be found here. Note that because source code for wavelet, is not yet available, these reviews were based on code obtained directly from the Perlin team.




Based on the reviews, there is no doubting the quality of the code and the technical abilities of the perlin team.




In terms of Perlin metrics, over 10,000 TPS has been mentioned by Kenta. He also mentioned that the main restriction for increasing TPS was not network but growth of the stored transaction data. Although there will be integrated pruning functionality, in order to minimize data space.




Shown below is Perlin’s network browser, Lens.








Roadmap




The roadmap is available from https://www.perlin.net/. Having released the whitepaper, binaries for wavelet and numerous projects on github, they are on track so far. For 2019 we can expect the following:




  • JANUARY 2019 Compute Platform A testnet version of our compute layer with a realtime demo will be published.
  • MARCH 2019 Mobile Integration A testnet version for mobile support on Android phones.
  • JUNE 2019 Mainnet Release The mainnet release will accompany support for smart contracts, Kubernetes, GPU’s and the genesis block.



We can see that smart contracts will also be available on Perlin from June, as will DAPPs. The smart contract language will be Rust, compiled to Wasm.




Conclusion




There have been many attempts at solving the blockchain scalability problem. So far the Avalanche distributed consensus protocol seems to be one of the most promising.




Perlin’s excellent engineering and use of the most promising technologies give it a good chance to establish a footing as an alternative to the current compute service monoliths. Let’s see what 2019 brings for Perlin.




次世代システム研究室では、グループ全体のインテグレーションを支援してくれるアーキテクトを募集しています。インフラ設計、構築経験者の方、次世代システム研究室にご興味を持って頂ける方がいらっしゃいましたら、ぜひ募集職種一覧からご応募をお願いします。




皆さんのご応募をお待ちしています。