Pink Panther
20 min readJul 3, 2017

Fundamental Analysis of Elastic (XEL)

By Bronson Tang for Pink Panther

July 3, 2017

Elastic Quick Facts

Overview:

Facts

Elastic Coin is known as XEL

Total Coin Supply: 100.000.000 XEL

Distributed Coins: 100.000.000 XEL

Elastic features the “Elastic PL” programming language

Normal nodes broadcast unverified POW/bounties

Super nodes verify work and broadcast verified POW/bounties

Guard nodes cross verify certain percentages of signed POW/bounties by supernodes to detect malicious behavior

Question:

What is Elastic

Answer:

Elastic: It is a decentralized, trust-less, secure, programmable super computer.

There are three main components that make up Elastic:

Elastic Coin: The Elastic coin/token (XEL) is the fuel

Elastic Programming Language: The Elastic Programming Language (Elastic PL) is the map

Elastic Project: Decentralized Supercomputer is the vehicle that will get you to your destination

In this Analysis, I will address the following:

What is Elastic

Elastic Coin

Elastic Programming Language

Elastic Project

Elastic Compared to the Competition

Elastic Issues

ICO Funds Taken

Elastic Team Anonymous

Elastic as an experimental non-commercial project

Elastic uses transactions pools for tasks

Challenges

Road Map

Trend Analysis

Conclusion

WHAT IS ELASTIC IN GREATER DETAIL?

Elastic is an open-source project that aims to build the first decentralized supercomputer. Elastic has been developed over the last year or so and provides the infrastructure for a decentralized and distributed super computer, designed to carry out arbitrary tasks over the internet. In this context, Elastic is powered by a crypto currency (XEL) and provides a market-based mechanism to buy and sell computational resources. Those who need computational resources, model their problem using Elastic’s programming language (Elastic PL) and broadcast it on the network, along with a certain amount of XEL coins. The Elastic miners are then motivated to offer their computational resources in exchange for a portion of those XEL coins. The size of their reward depends on the amount of work a miner has contributed in relation to the rest of the miners that have also participated in the task. Using XEL as the driving force, Elastic offers potential buyers a large parallel computation cluster composed of many CPUs and GPUs supplied by the miners.

ELASTIC COIN

Elastic Coin provides the infrastructure for a decentralized and distributed computation of arbitrary tasks over the internet. In this context, Elastic Coin is built on-top of a crypto currency and provides a market-based mechanism to buy and sell computational resources. Buyers, those who need computational resources, model their problem using Elastic Coin’s software development kit and broadcast it, along with a certain amount of XEL coins, to the network.

The so-called miners are then motivated to offer their computational resources in exchange for a portion of those XEL coins. The size of this portion depends on the amount of work a miner has contributed in relation to the rest of the network. Using XEL as the driving force, Elastic Coin offers potential buyers a large parallel computation cluster composed of many CPUs, GPUs, FPGAs and other devices supplied by the miners.

According to one of the moderators in the Elastic Chat Forum:

“There are 100 million XEL in existence. These are distributed amongst the original donators to the project. There’s some 70 million been redeemed so far.

These will be released to a greater audience (or at least a part of them will), via the large exchanges and then the buyers purchase them from there to pay for their computational task.

XEL is just a token, so no smart contract within it, nor any ability to attach a smart contract. XEL is literally just the fuel of the system.

So, the buyer (or job author) sends their work (written in Elastic PL) to the Elastic system along with the necessary XEL to pay for:

Securing the system (a small amount of the XEL is paid towards the node owners)
A bounty for finding the solution to the problem
On-going work on the program to motivate miners to mine that problem/program

Since the miners are rewarded in XEL, they then sell their XEL on the exchanges, where a buyer can then buy them.

Basically, the price of XEL is set by the market from the buyer on the exchange. For the miner, you’re right, there’s a complex algorithm that will work out what % of the total fee will be paid to someone using their smartphone, laptop, sever, etc. as computational power.”

