Dfinity Blockchain Not as Advertised
I want to make it clear that I am passionate about Holochain so when I see something making claims that I see as either potentially false, partially false, not conclusive or exaggerated I will say so do my best to try and verify what is being said and then share my personal views about it which is what I am doing here.
I am dedicating an entire article to Dfinity because what they are saying never really added up to me, then on top of that they are telling people to “forget the cloud” which is ironic and you will see why later in this document.
They make a lot of claims and assumptions, there’s nothing wrong with that but in their messaging the main message they are pushing out is that the Internet Computer blockchain is what’s powering the data being served.
There are many gray areas and contradicting claims made by Dfinity (henceforth referred to as ICP for brevity) or the media coverage of what it is and what it does.
That said, Dominic from Dfinity has been asked on several occasions about the claims he makes about ICP and to date has refused to comment on how a blockchain can also be a data center.
That is his claim, and as you read further you will see this is not the case. If blockchain could indeed act as a data center provider and scale like one then no doubt all of them would be doing it right?
Let me just say, in case you are thinking this is a total hit piece, it isn’t, it is an exposure of truth and at the end of the day its up to the individual to decide what they think.
I’m not out to change anyone’s mind but I am here to assist people to make an informed decision.
If ICP was an amazing technology that was actually a paradigm shift in blockchain and able to do some amazing things faster and better than the thousands of other blockchains that would be fine, good luck to them.
And to be honest it really is a new generation of blockchain, using the cannisters and smart contracts, its always going to be an improvement, the same as the next blockchain that comes along in a few weeks or months will likely improve on the ICP.
Even with all of my anti-blockchain rhetoric on Twitter, I am never against advancement or providing a better product, however the ICP from the outset has always had in my mind a kind of artificial hype. Maybe that is par for the course when you raise several hundred million dollars and have websites valuing your product at over 9 to 24 Billion dollars.
But this issue is the sneakiness about their compute data and the mixed messages sent by ICP themselves and the media, so this article is to try and clear all of this up, end any bickering and strip it down to bare bones with an honest clinical review.
Maybe I am not the only one, I don’t know but on a personal note I find the name “Internet Computer” cringe-worthy.
Someone shared in my Twitter feed its like a new start-up motor vehicle company coming out and building a new car and calling it “The Car” or “Car” or “Vehicle” it just seems like a self-aggrandizing thing to call it.
But you soon learn it isn’t by accident, when ICP posts things they like to include all of history or history of the internet and everything before it in their marking then self-appoint themselves as the next piece of history, first then was man, then then was computer……
You know what I mean.
It’s their way of doing things but like I said, its cringe-worthy.
Lets move on.
Dfinity, what is it?
The ICP website says that the Internet Computer extends the functionality of the public Internet so that it can host backend software, transforming it into a global compute platform.
Using the Internet Computer, developers can create websites, enterprise IT systems and internet services by installing their code directly on the public Internet and dispense with server computers and commercial cloud services.
It further goes on to say “the Internet Computer hosts its native software within an unstoppable tamperproof environment, making it possible to create systems that don’t depend on firewalls, backup systems and fail over for their security.”
And finally “The Internet Computer is formed by an advanced decentralized protocol called ICP (Internet Computer Protocol) that independent data centers around the world run to combine the power of individual computers into an unstoppable seamless universe where internet native software is hosted and run with the same security guarantees as smart contracts. It is integrated with Internet standards such as DNS, and can server user experiences directly to Web browsers and smartphones.”
How Is the ICP Created?
Quote below from their website.
“The Internet Computer is formed by an advanced decentralized protocol called ICP (Internet Computer Protocol) that independent data centers around the world run to combine the power of individual computers into an unstoppable seamless universe where internet native software is hosted and run with the same security guarantees as smart contracts. It is integrated with Internet standards such as DNS, and can server user experiences directly to Web browsers and smartphones.
To participate in the open network that creates the Internet Computer, a data center must first get a DCID (Data Center Identity). This is obtained through an algorithmic governance system that is part of the Internet Computer itself, called the Network Nervous System, which plays a roughly analogous role to ICANN (a not-for-profit organization that helps govern the Internet) but has broader functionality and drives many aspects of network management. Once a data center has obtained a DCID, it can make node machines, which are essentially server computers with a standardized specification, available to the network. When the Internet Computer needs more capacity, the Network Nervous System inducts these machines, forming them into “subnetworks” that can host software canisters. Special software running on node machines interacts with other nodes using ICP and applies advanced computer science to allow their compute capacity to be securely added to the Internet Computer.
Data centers receive remuneration in the form of tokens, which are also used by canisters to create cycles that powers computation and storage, in moderated amounts such that approximately constant returns are received per node over time. Participation in the Network Nervous System algorithmic governance system is possible by locking tokens to create “neurons”, which provides those voting with voting rewards and enable automatic voting in a liquid democracy style scheme. ICP has been designed so that the Internet Computer is managed in an open way and can grow without bound so that it may eventually incorporate millions of node machines.
The Internet Computer provides a completely different kind of environment that cannot be hacked or stopped, which does not depend upon Big Tech vendors, where systems can be created without legacy components such as databases, and software logic always runs as designed against the expected data.
Essentially this is possible because the Internet Computer is created by independent data centers around the world running a mathematically secure protocol to combine their computational capacity using advanced computer science, which creates a new kind of environment for building and hosting enterprise IT systems and internet services using a new kind of software that do not rely upon today’s legacy IT stack at all.”
There is really far too much information and variables on the ICP website to regurgitate here, if you want to learn more you can do so here.
You may have noticed in the above section I highlighted the words “Data Center” I did this for a few reasons because this is what has always stood out to me as being contradiction to ICP claims.
How can you have the ICP running on data centers and then as you can see in the tweet above claim that it is an internet scale blockchain? It’s both, but somehow its neither, or just one?
The answer is you can’t, and this is something that is always claimed by ICP despite their own data contradicting itself.
No blockchain can run applications at scale, like I said above if that were the case they would all be doing so or pivoting to do so.
So its plain as day to me the claims being made about it being an application platform that is entirely blockchain based is false.
The ICP directly or indirectly is actually using centralized cloud and data centers. You only have to see their dashboard to see for yourself.
Essentially ICP is doing just the same thing as most other blockchains do and that is re-selling of data from a data center/cloud provider, that is what it boils down to.
A few of their data centers are:
Racks Central strongly believes in working together for mutual benefit. We recognize that both the eco-system and…
Servicii Cloud, Internet Business, Partener de Tehnologie
Fiecare serviciu oferit este completat de o orientare către inovație și transformare. Suntem aici pentru a te ajuta să…
Hybrid IT & Enterprise Cloud Solutions - INAP
Your transformation starts here. Move workloads to the right place at the right time. INAP's Industry Leading Route…
Lets look at one of them, InApp us U.S based, spends $120k per month and uses a myriad of data center and cloud hosting, and even uses AWS and Azure, see image below.
So is it a crime to use data centers for blockchain?
Of course it isn’t most of them do as there is no viable alternative, there is centralized hosting services or you can buy and build your own data centers like Telegram Messenger does.
This isn’t the first or the last time I have seen blockchain making claims that it is “running” a service.
Dlive from the Tron network is another perfect example of this, see image below, even their Wikipedia page says its running “on the blockchain”.
The ICP is of course still a blockchain and it is of course the central part of what is going working and in the case of the ICP its the NNS, (Network Nervous System) and there is no doubt it manages everything, but it does so connected to data centers, NOT on its own as the ICP would have you believe.
I am yet to find published data about who controls all of these nodes which means that for all we know the relationships with the data centers to the backbone connections could be controlled by 1,2,5 or several people, so the provisioning of assets in that case could in fact be centralized.
I am not saying this is the case with ICP, but when it comes to proof of stake, and the NNS I am not entirely sure if it is actually published how decentralized this side of things is, given the other claims that they have been incorrectly making one can only wonder.
Cannot be Hacked or Stopped?
This is another claim made by the ICP, I personally do not know enough about it to have an opinion either way, that is for some white hat dudes to figure out.
But I do know that claims of being “unhackable” and “unstoppable” is a very big call to make prior to release and even more so post release.
Are Data Centers Accepting Tokens for Payment?
Another part of the ICP I learned through my readings is that it is the hope of ICP that eventually the world will shift to a tokenized economy where everything is run on smart contracts in cannisters.
There is nothing wrong or dishonest about this hope and vision, but I also remember reading when looking into the tokenomics of the ICP that the visions will be to pay data centers with tokens, see the passage below from ICP about this.
“The Internet Computer Protocol is a tokenized protocol. Users of the Internet Computer are required to pay “cycles” to install software, run software and store data (the amount of cycles consumed is deterministically derived from the precise instructions executed and quantities of data processed or being stored). Users may obtain cycles in exchange for the network’s utility tokens. These same tokens are paid to the data centers as remuneration. The tokens also enable participation in the governance system.
The value of the utility tokens will be volatile. Since most data centers will incur relatively constant costs proportional to the amount of supporting machinery they operate, and furthermore the value of their machinery must be amortized and so forth, the NNS governance system will periodically adjust the number of tokens that the protocol forwards to data centers as payment so that their remuneration remains predictable (the exchange rate between the utility tokens and cycles is also dynamically modulated in a similar way).”
So to me that begs the question, are all of the data centers currently hosting the ICP being paid in tokens for remuneration or is that just a “vision”?
Can I email them all and ask them if they will accept my token as a payment for hosting?
This brings it back to centralization and who controls the nodes.
Scalability & Consensus
The ICP uses Chain Key Technology which is uses Random Beacon, Probabilistic Slot Consensus, Advanced Consensus Mechanism.
“What is Chain Key Technology?
Chain Key Technology is a 48 byte public chain key rendering old blocks unnecessary which enables the Internet Computer to operate at web-speed.
Chain Key Technology allows the Internet Computer to finalize transactions that update smart contract state in 1–2 seconds. This is an enormous improvement, but still insufficient alone to allow blockchain to provide competitive user experiences, which require that responses be provided to users in milliseconds. The Internet Computer solves this by splitting smart contract function execution into two types, known as “update calls” and “query calls.” Update calls are those we are already familiar with, and take 1–2 seconds to finalize their execution, while query calls work differently because any changes they make to state (in this case, the memory pages of canisters) are discarded after they run. Essentially, this allows query calls to execute in milliseconds.
The Internet Computer is the third great innovation in blockchain. The first innovation was Bitcoin, which introduced cryptocurrency, and is now playing the role of digital gold. The second innovation was Ethereum, which introduced smart contracts, which are now powering the DeFi revolution. This third major innovation, the Internet Computer, introduces the first true blockchain computer, which will enable the world to reimagine how we build everything — using a blockchain with seamless, infinite capacity. Inside the Internet Computer Protocol, Chain Key Technology makes this all possible — a combination of dozens of computer science breakthroughs such as Random Beacon, Probabilistic Slot Consensus, Advanced Consensus Mechanism, Network Nervous System, subnets, etc., that allows the Internet Computer to be the first blockchain computer that runs at web speed with unbounded capacity.”
Its not only the third major innovation, its the only one that is both great and “major”.
To Finalize this Review
To be fair to ICP they do in the screenshot above actually say that the compute capacity from node machines is fed into the ICP and that is where the the loose use of terms and words for descriptions happens.
In laymen terms they are saying they don’t use cloud, don’t need anything because once their “Independent data centers” all plug-in to the NNS they are now morph into a kind of utopian blockchain world where regular compute services are no longer needed because the blockchain does it all, which is not the case.
And there’s nothing wrong with saying that, claiming that or believing that, the biggest point I am making here is that it isn’t done as claimed by the blockchain, which is the inference they put out.
They still use the same data centers you and I are using to read this document.
Is their NNS, Consensus and Keychain technology game changing in the blockchain world?
I don’t know, I guess time will tell, who knows maybe it is and good luck to them if that is the case.
But cut the magic blockchain bullshit please.
What are the differences with Holochain?
Fortunately this part of the document will be brief.
When it comes down to it many of the things ICP is doing or claiming to be able to do are nothing like Holochain at all. This applies particularly to people owning their data, hosting of applications and of course having a DHT which means each Holochain hApp has its own customizable consensus built in.
Unlike what Mr Williams says above, Holochain is not blockchain. Holochain is an end-to-end open source Peer-to-Peer application framework that facilitates the creation of applications with underlying rules in place to protect end users.
It is patented software designed to allow the user to control their data, any application built on Holochain must give the end user the control of their data and private keys which is in its open source software cryptography autonomy license.
Above all though, Holochain is a data integrity machine which ensures that each application and the users within that application can verify data as being truthful through peer validation, cryptographic signatures and gossip.
The company that created Holochain is named Holo and will be the facilitator of Holo P2P hosting.
I almost forgot to mention, without having the $200 Million or so dollars raised for ICP one doesn’t seem to garner the same media coverage.
But when you see media like the below image, it really shows what a total joke Dfinity is, trying set out and “allowing” claims like this to be made that they will somehow someday rival AWS as a compute provider when they themselves pay centralized data providers really shows what a joke it is.
There is only one project on earth that I am aware of that has/is creating a new alternative to regular hosting through a peer to peer cloud and that of course is Holochain.
I think its important for people to understand that the cryptocurrency business operates with for the most part impunity due to its ability to grow faster than any legislation can and the fact that many of the entities are spread out across the globe.
There is never usually one overarching policing body that enforces transparency or laws relating to cryptocurrency because most of them are yet to be written.
The only people who can call out things about cryptocurrency or blockchain that they see as either inappropriate or untrue or ambiguous are the end consumers, there isn’t anyone else to lean on its up to the people to do their own research.
If you have questions ask them, if you don’t get answers keep asking until you do, its your right, its not only free speech its also you doing your due diligence as a potential consumer.
If I found out something shady about Holochain and it affected their image and or could affect their future clients I would also be speaking out about that too, everyone has a brain and can either use it to be skeptical and find out more or just leave it in auto pilot and believe everything you are told, I choose to be skeptical and will remain so.
The media also does not do their due diligence when reporting, they just report what they are told or paid to report.
Thanks for taking the time to read this I appreciate it.
Disclaimer: I am not employed or affiliated with Holo the tech company or Holochain, views expressed here are my own for I am but merely a supporter.
Bonus Read — Deleted page from Polkadot about Dfinity — ICP
The following is something I captured a while ago from Polkadot about Dfinity which has since been removed. (Yes I am fucking thorough) :-p
The link to it was https://wiki.polkadot.network/docs/en/learn-comparisons-dfinity
This of course did not cover data centers or cloud, it focused on consensus.
“Dfinity uses a four-layered consensus consisting of an identity layer, a random beacon layer, a blockchain layer, and a notary layer.
The identity layer handles the Proof-of-Stake registration and anti-Sybil mechanism of the consensus protocol. In Polkadot, we would compare the identity layer to a subset of the function of NPoS, which handles the stake deposits and sybil resistance while also acting as the peer-set selection algorithm. It is expected that stake deposits on Dfinity will be a fixed size, so they do not implement a peer-set selection since it is inherent in their PoS; when an account makes a deposit they become a validator. Polkadot is more flexible and allows variable deposits and the ability to act as a nominator to participate in the staking system without needing to run validator infrastructure yourself.
The random beacon layer is used to construct a random number in Dfinity, which is the basis for the blockchain and notary layer. It employs a verifiable random function (VRF) that is based on BLS threshold signatures and requires a distributed key generation (DKG). The BLS threshold based VRF is able to solve the “last actor” problem in which the final participant in the protocol can abort by predicting the randomness and not publishing it. Although Polkadot also employs a VRF in its block production protocol BABE, it does not suffer from the “last actor” problem as it uses a different type of VRF that generates the randomness locally, but still allows global verification. The random beacon is then taken from the VRF outputs from two blocks prior, which can be proven to be secure.
The blockchain and fork resolution layer used in Dfinity is known as probablistic slot protocol and uses the randomness from the random beacon to give priority to each proposer for a particular block. Within a constant block time, all proposals generated are sent to notaries, which sign the block from the heaviest weighted proposal that they see and broadcast it. Forks are then decided based on the weight that was assigned to proposers in that round, with the heaviest proposer’s block taking priority. Polkadot’s BABE block production uses the random beacon from the previous VRF outputs to assign weights to producers too. The individual producers then create local randomness and if it beats a threshold as determined by their weight, that producer will produce a new block. BABE achieves constant block time by having a fallback to the Aura round robin style block assignment if for a particular slot no producer generated a random number that fell below their threshold. In BABE forks can happen if more than one producer pulls a correct “lottery ticket” random number, and in this case will rely on the chain selection rule, which uses the last finalized chain from GRANDPA to build on.
Finally, in the notarization and near-instant finality layer of Dfinity, the blocks that are produced in the previous layer are notarized by the committee of validators. The notarization is a timestamp and a proof that the block has been published to the network, which prevents a malicious validator from creating a private chain and revealing it later. The notarization mechanism aims to solve the selfish mining attack and the nothing at stake problem. The notarized blocks are then agreed on in a further finalization mechanism.
One should not pay too much heed to the term near-instant finality because terms like this and “instant finality” are basically just marketing terms for Byzantine agreement protocols, and conceal the actual capability of the finality gadget. For example, the notarization and finality rounds of Dfinity consensus can be compared to the pre-commit and pre-vote rounds of standard BFT protocols. Although, since Dfinity has a two-step mechanism for producing and finalizing blocks (much like how Polkadot has with BABE and GRANDPA), the time-to-finality of both protocols should be comparable. GRANDPA has nice properties like coming to finality on entire chains of blocks instead of single blocks one at a time, which makes it an improvement to the finality mechanism outlined by Dfinity.”