Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review of RFC-0001 #3007

Merged
merged 2 commits into from
Jun 22, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 30 additions & 52 deletions RFC/src/RFC-0001_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,14 +60,12 @@ The aim of this proposal is to provide a very high-level perspective of the movi

### Abstract

The Tari network comprises three layers:
The Tari network comprises two layers:

1. A base layer that deals with [Tari coin] [transaction]s. It governed by a proof-of-work (PoW) blockchain that is merged-mined with
Monero. The base layer is highly secure, decentralized and relatively slow.
2. A multiparty payments channel that allows rapid, secure, low-cost, off-chain payments that are periodically settled on the
base layer.
3. A digital assets network (DAN) that manages all things to do with native digital assets. It is built for liveness,
speed and scalability at the expense of decentralization.
2. A digital assets network (DAN), consisting of multiple independent sidechains, that manage the state of the native digital assets.
It is built for liveness, speed and scalability at the expense of decentralization.


![Tari Network Overview](theme/images/tari_network_overview.png)
Expand Down Expand Up @@ -103,17 +101,16 @@ mutually exclusive.

We can't have fast, cheap digital assets and also highly secure and decentralized currency tokens on a single system.

Tari overcomes this constraint by building three layers:
Tari overcomes this constraint by building two layers:

1. A base layer that provides a public ledger of Tari coin transactions, secured by PoW to maximize security.
2. A multiparty payment channel that allows funds to be sent to parties in the channel instantly, securely and with very
low fees.
3. A DAN that manages the state of digital assets. It is very fast and cheap, at the expense of
2. A DAN consisting of multiple independent sidechains that each manage the state of a digital asset. It is very fast and cheap, at the expense of
decentralization.

If required, the digital assets layer can refer back to the base layer to temporarily give up speed in exchange for
increased security. This fallback is used to resolve consensus issues on the digital assets layer that may crop up from
time to time as a result of the lower degree of decentralization.
increased security. These commitments allow token owners to make attestations based on their asset state without relying completely on
the sidechain infrastructure. Furthermore, this link to the base layer can be used to resolve consensus issues on the digital assets
layer that may crop up from time to time as a result of the lower degree of decentralization.

### Base Layer

Expand Down Expand Up @@ -152,40 +149,27 @@ There are a few options for the PoW mechanism for Tari:
well-distributed.
* A hybrid approach, utilizing two or more of the above mechanisms.

Given Tari's relationship with Monero, a merged-mining strategy with Monero makes the most sense. However, the PoW mechanism
SHOULD be written in a way that makes it relatively easy to code, implement and switch to a different strategy in the
future.

### Multiparty Payment Channel

Further details about the Tari multiparty payment channel technology are given in
[RFC-500/PaymentChannels](RFC-0500_PaymentChannels.md).
Given Tari's relationship with Monero, a merged-mining strategy with Monero makes the most sense. While merge mining provides incentives to
bootstrap a large hash rate from day one, if there is not a complete buy-in from the majority of pools on the merge mined network it can become
cheap for the remaining pools to attack Tari. As such Tari is opting for a hybrid mining approach where Tari will be merge mined with Monero and also support
a native PoW mechanism in the form of a SHA3 algorithm.

### Digital Assets Network

A more detailed proposal for the DAN is presented in [RFC-0300/DAN](RFC-0300_DAN.md). Digital assets
_are discussed in more detail in [RFC-0310/Assets](RFC-0311_AssetTemplates.md)._

The Tari DAN consists of a peer-to-peer network of [Validator nodes]. These nodes ensure the
safe and efficient operation of all native digital assets on the Tari network.

Validator nodes are responsible for:

* _Registering_ themselves on the base layer.
* Validating and executing the contracts that _create_ and issue _new digital assets_ on the network.
* Validating and executing _instructions_ for _changes in state_ of digital assets, e.g. allowing the transfer of
ownership of a token from one person to another.
* _Maintaining consensus_ with other validator nodes managing the same asset.
* Submitting periodic _checkpoints_ to the base layer for the state of assets under their management.

The DAN is focused on achieving high speed and scalability, without compromising on security. To achieve
this, we make the explicit trade-off of sacrificing decentralization.
this we make the explicit trade-off of sacrificing decentralization. Generally, the primary parties that have a stake in the
security of a given digital asset are the Asset Issuer and Token owners. This fact points to a natural centralization of control
of an asset by the Asset Issuer.