Elastic Coin constitutes a market that matches buyers and sellers of computational resources according to economic criteria. Buyers, in this context, are those who demand computational resources in order to solve some arbitrary and computationally intensive task. They submit their task to the network and attach a certain amount of XEL|that is the currency of Elastic Coin|to it. Then, sellers, in the remainder of the paper termed miners, are then motivated to offer their computational resources for solving these tasks in exchange for a portion of the attached XEL. The size of this portion depends on the amount of work a miner has contributed in relation to the rest of the network. All this happens \behind the scenes” in a process termed mining without the requirement of manual intervention.

ELASTIC PROGRAMMING LANGUAGE

The Elastic programming language allows Elastic job authors to express complex algorithms to be solved for bounties, paid for with XEL. The language is loosely based on the C programming language incorporating many of the basic operators and functions. There are no FOR, WHILE, or DO loops in Elastic PL in order to ensure that programs will not run indefinitely. Instead, job authors will use the Elastic PL REPEAT function.

Elastic works different: They do not have one specific use case, instead the use case has to be coded by the users in Elastic’s own programming language — Elastic PL It is similar to C but with limited functionality so it can be guaranteed that Elastic code can be executed on other machines without causing any harm. You can write a program in Elastic PL and be sure that if executed correctly, no exploits, no endless loops, no data leakage.

So while Elastic is more flexible in designing tasks, it does not perform better for one particular use case over other systems. With other super computer models, If you want to do 6 different tasks you need 6 separate use cases. With Elastic you can do them all at once. As the Elastic PL is further developed, so the diversity of tasks will become more complex. Currently, only tasks which explore a search space can be performed, and not tasks which are divided into multiple packages (like rendering divides a large image into many smaller tiles).

Elastic PL will get better over time with the flexibility that Elastic PL provides. The system is built and designed this way from ground up to allow user configurable tasks. This makes Elastic the only system that currently offer this. The potential of Elastic is basically limitless.

To learn more about the Elastic Program Language please click the link:
https://github.com/elastic-coin/elastic-pl/blob/master/README.md

ELASTIC PROJECT

The Elastic Project is a cryptocurrency driven infrastructure for decentralized computation.

Elastic is not just a super computer, it is THE super computer. In our vision, people (such as scientists) who are in need of large amounts of computation power do not have to rent an expensive, commercial cloud computing solution anymore. Instead, they can submit their tasks to the Elastic Network along with a certain amount of Elastic Coins. Other users can then offer their spare processing power to contribute to the calculation of those tasks and earn Elastic Coins in exchange. This is similar to the Bitcoin mining process, but without wasting the energy.

Elastic Project is one of those platforms, which is entirely decentralized. It is an open source project with contributors from around the world. In fact, Elastic Project was started with a vague idea on Bitcointalk that interested me, which I have then pursued and learnt more once I was involved. This idea then was improved by a number of very bright members of the Elastic community. At the moment, we have a very precise idea of how Elastic should be built to ensure reliability, robustness and security.

Elastic Project is a “loose formation of developers. As such, nobody can speak with authority in the name of the Elastic network.”

Schedule to launch during the summer of 2016, an Alpha and Beta version can be expected earlier.

Elastic Project offers many interesting topics of research. This includes for example the verifiable computation part, the prunability of the blockchain, or the security of the blockchain in terms of a certain type of attacks.

ELASTIC COMPARED TO THE COMPETITION

Ethereum

According to this Ethereum is a “world-computer”. However, the use-case of Ethereum is entirely different than the one of Elastic. Ethereum is not used to obtain a certain amount of computation power which can be directed at a complex algorithm that someone wants to have solved. It is more to be understood as a world computer with only one single processor without the support for multi-threading or parallel execution. As a matter of fact, Ethereum can be used to execute arbitrary code and the consensus algorithm ensures that the code is executed correctly. While handy to code, e.g., smart contracts which are then executed by all peers that participate in the Ethereum ecosystem, it cannot be used to bundle the computational power of the peers. The very simple reason is that every peer executes the same thing: Ethereum executes the same code at many peers redundantly.

