From 0e1f31b45a289f1614e24b2732ea8fb278f83969 Mon Sep 17 00:00:00 2001 From: nanocryk Date: Thu, 29 Mar 2018 14:46:12 +0200 Subject: [PATCH 1/3] Notion of tokens, transactions, scripts and families. --- Protocol.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 Protocol.md diff --git a/Protocol.md b/Protocol.md new file mode 100644 index 0000000..018bda6 --- /dev/null +++ b/Protocol.md @@ -0,0 +1,13 @@ +# Protocol + +## Introduction + +The `FYgg` protocol is based on **tokens** representing *assets* or *states*, which can be +*created*, *provided* and *consumed* in **transactions** if requierements expressed in *scripts* are +meet. + +Tokens are grouped in **families** defining common rules, while each token can defines it's own +additional rules. Rules are described with a non-Turing-comlete functionnal language performing +verifications. Each *family* or *token* contains 3 scripts, one for each usage (creation, provision +and consumption). When a token is *created*, *provided* or *consumed*, it's *family script* and +*custom script* are run and must both be succesful. \ No newline at end of file -- GitLab From 0f8f2b745be4296c86bdcab9a29bcd4b5d1e4ec3 Mon Sep 17 00:00:00 2001 From: nanocryk Date: Thu, 29 Mar 2018 14:59:07 +0200 Subject: [PATCH 2/3] Merkle trees for storage optimisation and cross-blockchain communications. --- Protocol.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Protocol.md b/Protocol.md index 018bda6..a3dc597 100644 --- a/Protocol.md +++ b/Protocol.md @@ -10,4 +10,16 @@ Tokens are grouped in **families** defining common rules, while each token can d additional rules. Rules are described with a non-Turing-comlete functionnal language performing verifications. Each *family* or *token* contains 3 scripts, one for each usage (creation, provision and consumption). When a token is *created*, *provided* or *consumed*, it's *family script* and -*custom script* are run and must both be succesful. \ No newline at end of file +*custom script* are run and must both be succesful. + +Tokens are stored in a cryptographic structure called a **Merkle tree**. Their *branch* in this tree +can be provided to proove their existence while the majority of the network only need to store the +(Merkle) root. With each new transaction this tree is updated with the *created* and *consumed* +tokens. + +Some tokens can provide other Merkle roots allowing to use tokens present outside of the main tree +such as other blockchains tokens. + +With these scripting capabilities users can program their own applications inside the system, and +with this "external root imports" cross-blockchain communications allowing better scaling +properties than an "all-in-one blockchain" technology. \ No newline at end of file -- GitLab From cd503061b7aba6223a19232717a0ac28f20508b2 Mon Sep 17 00:00:00 2001 From: nanocryk Date: Thu, 29 Mar 2018 15:14:10 +0200 Subject: [PATCH 3/3] Name and logo explanation. --- Protocol.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Protocol.md b/Protocol.md index a3dc597..6406c78 100644 --- a/Protocol.md +++ b/Protocol.md @@ -22,4 +22,8 @@ such as other blockchains tokens. With these scripting capabilities users can program their own applications inside the system, and with this "external root imports" cross-blockchain communications allowing better scaling -properties than an "all-in-one blockchain" technology. \ No newline at end of file +properties than an "all-in-one blockchain" technology. + +> The "FYgg" name means "Yggdrasil Forest", "Yggdrasil" being the mystical world tree in Norse +> cosmology and "Forest" refeering to this ecosystem of interconnected "world trees". Its name +> and spelling are close to the "fig" fruit used as a logo. \ No newline at end of file -- GitLab