Skip to content

Commit c2d4d9b

Browse files
committed
Paper updates
1 parent aeb410f commit c2d4d9b

1 file changed

Lines changed: 51 additions & 33 deletions

File tree

WHITEPAPER.md

Lines changed: 51 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,17 @@ Sections
1919

2020
* [Introduction](#introduction)
2121
* [Comparisons to Ethereum](#comparisons-to-ethereum)
22-
* [Cheap functional opcodes](#hvm-makes-functional-and-formally-verified-dapps-much-cheaper)
23-
* [Zero-cost SSTORE](#reversible-heaps-make-dynamic-dapps-much-cheaper)
24-
* [Massive L1 optimizations](#optimizations-and-simplifications-everywhere)
22+
* [Functional opcodes, formally verified apps](#hvm-makes-functional-and-formally-verified-dapps-much-cheaper)
23+
* [Zero-cost SSTOREs, highly dynamic apps](#reversible-heaps-make-dynamic-dapps-much-cheaper)
24+
* [Massive layer-1 optimizations](#optimizations-and-simplifications-everywhere)
2525
* [Comparison table](#comparison-table)
2626
* [Summary](#in-short)
2727
* [Comparisons to Cardano](#comparisons-to-cardano)
2828
* [On security](#on-security)
2929
* [On efficiency](#on-efficiency)
3030
* [On simplicity](#on-simplicity)
3131
* [Summary](#in-short)
32-
* [HVM and its implications](#hvm-and-its-implications)
32+
* [The High-order Virtual Machine (HVM)](#the-high-order-virtual-machine-hvm)
3333
* [Sequential tasks: as fast as Haskell's GHC](#1-for-normal-sequential-tasks-such-as-folds-it-holds-similar-performance)
3434
* [Parallel tasks: several times faster](#2-for-very-parallel-tasks-such-as-tree-based-quicksort-it-is-several-times-faster)
3535
* [High-order tasks: exponentially faster](#3-for-very-high-order-tasks-it-is-exponentially-faster)
@@ -146,29 +146,47 @@ in any on-chain asset, rather than the network's "built-in token".
146146

147147
The table below compares some attributes of each network:
148148

149-
. | Kindelia | Ethereum
150-
------------------------ | ------------------- | -------------------
151-
block time | ` 1 second` | ` 13 seconds`
152-
limit: blockchain growth | ` 40 GB/year` | ` 2 174 GB/year`
153-
limit: state growth | ` 8 GB/year` | ` 114 GB/year`
154-
limit: state growth | ` 2 048 bits/s` | ` 29 440 bits/s`
155-
limit: computation | `10 000 000 mana/s` | ` 2 300 000 gas/s`
156-
cost: multiplication | ` 2 mana` | ` 5 gas`
157-
cost: beta reduction | ` 2 mana` | ` ~ 200 gas`
158-
cost: pattern matching | ` 2 mana` | ` ~ 200 gas`
159-
cost: SSTORE (reuse) | ` 0 bits` | ` 5 000 gas`
160-
cost: SSTORE (alloc) | ` 128 bits` | ` 20 000 gas`
161-
162-
The costs in this table were defined based on HVM benchmarks, using common
163-
market processors. Kindelia's block time is shorter, because its compressed
164-
blocks fit in a single UDP packet. Computation costs are lower, specially for
165-
functional programs, due to the HVM. Kindelia's reused SSTORE operation has 0
166-
cost, enabling a wide range of dynamic layer-1 applications that are simply not
167-
viable on Ethereum. When it comes to overall state and blockchain growth, we
168-
have more strict and realistic limits. This is intentional, in order to keep the
169-
network decentralized. Ethereum's blockchain could, in theory, grow 2 terabytes
170-
per year, and its state could grow 114 gigabytes per year, which would increase
171-
centralization, and make it difficult to store the state in-memory.
149+
. | Kindelia | Ethereum
150+
---------------------------- | ------------------------: | ----------------------------:
151+
**block time** | ` 1 second` | ` 13 seconds`
152+
**block size** | ` 1280 bytes` | ` 1 MB`
153+
**throughput: signed** | ` ~20 tx/s` | ` ~30 tx/s`
154+
**throughput: unsigned** | ` ~160 tx/s` | ` N/A`
155+
**growth: blockchain** | ` 40 GB/year` | ` 2 174 GB/year`
156+
**growth: state heap** | `2 048 bits/s (8GB/year)` | `29 440 bits/s (114 GB/year)`
157+
**growth: computation** | ` 10 000 000 mana/s` | ` 2 300 000 gas/s`
158+
**cost: multiplication** | ` 2 mana (5m op/s)` | ` 5 gas (460k MUL/s)`
159+
**cost: beta reduction** | ` 2 mana (5m op/s)` | ` ~200 gas (11.5k op/s)`
160+
**cost: pattern matching** | ` 2 mana (5m op/s)` | ` ~200 gas (11.5k op/s)`
161+
**cost: SSTORE (alloc)** | ` 128 bits (16 op/s)` | ` 20 000 gas (115 op/s)`
162+
**cost: SSTORE (reuse)** | ` 0 bits (unlimited)` | ` 5 000 gas (460 op/s)`
163+
164+
The costs in this table were defined based on HVM benchmarks, using modern mid-end processors.
165+
166+
Network-wise, Kindelia's block time is shorter, because its compressed blocks
167+
fit in a single UDP packet. Due to block size limits, Ethereum can handle
168+
slightly more signed transactions per second, including monetary transfers, but
169+
Kindelia handles considerably more unsigned transactions per second, including
170+
contract deployment and other interactions that don't require authentication.
171+
Note that, since Kindelia's signed transactions can group multiple calls in a
172+
single statement, the actual throughput can be much higher, and it achieves that
173+
with a fraction of Ethereum's maximum blockchain growth.
174+
175+
Computation-wise, Kindelia's layer-1 throughput is up to 434x higher, due to the
176+
HVM and stateful heaps respectivelly. Kindelia's functional opcodes allows it to
177+
host programs compiled from secure languages like Haskell, Idris, Agda and Kind,
178+
which is simply not economically viable on Ethereum. Kindelia's zero-cost reused
179+
SSTORE enables highly dynamic applications like layer-1 MMORPGs, which is also
180+
not viable on Ethereum.
181+
182+
Space-wise, Kindelia has we have more strict limits on the blockchain and state
183+
heap growth, intentionally capping the non-reused SSTORE/s. This keeps the state
184+
growth in check. Ethereum's blockchain could, in theory, grow 2 terabytes per
185+
year, and its state could grow 114 gigabytes per year, which would increase
186+
centralization, and make it difficult to store the state in-memory. Note that,
187+
on Ethereum, this theoretical limit isn't meant to be reached, while Kindelia is
188+
designed to always grow at the maximum rate, so we're comparing different
189+
things.
172190

173191
### In short
174192

@@ -246,8 +264,8 @@ Finally, note that we do not claim that Kindelia is *better* than Cardano. It is
246264
impossible to innovate without trying new things, and it is okay if some ideas
247265
don't work so well.
248266

249-
HVM and its implications
250-
========================
267+
The High-order Virtual Machine (HVM)
268+
====================================
251269

252270
As stated, one of the most profound differences between Kindelia and other
253271
computation networks is the High-order Virtual Machine (HVM). It is a massively
@@ -330,16 +348,16 @@ reason the HVM works so well.
330348
### Is Kindelia a consequence of the HVM?
331349

332350
Yes. The main motivation behind the creation of Kindelia is to spread awareness
333-
of HVM, and all the amazing possibilities that Interaction Nets bring - and
351+
of the HVM, and all the amazing possibilities that Interaction Nets bring - and
334352
we're very open about that. Once the world realizes the potential of the HVM
335353
through Kindelia, it won't be hard to foresee a future where massively parallel
336354
interaction-net processors will replace the old Von Neumann architecture, taking
337355
humanity to a whole new level of technological maturity. As the authors of
338356
Kindelia, we intend to lead this revolution.
339357

340358
This, by itself, is a fair reason to believe on Kindelia's future; after all, we
341-
are, ironically, literally doing this for the technology, and have no interest
342-
on profiting from the network. That is why we made an extra effort to make it as
359+
are, ironically, doing this for the technology, and have no interest on
360+
profiting from the network. That is why we made an extra effort to make it as
343361
simple and stable as possible, decreasing the need for a highly active core
344362
team, and, thus, removing our own roles as figureheads. We further reinforce
345363
that philosophy by not adding a native currency that is massively pre-mined by
@@ -349,7 +367,7 @@ Note we do intend to launch a token for our foundation as a contract *inside*
349367
Kindelia, but it will not be *part* of the network, nor coupled to Kindelia's
350368
protocol in any way, as things should be. Since Kindelia shouldn't require
351369
high maintainance costs, that asset that will be used mostly to fund the
352-
development of HVM and its next-gen parallel compilers and processors.
370+
development of the HVM, and its next-gen parallel compilers and processors.
353371

354372
Examples
355373
========

0 commit comments

Comments
 (0)