Elastic on the other hand has different aims: it does not want everyone to execute the same thing, but to execute something different. One could say, in Elastic your work is split into many different small parts which every peer in the Elastic network executes a subset of. This way, the computational power of all “miners” is bundled.

On the contrary, Elastic cannot be used to implement smart contracts or any other code constructs which are meant to be executed the same way on all nodes. It’s just a totally different use case.

Gridcoin

Gridcoin uses a mechanism termed “Proof-of-Research” to measure the amount of computational contribution of the “miners”. According to this, this mechanism is premised on BOINC, a centralized third-party service. More precisely, “miners” download the BOINC software which provides idle CPU processing power to various projects which likewise are centrally hosted. The amount of computational contribution is then measured in a formula named the Recent Average Credit (RAC). The distribution of Gridcoins (GRC) is then conducted dependent on the miners’ individual RAC.

The problem with this approach is the involvement of a central authority. The distribution of Gridcoins (GRC) can be tampered arbitrarily the moment an attacker gains access to the centralized service. Also, the existence of Gridcoin depends on the existence of BOINC. If the latter service dies, so does Gridcoin unless an update is rolled out which moves the Proof-of-Research mechanism to a different service.

In Elastic, we do not have such problems: we do not rely on any other third-party service and neither do we depend the payout process on any kind of external (not tamper proof) factors. Instead, the measurement of the amount of computational contribution as well as the payout process is done entirely in the protocol itself.

Zennet

Zennet can be understood as an open market platform for computational resources. According to this, a publisher (the entity who is in demand of computational resources) negotiates a contract with a provider (the entity who provides the requested computational resources) using the blockchain. In this context, the publisher may specify special requirements, e.g., in terms of hardware capabilities that the provider has to match. After the negotiation is completed, the provider creates a virtual machine and gives the publisher SSH access to it.

The payment process is modeled as follows: the publisher allocates a certain amount of XenCoins (the underlying cryptocurrency). Then, periodically, accumulated usage measurements are read. Based on those measurements a micropayments protocol is used to periodically pay out small amounts of the allocated funds to the provider.

Zennet identifies the problem of this “trust based system” itself: the provider may use a handcrafted VM which lies about its benchmarks score claiming to provide more resources than it actually does. It’s the publishers’ sole responsibility to verify that the claimed amount of computational power reflects the reality. Due to the micropayments protocol, malicious behavior (if manually detected) can be penalized by cancelling the contract and charge back the remainder of the funds. A reputation system keeps track of such malicious behavior to help publishers separating the honest providers from malicious ones.

From our perspective, this system is not ideal as it adds some overhead in terms of manual responsibility for monitoring the honesty. Also, if very large amounts of computational power are needed which can only be obtained by renting multiple providers, the publisher has to take care about parallelization and distributing his work across multiple SSH instances himself. Moreover, the provider has to verify himself that the VM is actually doing what it is supposed to do and not, e.g., performing the calculations erroneously. According to privacy, the SSH access (if not used via a VPN or TOR) may expose the IP address (and so the own identity) to the provider.

While we think that this scheme is perfectly valid and works flawlessly, Elastic tries to get rid of any trust-based factors entirely. In Elastic, the verification of correctly performed work as well as the true amount of invested computational effort is done by the protocol itself.

However, since Elastic uses the protocol to verify “work” and “computational” resources, Elastic is limited to the common denominator in terms of hardware … the CPU. That is, GPU tasks could not be verified by nodes that are equipped with CPUs only (But still, since the operations of Elastic’s own programming language ElasticPL are very basic, GPU enhanced miners are of course possible). Still, especially when looking for VMs with special capabilities, Zennet is superior to Elastic.

On the contrary, Elastic in our eyes overtakes when it comes down to get computational tasks done quickly without any trust and without the requirement to manually verify anything or synchronizing tasks across multiple virtual machines: you just create a program which is then distributed to as many miners as possible, and you can be sure that the result you get back has been calculated correctly. Please refer to How Does Mining Work to learn about the advantages (and of course disadvantages) of our scheme.

Voltcoin