In many ways this is desirable, since the vast majority of assets (and their issuers) don't need or want _the entire
network_ to validate every state change in their asset contracts.
Digital Assets consist of a set of tokens and their associated state. The state of an asset's tokens will be managed on a sidechain
that will run in parallel to the Tari base layer. The consensus mechanism, ledger style and other characteristics of the sidechain
will be chosen and managed by the Asset Issuer.

Digital assets necessarily have _state_. Therefore the digital assets layer must have a means of synchronizing and
agreeing on state that is managed simultaneously by multiple servers, i.e. reaching consensus.
There are many options for the nature of these sidechains. These are still under discussion but it will be possible to run
multiple types of sidechains in the DAN and an Asset Issuer can choose which best suits the asset type it is supporting.

Please refer to Tari Labs University (TLU) for detailed discussions on
[layer 2 scaling solutions](https://tlu.tarilabs.com/layer2scaling/layer2scaling-landscape/layer2scaling-survey.html)
Expand All @@ -207,33 +191,27 @@ It is better to keep the two networks almost totally decoupled from the outset,
strength.

That said, there are key interactions between the two layers. The base layer is a ledger and can be used as a
source of truth for the DAN to use as a type of registrar as well as final court of appeal in the case of consensus
disputes. This is what gives the DAN a secure fallback should bad actors try to manipulate asset state by taking
advantage of its non-decentralization.

These interactions require making provision for additional transaction types, in addition to payment and coinbase
transactions, which mark validator node registrations, contract collateral, etc.
source of truth for the DAN. Asset sidechains will periodically commit to their state on the base layer. These commitments
make it possible for token owners to make attestations about their tokens at certain points in time without relying on the
sidechain. These commitments can also be used as a final court of appeal in the case of consensus disputes.

The interplay between base layer and DAN is what incentivizes every actor in the system to maintain an efficient and
well-functioning network, even while acting in their own self-interest.


### Summary

The following table summarizes the defining characteristics of the Tari network layers:

| | Base Layer | Payment Channels | Digital Assets Network |
|:-------------------------------------|:-----------------|:-----------------|:-----------------------|
| Speed | Slow | Fast | Fast |
| Scalability | Moderate | High | Very high |
| Security | High | High | Moderate (High with fallback) |
| Decentralization | High | Low - Medium | Low - Med |
| Processes Tari coin transactions | Yes | Yes | No |
| Processes digital asset instructions | Only checkpoints | No | Yes |
| | Base Layer | Digital Assets Network |
|:-------------------------------------|:-----------------|---------------------------------|
| Speed | Slow | Fast |
| Scalability | Moderate | Very high |
| Security | High | Moderate |
| Decentralization | High | Low - Med |
| Processes digital asset instructions | Only checkpoints | Yes |


[Tari coin]: Glossary.md#tari-coin
[transaction]: Glossary.md#transaction
[Validator Nodes]: Glossary.md#validator-node
[Mimblewimble]: Glossary.md#mimblewimble
[UTXO]: Glossary.md#unspent-transaction-outputs
1 change: 1 addition & 0 deletions RFC/src/assets/Tari Network OverviewV2.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile modified="2021-06-10T09:45:28.146Z" host="app.diagrams.net" agent="5.0 (Macintosh)" etag="gMGsVskGipPphXIouel9" version="14.7.7" type="device"><diagram id="ngyCZIJVGoR8BsYyGi4M" name="Page-1">7V1bc6O4Ev41edwUuiDgMZPszp6qna2tmqmzZ55OMTax2RCTwmSSnF9/5DGyzcWhPQHpI8lTjLhEdH/d6q/VEmfi8vbxYxHfLT/l8yQ749788UxcnXHOAin1n03L07YlUNG2YVGk8+qifcPn9H9J1ehVrffpPFnXLizzPCvTu3rjLF+tkllZa4uLIn+oX3adZ/X/ehcvklbD51mctVv/Tuflsmpl5jU2J35P0sWy+tchD7YnbmNzcfUm62U8zx8OmsSvZ+KyyPNy++v28TLJNsIzctne99uRs7uOFcmqpNxws1r9efXx3+vfg9knfnOxfijnyS/VU77H2X31wp/yVVLkVZfLJyOHMnnU/+XDsrzNdAPTP9dlkd8kl3mWF7plpW/TjddpljWa4ixdrPThTPcz0e0fvidFmWoJX1QnbtP5fPNvPjws0zL5fBfPNv/zQeNJtxX5/WqebF7B00ftdzYvoJ+ZPB40VTL4mOS3SVk86Uuqs0GluAqPPjv3tw0Pe/XKSmXLA8UaNcYVoBa7J+9lrn9UYj9BBbKlgpbwk7nGZHWYF+UyX+SrOPt139oQ0/6aP/L8rtLXP0lZPlUGFt+XeV2bRyW7zu+LWfJM/6vulnGxSMpnrhPb6zbv8qyeiiSLy/R73f4Glzrvl3pdpl3gpMiPjkwWBDVoStUBTdEBTTEWNNXEoSmI0PShoCnwoMmjutd0D81w4tD0idAMoKDp40FTmoEZBpomdJ0sNgMiNiMobAZ42PQlR8MmIe6BxmZExCZjUOCM8MCplEQD59SpkAFdPzqxyJDpNxI8g9BHgydgYB55aJyRtcfhL3GR6pYP8TrRf/6In5KiJbhXk18SdabERJdGGLeZYeJTD0hZSPWrWCGpYi05v1iKyWNa/mdzu4bV9uhr9bDN76vHw4Mnc7DSb3Nw0+bwq3ne5mB/248jc58FjXEohTFCWsF6WjCsk4huj2LXoUydRTAqjeBYNIIB8gguBBw+p04kOJVIcCwiofy3OuCRNYalMA7I/HgI51AkQUzYDoU6FWamvlHwCci5hagnzhDwqVzA0XhmduiXd166zzMf+uUDNz24ZzaI7h9LscijJLB269BvJOUAoM+nPhPMqVxEYHER1fY5byXWo2oMq66EA5JHKeAciph6tlSQqQiHwqcA5CIyVGj4lMF7rNeH6H7oSyjoq7ZO38hYStYYViGc6TaSr/JFfS4YwFcJAn3HHksl1aEoLHwSMuDW8Rni4ZNQ0IqNT0XFZ4iFT8LSAusFcUZGQPgkFLVi45NaByCwkm8q7IHj6w3IqBrDUpgArNxQIaUWzKpD8d/JY68L6p8jA4M+YF4vIJVB2s2bTH2iQFLx6YNNFERvdSwlawxstYpE9ChRfZ0fgEfxpz5TYBxFv0fBqloy/UbCZ2imL4DwyaeOT/ICfqx0vg9YtRQGcFVLgdcjlVcbGPjUtDLYQkEfMK0cMbi0cnhi/Xm1ks2hpzVrTHoBGWIB0vT7WUlnWXq3TvrBGK/vtluIXaePGzUMtHPKeb3ERYSec3yeuLEPAD6pkUCIVXMVnph0GErSXRk39uwgaMN3YM3hM+/5ZKg7XdjPfZLti3lYE90hpcLA5QAgRGsAkM4HgGh6AwB5UyKwAYAyg4uFT8nd49PRsPnz+DSw68cn1iAYUSpgnOKzFUAD4JN5J6Z+AQBKdqBYs5sRugOVPiJAzV5aDmJbarLNTqpteDhXt/6Vp7ovB9WNrBnnRYFpMY/ZGl91Z0PFu668wFYI83ZObcXnAZ6tRJPz5SE12AixfHk4vWBDAOCTTw6f1LqHCKvuIUT3n+1YAwGfk5vtMLDrxyfWbIfpNy4+o+b4DoBPZiZRp5LnHS8WHhzO5Fg4FLZjYfTEsC84XmKYnbp5vXtnvpuRIMxdYIXDu57DYlR6LUNWABhlbSnZym381KqFEfdZ9cihNlYos+s4LPZ9SOybL0pMyD9L8tyyxJob2fUcF6NBK4ZwX13E5OQI4Q55/Rj10TB64hL2KVYYneJCwEK8np0Z4bjniDVGJxiZwiri2PUcdiBQDJFMnrrkEmEgIC/ZA1tlySiL9sAwCjD5x05dxAeAUfKyPQa2bo9RFu65xWgroIbA6PRIH3npHvPBxnrK4j2nGA1aiWMIjL4XHDUATQhzsTbl2vUcFvqh5yFCf3LV9LssBsE9gxHqjt1E3iyhpmtRgWWtfHhC3c6sInia6RFqn0yoFRih9tEJdTsQRMComh6hVmRCrcAItUIn1EHQjNggMGoHkvgVYTtAT4+sKHSeHno+YE5eOZqctY9sMg1Hy5IqdBquAglYGtPxQao3Wxam6MwQDfzozDAQrYgGAfwUZuh0NPTbNeHuxRa0ycqXuEh1y1W6SMt484SL9Top1/rHn0n5kBc3LblqCZR1Aa7LIr9JLvMsL/ae5zrNskZTnKWLlT6cabkmuv3DRp7pLM4uqhO36XyeHdNY3ZUNoKPGps3C61IQs6yhNsOpNPR3nGXat3GVbaT/rdC/FuUPQbRbGho7aY+6Q72dcXF9najZrKVkfWYeRN+8gVQRRY2PIJvC/D5N7Pj3CKqghI4/7WNOF3OuH56WGwHJgaQeRM3AhklxHrQlrw0j8EKlmGSB0M6NdyjiyDUj6GXUZQQIemEej86jKGJChH64iT9rSuJdxoGlIgpZXc0viiJ/2A8PR0eUQ2nHq9kyL36so7pKC627NF8dxKC2vrtwDCZHtd8fxAbkXVID6qZkBwDxO5ynaXvh+jfmSf/cYyzUXltHh9wo24yrgp9H9WduhdFaDNd+MpPeOZOR8pQeIvQIUP88pYZw88kjL7NjHTscVuOzRkO2heN65CF5HifhdadPUrMw+XY9zpDMA+qQbPY9GP6TvmzUsL8h5oTN/SToEnOkAhGrUVw/b36VS7KuoLRL7AMEQgv+7V79df/1RhZhXv4r//Lw339+4QSZ29pWveHxej1t5wt15IA7r/O7NTV4ZuC5Tg689XQLiB0SPI5NFjbCRS7bPmEsvtQppROzu/jY7Mjidl4XuMQmIWFrHZutfItzbJ5YJoWPzY4ka+d1kUtsEvKp1rEZNrcJcY5NpI+DDYLNjrKbzuu2UZIrcBJKbGyDU3CBBk43YLT/1cZBgG/C/n7kC5fIp2y0Yh36PpxfZq+ObDEq22JO6RYD5FsihONb7NURLkZlXMwp5WKAnEtyOM7FXh3pYlTWxZzSLgbIuyTg+P7qiBejMi/ulHkxQOolIzzqBRimt3dRdy+mKZSGvEzoETs3tUg9U1FuCg+69TJqKTGCXphnmPRuDnwjXHC1UIpcnysH2eVZdgeUguLdx3FPyOj8bPXbIGMpp3KRrf9xVe+x86tmUbpo+FlqeceupGBfIlt/0HDVHN1inEI5wctSCI0aV4RyglHXmSIIXUoPTejC7rc/bXyO/GDAmGXxep3OvizT1fbEb2l2pHaKAIgBHbpxjL0lfVVlk7NiE8oi5knbJO+Y5nJtk+G7TbqwyY7V789EB85MctSl7ggmKXh7esO1SdrdbefdJCuxc6pJOs1xm26+XpOUXKGZpOUdpXFNklz1P4hJyo7ItftCp2Ul0mbgStDACKOk19p8IPRd00n5Hro6MUpq6CqP5ActGaXN0NWJUfpB68N/AEb5Hrw6MUpq8CqdFriRvqQ0aaMM/WbwimCUo27bhSB2HsKtWCR9kWnSQveNOQMJ3ebcuxsHEzQn0/i51zX1blHqlD3Mx5f1AMKVqslzJHfuvSlbnU9CuqodsAJI13LAehiuUhf21ApO+hf2tKtY9pFqR3mJ3Ui1a//0Z2DvKlKlbJY+CaNjnteqb3Ftc2a7rHebs2RzIdXmnLJDyk77E7E5sa+HNGYXOR/qLG/WOoTZBQPbnd0pxa497rsvdGp3lA3tx59IHGWs69z33q7RWS56wxvrLNscNROqnE5PmG6+AptrFGLzyL3NEVJvkxCujNqrjlzLdvxcjx3ZCtX8ks+IstWHRZ6XhysHtFiWn/J5srni/w==</diagram></mxfile>
Binary file modified RFC/src/theme/images/tari_network_overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.