According to this, Voltcoin works very similar to Zennet.

Golem

Golem also tries to bring together those who have spare computational power and those who require it. According to this these entities are termed requester nodes, these nodes that announce computing tasks, and compute nodes, nodes that perform computations. As of now, the computation tasks are limited to rendering tasks using blender. Nevertheless, However, Golem seems to be just a “peer-to-peer market” for computational resources and not a cryptographically secure protocol to ensure the correct distribution of, and payment for computational power.

The biggest problem in our eyes, and at the same time the reason why from our perspective Golem does NOT constitute a decentralized computer, is that the submitted results are not automatically verified for correctness. That means, that the result someone sends may very well be garbage and so it has to be checked manually by the requester nodes before he acknowledges the release of the funds. At the same time, malicious requester nodes may claim that their work was not carried out correctly and charge back the funds even though the compute node has carried out the task correctly.

While a ranking/reputation mechanism, as implemented here, helps to identify malicious users (similar to the reputation system of online auctions where you can “over time” separate honest sellers from malicious ones) this concept differs totally from what we want to achieve in Elastic.

We do not want to build a peer-to-peer market where users may betray each other, mitigating malicious behavior only by using trust-based reputation systems! We rather want to build a system which is robust against such kinds of attacks due to a “higher force”, i.e., the protocol, making sure that work is carried out correctly, and workers are guaranteed to be paid out for their efforts.

ELASTIC ISSUES

As no technology is infallible nor is any project nor crypto/blockchain technology.

ICO Funds Taken by former team member

Elastic Team Anonymous

Elastic as an experimental non-commercial project

Elastic uses transactions pools for tasks

During my investigation, I came across several issues that I wanted to address in this investigation. Items b thru c can be found at the following link: https://bitcointalk.org/index.php?topic=1396233.msg18687646#msg18687646

I wanted to investigate these issues for myself and see what I could uncover, here is what I have found so far.

This post from bitcointalk.org was done by the folks at SONM. So there is a conflict of interest.

I don’t think I need to comment any further on “conflict of interest” but I will address their supposed claims in the off chance that one of you reading this actually believes and take credence into what one competitor has to say about another.

Let’s first address the Lannister issue and the ICO funds.

In April 2017, “Lannister” one the programmers for the Elastic Project left the project and as a result ICO funds were also missing.

This is the Elastic official response to the situation:

Lannister is gone. ICO funds are gone. We don’t know why. We don’t know if we ever see him again. It’s not like “he took all the funds and run away” because before disappearing he rewarded some of community members with some BTC for their work. He mentioned that he have some health problems also. That’s all we know now.

It’s not like he didn’t helped us. He helped a lot. Mostly on server and scripts side. Personally, I remember him as very intelligent person with very rich English vocabulary. I hope that he will come back to us even without funds incognito with another account. He was nice addition to this community.

We can safely (jokingly) assume that XEL is proof of burn coin like XCP. But instead of burning our BTC in dead address we burned them in Lannister hands.

Please remember that every donator knew before any action that this is just donation and can be spent on development or ice creams.

What I have found somewhat interesting and fascinating is that despite this incident, the project is moving forward. And the community that surrounds the Elastic Project has not been diminished. That does speak highly for the project, however it does show something that needs to be addressed in the future when it comes to funds and donations.

Albeit, on their site, Elastic does state that donations can be used for whatever they project wishes. And as most people know donations are just that, donations without strings nor conditions attached, and that unfortunately includes a rogue contributor to the project disappearing and the funds as well.

Team Anonymous

Unfortunately, the team at Elastic has chosen at this time to remain anonymous. It is my understanding that the developers are working part-time and many are working on donations.

As such, it does make sense, as an open source project to remain anonymous as the Elastic project is a group/community.

Now I realize that this could be construed as a major red flag when it comes to looking at a project such as this, but we must remember that anonymous is not synonymous with “bad” or “untrustworthy” it is just that, the developers’ choice to remain discreet.

Now personally, I do not like to invest in projects where the team is anonymous, but there do exist quite successful projects that have remained anonymous and that has not been a deterrent to the success of the overall standing in the public’s eyes. Projects such as NXT, Crown Coin, and event Sia have somewhat anonymous team profiles.

Elastic is an experimental non-commercial project

In the article that states this supposed flaw of Elastic, they go on to state that the Elastic project “doesn’t have any financial model or clear marketing plan” and that Elastic has received funding but “their token aren’t listed on any crypto exchange”. As of yesterday, July 1, 2017 Elastic was listed on Bittrex and as far as the claim that Elastic does not have any financial model or clear marketing plan, in no way equates to the viability of a project and whether it has commercial value or not. That is decided by the marketplace and not by a financial model or marketing plan which any tom, dick or harry can create with a spreadsheet and document processor. That is what we might call a logical fallacy.

Elastic uses transactions pools for tasks

I need to set some groundwork, the original claim stated that:

“This leads to a serious problem, a transaction block must be confirmed in a certain amount of time, so a task must be processed in this certain time frame. In the case of general purpose calculations for example protein folding, we can’t know with certain how much time will it take to process the task. Elastic uses its own programming language to solve this issue with a mechanism similar to Ethereum which leads to excessive parallelism and the necessity to run the code on all machines in the network.”

I wanted to find out the answer to this supposed claim and this is what one of the programmers wrote me,

“Elastic uses a transactions pool for tasks, a mechanism similar to that used by traditional blockchain systems such as cryptocurrencies.” by saying, “All submitted jobs, pow solutions, and bounty solutions are transactions on the blockchain so they behave the same as all other txns in the Elastic network. But I’m thinking the question was trying to get at something else…so if they clarify, please let me know.”

Elastic PL — this is the programming language of Elastic. It is based on C and has been modified so that such things as endless loops won’t occur. Basically, Elastic PL has been designed so that it can’t harm the machines it runs on. By making sure that all programmes that run on Elastic are written in Elastic PL, it safeguards the computers of the miners so they can’t be harmed by any of the programs written by the buyers (or job authors as they can be called) and makes the system safe. This is one of the key advantages of Elastic. The fact that it has its own safe, programming language.

It also means that instead of a limited number of use cases, if a program can be written in Elastic PL, it can be run on the Elastic system.”

I followed up with a bit more clarification and I was forwarded this message:

As I’ve previously mentioned, there are three forms of payments, one of which is to reward miners for ON-GOING work. In other words, the miners are not doing the same work SIMULTANEOUSLY and a task DOES NOT need to be completed in a certain amount of time. We do not operate in the same way as Ethereum!

Read the section here on Ethereum and you will see that what the people at SONM are saying is NONSENSE, since it explains the difference between Elastic and Ethereum. https://talk.elasticexplorer.org/t/elastic-compared-to-other-competitors/30

Reexamining the original claim comparing Elastic to Ethereum we can read that:

According to this Ethereum is a “world-computer”. However, the use-case of Ethereum is entirely different than the one of Elastic. Ethereum is not used to obtain a certain amount of computation power which can be directed at a complex algorithm that someone wants to have solved. It is more to be understood as a world computer with only one single processor without the support for multi-threading or parallel execution. As a matter of fact, Ethereum can be used to execute arbitrary code and the consensus algorithm ensures that the code is executed correctly. While handy to code, e.g., smart contracts which are then executed by all peers that participate in the Ethereum ecosystem, it cannot be used to bundle the computational power of the peers. The very simple reason is that every peer executes the same thing: Ethereum executes the same code at many peers redundantly.

Elastic on the other hand has different aims: it does not want everyone to execute the same thing, but to execute something different. One could say, in Elastic your work is split into many different small parts which every peer in the Elastic network executes a subset of. This way, the computational power of all “miners” is bundled.

On the contrary, Elastic cannot be used to implement smart contracts or any other code constructs which are meant to be executed the same way on all nodes. It’s just a totally different use case.

CHALLENGES

It seems that in investigating the Elastic project a potential major challenge is gaining the “right” mass user adoption.

This “right” mass user adoption could come in the form of the following based on sentiment from the community:

“Getting serious scientific attention…”

“Having researchers and serious institutions using this system to reach advancements in their respected field”

“Affiliation(s) with leading tech companies and personnel who recognize the value this system brings.”

“Potential partnerships with a university, or a research company”

In other words, gaining the real-world recognition/attention from the “ideal” interested party as listed above.

ROAD MAP

Now, there is not project road map that is publicly visible nor readily available. In addition, as the members of this project are not paid, it is a challenge to keep a road map as that would construe stringent timeframes for a free workforce. However, I have been told that now that there are funds a road map is being put in place over the next month.

Immediate next steps are:

Identify tasks that need to be completed (a roadmap)

Raise funds from the community to pay for tasks

Apply timeline to task

Complete task

General Stats

Created: 2016

Headquarters Location

Unknown/Open Source Project

Coins Supply

100,000,000 XEL Total Supply

76,450,177 XEL Circulating Supply

Exchanges

Bittrex

Heat Wallet

Funding Availability

Elastic Coin is known as XEL

Total Coin Supply: 100.000.000 XEL

Distributed Coins: 100.000.000 XEL

Elastic features the “Elastic PL” programming language

Normal nodes broadcast unverified POW/bounties

Super nodes verify work and broadcast verified POW/bounties

Guard nodes cross verify certain percentages of signed POW/bounties by supernodes to detect malicious behavior

Who is the customer base?

“Getting serious scientific attention…”

“Having researchers and serious institutions using this system to reach advancements in their respected field”

“Affiliation(s) with leading tech companies and personnel who recognize the value this system brings.”

“Potential partnerships with a university, or a research company”

Strategy to Gain Adoption

Unknown

TREND ANALYSIS

In past analysis, I have referenced Gartner’s Trends, and as now one organization has the proverbial crystal ball into the future, we can use this as a baseline for creating supporting evidence that the path for which the Elastic Project is based has true and lasting merit.

Below are several trends in the world of supercomputers worth focusing on.

This statistic shows the annual revenue of the supercomputer market, from 2015 to 2020. In 2016, the supercomputer market is expected to be worth 3.5 billion U.S. dollars.

Worldwide revenue from the supercomputer market from 2015 to 2020 (in billion U.S. dollars)

This ranking lists the 10 fastest supercomputers according to the Linpack benchmark Rmax score. The fourth fastest supercomputer as of November 2016, the Sequoia, achieved a Linpack benchmark score of 17 petaflops, completing 17 quadrillion floating point operations per second.

Top 10 fastest supercomputers in the world, as of November 2016, by Linpack benchmark score (in TFlops per second)

This statistic shows the revenue generated by the leading vendors of supercomputers worldwide, in 2015. That year, Hewlett Packard Enterprise (HPE) generated more than 1.23 billion U.S. dollars from the sale of supercomputers. In total, the supercomputer market, which is part of the larger high-performance computing (HPC) market, was worth around 3.28 billion U.S. dollars in 2015.

Worldwide revenue from supercomputers in 2015, by vendor (in million U.S. dollars)

CONCLUSION

There is clearly a race to build the very best decentralized supercomputer. Based on my research, the Elastic Project, is in the forefront of this technology. They have a clear advantage, and that is that they are relatively unknown in the wider market. Another advantage is that their competitors, are not actually taking them seriously. This flying under the radar, will be a key component to their success.

Potential challenges that they face are funding and mass user adoption.

I see these two as really the major hurdles that the Elastic Project needs to address in the short, medium and long-term vision of their project.

As with all businesses, and make no mistake the Elastic Project is a business, albeit an open source project, nevertheless they are a business, they need to understand that their major resources of time, energy and money can be their ally or their enemy.

A business is an organizational entity involved in the provision of goods and services to consumers.

I very much like this project and I see huge potential for them in the future. I see the Elastic Project potentially embracing a social entrepreneur approach which may add even more greater appeal to gaining the mass user adoption that would be necessary to take this project to where the Elastic community wants it to go.