From e758b53ff471812bfd609394e82222a55afaf47f Mon Sep 17 00:00:00 2001 From: brenzi Date: Sun, 2 Jun 2024 13:15:10 +0000 Subject: [PATCH] deploy: 5f7d3bb23219d74123a36e44a855c201442a15a9 --- fig/democracy-aqb.drawio.svg | 4 +++ fig/democracy-electorate.drawio.svg | 4 +++ ...racy-proposal-lifetime-approved.drawio.svg | 4 +++ ...racy-proposal-lifetime-rejected.drawio.svg | 4 +++ print.html | 27 ++++++++++++++----- protocol-democracy.html | 27 ++++++++++++++----- searchindex.js | 2 +- searchindex.json | 2 +- 8 files changed, 60 insertions(+), 14 deletions(-) create mode 100644 fig/democracy-aqb.drawio.svg create mode 100644 fig/democracy-electorate.drawio.svg create mode 100644 fig/democracy-proposal-lifetime-approved.drawio.svg create mode 100644 fig/democracy-proposal-lifetime-rejected.drawio.svg diff --git a/fig/democracy-aqb.drawio.svg b/fig/democracy-aqb.drawio.svg new file mode 100644 index 0000000..31fdd55 --- /dev/null +++ b/fig/democracy-aqb.drawio.svg @@ -0,0 +1,4 @@ + + + + 2024-06-02T09:03:15.699415 image/svg+xml Matplotlib v3.5.1, https://matplotlib.org/
100% Aye
100% Nay
approval rate
50% Aye
turnout
0%
100%
failing
passing
min turnout
\ No newline at end of file diff --git a/fig/democracy-electorate.drawio.svg b/fig/democracy-electorate.drawio.svg new file mode 100644 index 0000000..c033f4a --- /dev/null +++ b/fig/democracy-electorate.drawio.svg @@ -0,0 +1,4 @@ + + + +
45
46
47
48
49
50
51
LT
378
490
520
410
678
710
rewarded attestees
=> electorate: 2098
your participation
=> you have 2 votes
reputation lifetime: 5
proposal submission
cycle
\ No newline at end of file diff --git a/fig/democracy-proposal-lifetime-approved.drawio.svg b/fig/democracy-proposal-lifetime-approved.drawio.svg new file mode 100644 index 0000000..28d010a --- /dev/null +++ b/fig/democracy-proposal-lifetime-approved.drawio.svg @@ -0,0 +1,4 @@ + + + +
Registering
Asgn
Attesting
proposal submission
failing
passing
failing
passing
deadline
proposal lifetime: 9d
AQB status
confirming
confirming
ongoing
ongoing
approved
enactment

confirmation period: 2d

queued for enactment

Registering
Asgn
Attesting
Registering
lazy evaluation!
\ No newline at end of file diff --git a/fig/democracy-proposal-lifetime-rejected.drawio.svg b/fig/democracy-proposal-lifetime-rejected.drawio.svg new file mode 100644 index 0000000..993025d --- /dev/null +++ b/fig/democracy-proposal-lifetime-rejected.drawio.svg @@ -0,0 +1,4 @@ + + + +
Registering
Asgn
Attesting
proposal submission
failing
passing
failing
deadline
proposal lifetime: 9d
AQB status
confirming
ongoing
ongoing
rejected

cancelled

Registering
lazy evaluation!
\ No newline at end of file diff --git a/print.html b/print.html index e6e7083..c3a6290 100644 --- a/print.html +++ b/print.html @@ -393,11 +393,12 @@

js api

}

If you'd like to use javascript, please consider using our npm library encointer-js which adds support for all our types

-

Democracy

+

Democracy V0.1

-

this feature is work in progress and not yet released. See Governance to learn how it currently works

+

this feature is work in progress and currently only deployed on testnet Gesell. See Governance to learn how it currently works_on mainnet

+

V0.1 only encompasses a subset of local community governance actions

-

The democracy module will bring decentralized governance to Encointer facilitating participants to take decisions. Such a universal human suffrage (one person one vote) governance shall render the current Encointer council obsolete. Examples of such decisions are the addition of new meetup locations to a community, an adjustment of the Demurrage rate or changes in the ceremony schdeule.

+

The democracy module will bring decentralized governance to Encointer, facilitating participants to take decisions. Such a universal human suffrage (one person one vote) governance shall render the current Encointer council obsolete. Examples of such decisions are the addition of new meetup locations to a community, an adjustment of the Demurrage rate or changes in the ceremony schdeule.

The decision making process should follow the subsidiarity principle, meaning that decisions should be taken on the lowest possible level. So for example, if a community wants to extend their region by adding some new meetup locations, only community members should be allowed to participate in the vote.

Scope of Democracy

This section describes the powers of Encointer's onchain democracy and at what level decisions are to be made.

@@ -445,6 +446,8 @@

Community
  • update_community_metadata: change name, currency, artwork IPFS cid for community
  • update_demurrage: change how fast balances are demurraged per community
  • +

    Petitions

    +

    Petitions are votes on matters that cannot automatically be enforced by the Encointer protocol. Therefore, they are non-binding for the network. They can have global or local scope. Petitions can be used to signal the network or community leaders about the will of the community.

    Proposals

    There is a set of predefined proposal actions that can be voted on (ie. set basic income to XY)

    Everyone can start a proposal on an action (ie. set basic income to 48 LEU)

    @@ -469,13 +472,25 @@

    Proposal

    For the sake of simplicity, we assume that just a simple majority is needed for a proposal to pass and there is no minimum vote required.

    In the case of multiple proposals, all proposals shall be of the same action.

    Democracy Voting

    +

    Practical Examples

    +

    Let's assume a proposal has been submitted at the end of the last registering phase. During the first day, the proposal doesn't reach the minimal turnout yet, but on day two it enters the passing state and the confirmation period starts. More people make up their mind and vote Nay, so the proposal fall out of confirming state before the end of the confirmation period. Over time, more Aye votes are coming in and the approval threshold is surpassed. This time, the proposal stays in the passing state during the entire confirmation period gets approved. +Any community member can call the lazy evaluation and the proposal action will be scheduled for enaction at the start of the upcoming registering phase.

    +

    lifetime approved

    +

    Another example shows a proposal with insufficient approval. After an initial boost, it stays in the failing state until the the end of its lifetime. Any community member can request lazy evaluation and the proposal will be cancelled.

    +

    lifetime rejected

    Voting

    Eligible Reputations

    -

    We currently allow only reputations older that the ceremony cycle of the proposal start - 2 to participate in the vote. This is because the count of those reputations is not subject to change anymore. We need a reliable count of all eligible reputations in order to determine the maximum amount of possible votes, which is required 1. for AQB and 2. to determine the minimum turnout.

    +

    We currently allow only reputations older than the ceremony cycle of the proposal start - 2 to participate in the vote. This is because the count of those reputations is not subject to change anymore. We need a reliable count of all eligible reputations in order to determine the maximum amount of possible votes, which is required 1. for AQB and 2. to determine the minimum turnout.

    If we want to relax this in the future, we would need to come up with a way to handle the dynamic change of the electorate while a proposal is running. This is not trivial.

    +

    electorate

    +

    Your own voting power depends on the number of cycles you have attended during the eligible period. The more cycles you have attended, the more voting power you have. This is a sybil-resilient approximation of universal suffrage.

    Adaptive Quorum Biasing (AQB) and Minimum Approval

    -

    In order to determine if a vote is passing, we use Positive Turnout Bias. In addition we enforce a minimum turnout of 5%.

    -

    Tutorial

    +

    In order to determine if a proposal is passing, we use positive turnout bias. The approval threshold follows the formula: \(thrs = \frac{1}{1+\sqrt{turnout}}\) where \(turnout \in [0, 1]\) and \(thrs \in [0, 1]\)

    +

    In addition we enforce a minimum turnout of 5%.

    +

    The goal of AQB is to ensure proposals can be approved even if turnout is low. Especially noncontroversial proposals may suffer from low turnout as they fail to mobilize the crowd. However, low turnout should require a higher approval rate to pass.

    +

    AQB

    +

    The blue trace depicts a possible turnout over time. It can be expected that the initiators of a proposal will immediately vote Aye, leading to very high approval at start. As long as less than 5% of the elecorate have cast their vote, the proposal is in failing state. Over time, more people will make up their mind and the proposal may flip between passing and failing state several times before eventually staying in the passing state for the confirmation period. The end of the confirmation period is depicted by the blue dot.

    +

    Tutorial

    For a tutorial of the democracy module, please see the Democracy Tutorial

    Threat Model

    Actor Profiles

    diff --git a/protocol-democracy.html b/protocol-democracy.html index 736254a..45e8629 100644 --- a/protocol-democracy.html +++ b/protocol-democracy.html @@ -151,11 +151,12 @@

    The Encointer Book

    -

    Democracy

    +

    Democracy V0.1

    -

    this feature is work in progress and not yet released. See Governance to learn how it currently works

    +

    this feature is work in progress and currently only deployed on testnet Gesell. See Governance to learn how it currently works_on mainnet

    +

    V0.1 only encompasses a subset of local community governance actions

    -

    The democracy module will bring decentralized governance to Encointer facilitating participants to take decisions. Such a universal human suffrage (one person one vote) governance shall render the current Encointer council obsolete. Examples of such decisions are the addition of new meetup locations to a community, an adjustment of the Demurrage rate or changes in the ceremony schdeule.

    +

    The democracy module will bring decentralized governance to Encointer, facilitating participants to take decisions. Such a universal human suffrage (one person one vote) governance shall render the current Encointer council obsolete. Examples of such decisions are the addition of new meetup locations to a community, an adjustment of the Demurrage rate or changes in the ceremony schdeule.

    The decision making process should follow the subsidiarity principle, meaning that decisions should be taken on the lowest possible level. So for example, if a community wants to extend their region by adding some new meetup locations, only community members should be allowed to participate in the vote.

    Scope of Democracy

    This section describes the powers of Encointer's onchain democracy and at what level decisions are to be made.

    @@ -203,6 +204,8 @@

    Community
  • update_community_metadata: change name, currency, artwork IPFS cid for community
  • update_demurrage: change how fast balances are demurraged per community
  • +

    Petitions

    +

    Petitions are votes on matters that cannot automatically be enforced by the Encointer protocol. Therefore, they are non-binding for the network. They can have global or local scope. Petitions can be used to signal the network or community leaders about the will of the community.

    Proposals

    There is a set of predefined proposal actions that can be voted on (ie. set basic income to XY)

    Everyone can start a proposal on an action (ie. set basic income to 48 LEU)

    @@ -227,13 +230,25 @@

    Proposal

    For the sake of simplicity, we assume that just a simple majority is needed for a proposal to pass and there is no minimum vote required.

    In the case of multiple proposals, all proposals shall be of the same action.

    Democracy Voting

    +

    Practical Examples

    +

    Let's assume a proposal has been submitted at the end of the last registering phase. During the first day, the proposal doesn't reach the minimal turnout yet, but on day two it enters the passing state and the confirmation period starts. More people make up their mind and vote Nay, so the proposal fall out of confirming state before the end of the confirmation period. Over time, more Aye votes are coming in and the approval threshold is surpassed. This time, the proposal stays in the passing state during the entire confirmation period gets approved. +Any community member can call the lazy evaluation and the proposal action will be scheduled for enaction at the start of the upcoming registering phase.

    +

    lifetime approved

    +

    Another example shows a proposal with insufficient approval. After an initial boost, it stays in the failing state until the the end of its lifetime. Any community member can request lazy evaluation and the proposal will be cancelled.

    +

    lifetime rejected

    Voting

    Eligible Reputations

    -

    We currently allow only reputations older that the ceremony cycle of the proposal start - 2 to participate in the vote. This is because the count of those reputations is not subject to change anymore. We need a reliable count of all eligible reputations in order to determine the maximum amount of possible votes, which is required 1. for AQB and 2. to determine the minimum turnout.

    +

    We currently allow only reputations older than the ceremony cycle of the proposal start - 2 to participate in the vote. This is because the count of those reputations is not subject to change anymore. We need a reliable count of all eligible reputations in order to determine the maximum amount of possible votes, which is required 1. for AQB and 2. to determine the minimum turnout.

    If we want to relax this in the future, we would need to come up with a way to handle the dynamic change of the electorate while a proposal is running. This is not trivial.

    +

    electorate

    +

    Your own voting power depends on the number of cycles you have attended during the eligible period. The more cycles you have attended, the more voting power you have. This is a sybil-resilient approximation of universal suffrage.

    Adaptive Quorum Biasing (AQB) and Minimum Approval

    -

    In order to determine if a vote is passing, we use Positive Turnout Bias. In addition we enforce a minimum turnout of 5%.

    -

    Tutorial

    +

    In order to determine if a proposal is passing, we use positive turnout bias. The approval threshold follows the formula: \(thrs = \frac{1}{1+\sqrt{turnout}}\) where \(turnout \in [0, 1]\) and \(thrs \in [0, 1]\)

    +

    In addition we enforce a minimum turnout of 5%.

    +

    The goal of AQB is to ensure proposals can be approved even if turnout is low. Especially noncontroversial proposals may suffer from low turnout as they fail to mobilize the crowd. However, low turnout should require a higher approval rate to pass.

    +

    AQB

    +

    The blue trace depicts a possible turnout over time. It can be expected that the initiators of a proposal will immediately vote Aye, leading to very high approval at start. As long as less than 5% of the elecorate have cast their vote, the proposal is in failing state. Over time, more people will make up their mind and the proposal may flip between passing and failing state several times before eventually staying in the passing state for the confirmation period. The end of the confirmation period is depicted by the blue dot.

    +

    Tutorial

    For a tutorial of the democracy module, please see the Democracy Tutorial

    diff --git a/searchindex.js b/searchindex.js index 3d6dcbf..61a62b7 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Object.assign(window.search, {"doc_urls":["introduction.html#introduction","economics.html#economics","economics-cantillon.html#the-cantillon-effect","economics-ubi.html#universal-basic-income","economics-ubi.html#universal","economics-ubi.html#basic","economics-ubi.html#income","economics-ubi.html#literature","economics-demurrage.html#demurrage","economics-demurrage.html#comparison","economics-local-currencies.html#local-currencies","economics-local-currencies.html#classification","economics-local-currencies.html#mutual-credit","economics-local-currencies.html#local-fiat-currencies","economics-local-currencies.html#time-banks","economics-local-currencies.html#examples","economics-local-currencies.html#ab-schein-wörgl","economics-local-currencies.html#chiemgauer","economics-local-currencies.html#wir","economics-local-currencies.html#blaengarw-time-centre","economics-local-currencies.html#references","economics-interest.html#on-saving-loans-and-interest","economics-interest.html#alternatives","economics-interest.html#saving-is-no-virtue","economics-interest.html#encointers-approach","economics-interest.html#references","ssi.html#self-sovereign-identity-and-digital-personhood","ssi.html#digital-personhood","ssi.html#privacy-considerations","ssi.html#sybil-defense-for-social-media","ssi.html#community-web-of-trust","ssi.html#polkadot-parachain-personhood-service","protocol.html#encointer-protocol","protocol-ceremony-cycle.html#the-encointer-ceremony-cycle","protocol-ceremony-cycle.html#ceremony-phases","protocol-ceremony-cycle.html#registering","protocol-ceremony-cycle.html#assigning","protocol-ceremony-cycle.html#attesting","protocol-ceremony-cycle.html#timing","protocol-reputation.html#encointer-personhood-reputation","protocol-reputation.html#reputation-lifetime","protocol-reputation.html#reputation-ratio","protocol-reputation.html#user-journey","protocol-reputation.html#newbie","protocol-reputation.html#reputable","protocol-reputation.html#bootstrappers","protocol-cid.html#community-identifiers","protocol-cid.html#js-api","protocol-democracy.html#democracy","protocol-democracy.html#scope-of-democracy","protocol-democracy.html#protocol-changes","protocol-democracy.html#global-actions","protocol-democracy.html#community-actions","protocol-democracy.html#proposals","protocol-democracy.html#proposal-lifetime","protocol-democracy.html#voting","protocol-democracy.html#eligible-reputations","protocol-democracy.html#adaptive-quorum-biasing-aqb-and-minimum-approval","protocol-democracy.html#tutorial","protocol-threat-model.html#threat-model","protocol-threat-model.html#actor-profiles","protocol-threat-model.html#honest","protocol-threat-model.html#greedy","protocol-threat-model.html#saboteur","protocol-threat-model.html#more-roles","protocol-threat-model.html#sybil","protocol-threat-model.html#manipulable","protocol-threat-model.html#collusion-organizations","protocol-threat-model.html#evilcorp","protocol-threat-model.html#assumptions","protocol-threat-model.html#rule-design","protocol-threat-model.html#rules","protocol-threat-model.html#meetup-assignment","protocol-threat-model.html#meetup-validation","protocol-threat-model.html#ubireward-issuance","protocol-threat-model.html#remote-attacks","protocol-threat-model.html#flooding-attack","protocol-threat-model.html#non-protocol-threats","protocol-threat-model.html#aggression-detention","protocol-threat-model.html#abduction","protocol-threat-model.html#behavioural-meetup-scenario-analysis","protocol-threat-model.html#3-registered-participants","protocol-threat-model.html#happy-flow","protocol-threat-model.html#attacks","protocol-threat-model.html#4-registered-participants","protocol-threat-model.html#oversigning","protocol-threat-model.html#oversigning-light","protocol-threat-model.html#location-spoofing","protocol-threat-model.html#5-registered-participants","protocol-threat-model.html#conclusion","decentralization.html#decentralization","decentralization.html#blockchain","decentralization.html#consensus-and-security","decentralization.html#governance","decentralization.html#privacy","decentralization.html#philosophy","decentralization-governance.html#governance","decentralization-governance.html#subsidiarity","decentralization-governance.html#global-protocol-scope","decentralization-governance.html#global-operative-scope","decentralization-governance.html#local-community-scope","decentralization-governance.html#council","decentralization-governance.html#powers-of-council","deployments.html#testnets","deployments.html#gesell","deployments.html#cantillon","deployments.html#outlook-on-mainnet","deployments.html#time-warping-for-testnets","testnet-gesell.html#testnet-gesell","testnet-gesell.html#design","testnet-gesell.html#scheduler","testnet-gesell.html#currencies","testnet-gesell.html#balances","testnet-gesell.html#ceremonies","testnet-cantillon.html#testnet-cantillon","testnet-cantillon.html#design","parachain-kusama.html#encointer-kusama-parachain","bazaar.html#bazaar","bazaar.html#vouchers","app.html#encointer-wallet-app","app.html#install","app.html#android","app.html#ios","app.html#feature-phones-kaios","app.html#dumb-phones-ussd","app.html#usage","app.html#acknowledgements","app-select-community.html#select-community","app-select-community.html#select-network","app-select-community.html#select-community","app-register.html#register-for-a-ceremony","app-meetup.html#perfrom-a-ceremony-meetup","app-meetup.html#voting","app-meetup.html#attesting-personhood","app-meetup.html#procedure","app-meetup.html#reward-issuance","app-meetup.html#immediate-claim","app-meetup.html#late-claim","app-meetup.html#social-contract","explorer.html#explorer","tutorials-cli.html#basic-cli-usage","tutorials-cli.html#setup","tutorials-cli.html#get-ceremony-phase","tutorials-cli.html#list-communities","tutorials-cli.html#manage-account-keystore","tutorials-cli.html#query-account-balances","tutorials-cli.html#faucet","tutorials-register-community.html#how-to-register-an-encointer-community-manually","tutorials-register-community.html#set-up-bootstrappers","tutorials-register-community.html#define-ceremony-meetup-locations","tutorials-register-community.html#specfile","tutorials-register-community.html#use-your-own-community-icon","tutorials-register-community.html#register-your-new-community","tutorials-perform-cycle.html#perform-a-testnet-cycle","tutorials-perform-cycle.html#import-test-accounts","tutorials-perform-cycle.html#register-participants","tutorials-perform-cycle.html#check-assignments","tutorials-perform-cycle.html#perform-cycle-gathering","tutorials-perform-cycle.html#claim-rewards","tutorials-perform-cycle.html#next-steps","tutorials-register-locations.html#register-new-meetup-locations","tutorials-register-locations.html#selecting-locations","tutorials-register-locations.html#accessibility","tutorials-register-locations.html#easy-discoverability","tutorials-register-locations.html#enough-space","tutorials-register-locations.html#medium-crowdedness","tutorials-register-locations.html#shelter","tutorials-register-locations.html#identity-shaping","tutorials-register-locations.html#close-to-acceptance-points","tutorials-register-locations.html#specify-locations","tutorials-register-locations.html#register-locations","tutorials-register-locations.html#how-to-add-locations-on-mainnet","tutorials-vouchers.html#create-vouchers","tutorials-vouchers.html#setup","tutorials-vouchers.html#generate","tutorials-vouchers.html#funding","tutorials-vouchers.html#design","tutorials-vouchers.html#auto-config","tutorials-acceptance-point.html#acceptance-point-setup","tutorials-acceptance-point.html#security","tutorials-acceptance-point.html#collect-only-setup","tutorials-acceptance-point.html#qr-code-for-self-service-checkout","tutorials-bazaar.html#bazaar","tutorials-bazaar.html#setup-ipfs-uploads","tutorials-bazaar.html#create-a-pure-proxy-business-account","tutorials-bazaar.html#create-a-business-entry-for-bazaar","tutorials-bazaar.html#register-an-offering","tutorials-bazaar.html#why-ipfs","tutorials-bazaar.html#bazaar-web","tutorials-faucets.html#faucets","tutorials-faucets.html#testnet-usage","tutorials-faucets.html#drip","tutorials-faucets.html#replenish-a-faucet","tutorials-faucets.html#create-a-new-faucet","tutorials-faucets.html#mainnet-faucets","tutorials-faucets.html#create-faucet","tutorials-faucets.html#drip-faucet","tutorials-faucets.html#refill","tutorials-faucets.html#monitor-usage","tutorials-democracy.html#democracy-tutorial","tutorials-democracy.html#what-can-you-vote-on","tutorials-democracy.html#who-can-vote","tutorials-democracy.html#quorum","tutorials-democracy.html#submit-proposals","tutorials-democracy.html#vote","tutorials-democracy.html#deep-dive","developers.html#developers","developers-notee-local-setup.html#gesell-local-setup","developers-notee-local-setup.html#build-node","developers-notee-local-setup.html#launch-gesell-node","developers-notee-local-setup.html#cli-client","developers-bot-communities.html#bot-communities","developers-bot-communities.html#setup","developers-bot-communities.html#local-testing","developers-bot-communities.html#testnet-gesell-bot-communities","developers-bot-communities.html#explanations","developers-bot-communities.html#see-activity-in-explorer","developers-bot-communities.html#browse-bazaar-businesses-and-offernings","developers-notee-multi-community-growth-benchmark.html#gesell-local-dockerized-benchmark","developers-notee-multi-community-growth-benchmark.html#launch-local-docker-environment-with-gesell-node-and-comminities","developers-notee-multi-community-growth-benchmark.html#watch-communities-grow-on-explorer","developers-notee-multi-community-growth-benchmark.html#watch-performance-metrics-prometheusgrafana","developers-teeproxy-local.html#local-teeproxy-setup","developers-teeproxy-local.html#build-client-and-worker","developers-teeproxy-local.html#build-node","developers-teeproxy-local.html#docker-demo","developers-teeproxy-local.html#building","developers-teeproxy-local.html#run-a-bot-community"],"index":{"documentStore":{"docInfo":{"0":{"body":13,"breadcrumbs":1,"title":1},"1":{"body":9,"breadcrumbs":1,"title":1},"10":{"body":64,"breadcrumbs":3,"title":2},"100":{"body":17,"breadcrumbs":4,"title":3},"101":{"body":41,"breadcrumbs":2,"title":1},"102":{"body":229,"breadcrumbs":3,"title":2},"103":{"body":10,"breadcrumbs":1,"title":1},"104":{"body":30,"breadcrumbs":1,"title":1},"105":{"body":25,"breadcrumbs":1,"title":1},"106":{"body":14,"breadcrumbs":2,"title":2},"107":{"body":18,"breadcrumbs":3,"title":3},"108":{"body":44,"breadcrumbs":3,"title":2},"109":{"body":8,"breadcrumbs":2,"title":1},"11":{"body":12,"breadcrumbs":2,"title":1},"110":{"body":9,"breadcrumbs":2,"title":1},"111":{"body":6,"breadcrumbs":2,"title":1},"112":{"body":6,"breadcrumbs":2,"title":1},"113":{"body":10,"breadcrumbs":2,"title":1},"114":{"body":24,"breadcrumbs":3,"title":2},"115":{"body":30,"breadcrumbs":2,"title":1},"116":{"body":12,"breadcrumbs":4,"title":3},"117":{"body":42,"breadcrumbs":1,"title":1},"118":{"body":30,"breadcrumbs":1,"title":1},"119":{"body":13,"breadcrumbs":3,"title":3},"12":{"body":118,"breadcrumbs":3,"title":2},"120":{"body":0,"breadcrumbs":1,"title":1},"121":{"body":0,"breadcrumbs":1,"title":1},"122":{"body":0,"breadcrumbs":1,"title":1},"123":{"body":5,"breadcrumbs":3,"title":3},"124":{"body":9,"breadcrumbs":3,"title":3},"125":{"body":15,"breadcrumbs":1,"title":1},"126":{"body":6,"breadcrumbs":1,"title":1},"127":{"body":6,"breadcrumbs":3,"title":2},"128":{"body":81,"breadcrumbs":3,"title":2},"129":{"body":36,"breadcrumbs":3,"title":2},"13":{"body":136,"breadcrumbs":4,"title":3},"130":{"body":61,"breadcrumbs":3,"title":2},"131":{"body":23,"breadcrumbs":4,"title":3},"132":{"body":35,"breadcrumbs":2,"title":1},"133":{"body":14,"breadcrumbs":3,"title":2},"134":{"body":97,"breadcrumbs":2,"title":1},"135":{"body":26,"breadcrumbs":3,"title":2},"136":{"body":14,"breadcrumbs":3,"title":2},"137":{"body":10,"breadcrumbs":3,"title":2},"138":{"body":74,"breadcrumbs":3,"title":2},"139":{"body":67,"breadcrumbs":1,"title":1},"14":{"body":78,"breadcrumbs":3,"title":2},"140":{"body":13,"breadcrumbs":4,"title":3},"141":{"body":96,"breadcrumbs":2,"title":1},"142":{"body":18,"breadcrumbs":3,"title":2},"143":{"body":56,"breadcrumbs":3,"title":2},"144":{"body":36,"breadcrumbs":4,"title":3},"145":{"body":27,"breadcrumbs":4,"title":3},"146":{"body":12,"breadcrumbs":2,"title":1},"147":{"body":23,"breadcrumbs":5,"title":4},"148":{"body":125,"breadcrumbs":4,"title":3},"149":{"body":68,"breadcrumbs":5,"title":4},"15":{"body":0,"breadcrumbs":2,"title":1},"150":{"body":143,"breadcrumbs":2,"title":1},"151":{"body":96,"breadcrumbs":4,"title":3},"152":{"body":60,"breadcrumbs":4,"title":3},"153":{"body":63,"breadcrumbs":4,"title":3},"154":{"body":32,"breadcrumbs":4,"title":3},"155":{"body":58,"breadcrumbs":3,"title":2},"156":{"body":13,"breadcrumbs":3,"title":2},"157":{"body":58,"breadcrumbs":4,"title":3},"158":{"body":65,"breadcrumbs":3,"title":2},"159":{"body":11,"breadcrumbs":3,"title":2},"16":{"body":65,"breadcrumbs":4,"title":3},"160":{"body":25,"breadcrumbs":5,"title":4},"161":{"body":7,"breadcrumbs":3,"title":2},"162":{"body":14,"breadcrumbs":2,"title":1},"163":{"body":10,"breadcrumbs":3,"title":2},"164":{"body":13,"breadcrumbs":3,"title":2},"165":{"body":25,"breadcrumbs":3,"title":2},"166":{"body":21,"breadcrumbs":2,"title":1},"167":{"body":6,"breadcrumbs":3,"title":2},"168":{"body":11,"breadcrumbs":4,"title":3},"169":{"body":67,"breadcrumbs":3,"title":2},"17":{"body":34,"breadcrumbs":2,"title":1},"170":{"body":40,"breadcrumbs":3,"title":2},"171":{"body":41,"breadcrumbs":4,"title":3},"172":{"body":36,"breadcrumbs":3,"title":2},"173":{"body":13,"breadcrumbs":2,"title":1},"174":{"body":102,"breadcrumbs":2,"title":1},"175":{"body":25,"breadcrumbs":2,"title":1},"176":{"body":8,"breadcrumbs":2,"title":1},"177":{"body":19,"breadcrumbs":3,"title":2},"178":{"body":20,"breadcrumbs":4,"title":3},"179":{"body":4,"breadcrumbs":2,"title":1},"18":{"body":41,"breadcrumbs":2,"title":1},"180":{"body":76,"breadcrumbs":3,"title":2},"181":{"body":115,"breadcrumbs":6,"title":5},"182":{"body":4,"breadcrumbs":2,"title":1},"183":{"body":20,"breadcrumbs":4,"title":3},"184":{"body":16,"breadcrumbs":6,"title":5},"185":{"body":77,"breadcrumbs":5,"title":4},"186":{"body":61,"breadcrumbs":3,"title":2},"187":{"body":25,"breadcrumbs":2,"title":1},"188":{"body":7,"breadcrumbs":3,"title":2},"189":{"body":50,"breadcrumbs":2,"title":1},"19":{"body":22,"breadcrumbs":4,"title":3},"190":{"body":0,"breadcrumbs":3,"title":2},"191":{"body":154,"breadcrumbs":2,"title":1},"192":{"body":17,"breadcrumbs":3,"title":2},"193":{"body":121,"breadcrumbs":4,"title":3},"194":{"body":13,"breadcrumbs":3,"title":2},"195":{"body":40,"breadcrumbs":3,"title":2},"196":{"body":64,"breadcrumbs":3,"title":2},"197":{"body":5,"breadcrumbs":2,"title":1},"198":{"body":172,"breadcrumbs":3,"title":2},"199":{"body":35,"breadcrumbs":3,"title":2},"2":{"body":167,"breadcrumbs":3,"title":2},"20":{"body":17,"breadcrumbs":2,"title":1},"200":{"body":18,"breadcrumbs":2,"title":1},"201":{"body":44,"breadcrumbs":2,"title":1},"202":{"body":135,"breadcrumbs":2,"title":1},"203":{"body":60,"breadcrumbs":3,"title":2},"204":{"body":260,"breadcrumbs":2,"title":1},"205":{"body":111,"breadcrumbs":3,"title":2},"206":{"body":9,"breadcrumbs":1,"title":1},"207":{"body":13,"breadcrumbs":4,"title":3},"208":{"body":23,"breadcrumbs":3,"title":2},"209":{"body":69,"breadcrumbs":4,"title":3},"21":{"body":96,"breadcrumbs":4,"title":3},"210":{"body":43,"breadcrumbs":3,"title":2},"211":{"body":35,"breadcrumbs":3,"title":2},"212":{"body":19,"breadcrumbs":2,"title":1},"213":{"body":231,"breadcrumbs":3,"title":2},"214":{"body":65,"breadcrumbs":5,"title":4},"215":{"body":424,"breadcrumbs":2,"title":1},"216":{"body":11,"breadcrumbs":4,"title":3},"217":{"body":14,"breadcrumbs":5,"title":4},"218":{"body":9,"breadcrumbs":5,"title":4},"219":{"body":35,"breadcrumbs":8,"title":7},"22":{"body":88,"breadcrumbs":2,"title":1},"220":{"body":18,"breadcrumbs":5,"title":4},"221":{"body":14,"breadcrumbs":5,"title":4},"222":{"body":34,"breadcrumbs":4,"title":3},"223":{"body":92,"breadcrumbs":4,"title":3},"224":{"body":62,"breadcrumbs":3,"title":2},"225":{"body":87,"breadcrumbs":3,"title":2},"226":{"body":80,"breadcrumbs":2,"title":1},"227":{"body":52,"breadcrumbs":4,"title":3},"23":{"body":54,"breadcrumbs":3,"title":2},"24":{"body":151,"breadcrumbs":3,"title":2},"25":{"body":44,"breadcrumbs":2,"title":1},"26":{"body":80,"breadcrumbs":5,"title":5},"27":{"body":41,"breadcrumbs":2,"title":2},"28":{"body":22,"breadcrumbs":2,"title":2},"29":{"body":210,"breadcrumbs":4,"title":4},"3":{"body":81,"breadcrumbs":4,"title":3},"30":{"body":82,"breadcrumbs":3,"title":3},"31":{"body":56,"breadcrumbs":4,"title":4},"32":{"body":53,"breadcrumbs":2,"title":2},"33":{"body":10,"breadcrumbs":5,"title":3},"34":{"body":9,"breadcrumbs":4,"title":2},"35":{"body":31,"breadcrumbs":3,"title":1},"36":{"body":42,"breadcrumbs":3,"title":1},"37":{"body":41,"breadcrumbs":3,"title":1},"38":{"body":29,"breadcrumbs":3,"title":1},"39":{"body":13,"breadcrumbs":5,"title":3},"4":{"body":62,"breadcrumbs":2,"title":1},"40":{"body":32,"breadcrumbs":4,"title":2},"41":{"body":22,"breadcrumbs":4,"title":2},"42":{"body":0,"breadcrumbs":4,"title":2},"43":{"body":50,"breadcrumbs":3,"title":1},"44":{"body":57,"breadcrumbs":3,"title":1},"45":{"body":67,"breadcrumbs":3,"title":1},"46":{"body":22,"breadcrumbs":4,"title":2},"47":{"body":27,"breadcrumbs":4,"title":2},"48":{"body":73,"breadcrumbs":3,"title":1},"49":{"body":9,"breadcrumbs":4,"title":2},"5":{"body":231,"breadcrumbs":2,"title":1},"50":{"body":26,"breadcrumbs":4,"title":2},"51":{"body":112,"breadcrumbs":4,"title":2},"52":{"body":51,"breadcrumbs":4,"title":2},"53":{"body":92,"breadcrumbs":3,"title":1},"54":{"body":57,"breadcrumbs":4,"title":2},"55":{"body":0,"breadcrumbs":3,"title":1},"56":{"body":49,"breadcrumbs":4,"title":2},"57":{"body":13,"breadcrumbs":8,"title":6},"58":{"body":7,"breadcrumbs":3,"title":1},"59":{"body":0,"breadcrumbs":4,"title":2},"6":{"body":50,"breadcrumbs":2,"title":1},"60":{"body":8,"breadcrumbs":4,"title":2},"61":{"body":2,"breadcrumbs":3,"title":1},"62":{"body":18,"breadcrumbs":3,"title":1},"63":{"body":16,"breadcrumbs":3,"title":1},"64":{"body":0,"breadcrumbs":4,"title":2},"65":{"body":12,"breadcrumbs":3,"title":1},"66":{"body":10,"breadcrumbs":3,"title":1},"67":{"body":0,"breadcrumbs":4,"title":2},"68":{"body":15,"breadcrumbs":3,"title":1},"69":{"body":22,"breadcrumbs":3,"title":1},"7":{"body":17,"breadcrumbs":2,"title":1},"70":{"body":28,"breadcrumbs":4,"title":2},"71":{"body":3,"breadcrumbs":3,"title":1},"72":{"body":26,"breadcrumbs":4,"title":2},"73":{"body":31,"breadcrumbs":4,"title":2},"74":{"body":27,"breadcrumbs":4,"title":2},"75":{"body":0,"breadcrumbs":4,"title":2},"76":{"body":19,"breadcrumbs":4,"title":2},"77":{"body":0,"breadcrumbs":5,"title":3},"78":{"body":24,"breadcrumbs":4,"title":2},"79":{"body":19,"breadcrumbs":3,"title":1},"8":{"body":86,"breadcrumbs":2,"title":1},"80":{"body":7,"breadcrumbs":6,"title":4},"81":{"body":0,"breadcrumbs":5,"title":3},"82":{"body":23,"breadcrumbs":4,"title":2},"83":{"body":100,"breadcrumbs":3,"title":1},"84":{"body":0,"breadcrumbs":5,"title":3},"85":{"body":61,"breadcrumbs":3,"title":1},"86":{"body":18,"breadcrumbs":4,"title":2},"87":{"body":90,"breadcrumbs":4,"title":2},"88":{"body":19,"breadcrumbs":5,"title":3},"89":{"body":53,"breadcrumbs":3,"title":1},"9":{"body":70,"breadcrumbs":2,"title":1},"90":{"body":82,"breadcrumbs":1,"title":1},"91":{"body":44,"breadcrumbs":1,"title":1},"92":{"body":127,"breadcrumbs":2,"title":2},"93":{"body":94,"breadcrumbs":1,"title":1},"94":{"body":39,"breadcrumbs":1,"title":1},"95":{"body":75,"breadcrumbs":1,"title":1},"96":{"body":0,"breadcrumbs":2,"title":1},"97":{"body":15,"breadcrumbs":2,"title":1},"98":{"body":32,"breadcrumbs":4,"title":3},"99":{"body":14,"breadcrumbs":4,"title":3}},"docs":{"0":{"body":"logo This is becoming the main documentation resource for Encointer. It is work in progress. For more detailed information refer to the whitepaper","breadcrumbs":"Introduction","id":"0","title":"Introduction"},"1":{"body":"This chapter shall be an opinionated interpretation of the status quo and what we expect to acheive with Encointer.","breadcrumbs":"Economics","id":"1","title":"Economics"},"10":{"body":"Cryptocurrencies are fundamentally global in nature. Their networks are decentralized and agnostic to national borders. But global currencies have a severe disadvantage: Their purchase value can evolve very differently in different regions. The Euro is such an example, which is the official currency in many european countries with distinct fiscal policies and economic development. While there are political reasons to favor such a unifying currency, many economists doubt the concept. States with less economic growth have no option of devaluing their national currency. They can only get into debt - and then get forced into austerity, further weakening their economy. Local currencies on the other hand are mainly affected by local economy.","breadcrumbs":"Economics » Local Currencies","id":"10","title":"Local Currencies"},"100":{"body":"Each community can decide on parameters that only concern itself. Such parameters are demurrage, nominal income per ceremony and community metadata like Logo, Name","breadcrumbs":"Decentralization » Local Community Scope","id":"100","title":"Local Community Scope"},"101":{"body":"Encointer aims at democratic governance based on one-person-one-vote . However, democracy requires a representative number of users and communities to be meaningful and legitimate. Therefore, governance is delegated to a council until the community deems to be ready for democracy. The council currently consists of 7 members of the Encointer Association. Each local community may elect a representative which shall join the council.","breadcrumbs":"Decentralization » Council","id":"101","title":"Council"},"102":{"body":"The council currently governs the Global Operative Scope and the Local Community Scope. Through propsals , it can execute the following actions: Adjust ceremony schedule next_phase : force progress to next ceremony phase push_by_one_day : postpone next phase change by one day push_by_one_day set_phase_duration : adjust ceremony schedule phase durations set_next_phase_timestamp : arbitrarily define the time for next phase change Manage communities new_community : Register new communities add_location : add meetup location for community remove_location : remove meetup location for community update_community_metadata : change name, currency, artwork IPFS cid for community update_demurrage : change how fast balances are demurraged per community update_nominal_income : the amount of basic income per ceremony per person per community set_min_solar_trip_time_s : security parameter to calculate minimal location distance set_max_speed_mps : security parameter defining the maximal speed over ground of an adversary purge_community : Remove a community by from the registry entirely, wiping all balances, reputation and locations Manage Ceremony Parameters and Memory set_inactivity_timeout : define how many ceremonies a community can be idle before getting purged set_endorsement_tickets_per_bootstrapper : define how many endorsement tickets bootstrappers should get to invite people they trust set_reputation_lifetime : define how long proof-of-personhood reputation is valid for and stored set_meetup_time_offset : finetune meetup time difference to high sun purge_community_ceremony : garbage collect outdated reputation if necessary due to parameter changes set_time_tolerance set how precisely the meetup time needs to be attested to be considered valid set_location_tolerance set how precisely the meetup location needs to be attested to be considered valid Manage Currency/Fee Parameters setFeeConversionFactor tune community currency extrinsic fees relative to KSM fees and community income Treasury accept / reject treasury spend proposals (the treasury receives KSM fees for extrinsics plus potential donations In the beginning, onboarding of new communites will be permissioned, subject to the council's approval. The team sees no other way to avoid bot communities squatting the earth's surface. Over time, a web-of-trust will build and new communities can be onboarded by endorsement of other communites.","breadcrumbs":"Decentralization » Powers of Council","id":"102","title":"Powers of Council"},"103":{"body":"Encointer maintains two testnets: Gesell and Cantillon. The networks differ in their goals and designs:","breadcrumbs":"Testnets","id":"103","title":"Testnets"},"104":{"body":"Aimed at automated testing of the protocol and our mobile phone app . Time-warping allows to script bot populations and hold ceremonies every 30min. Complete transparency of all registries and balances. Everything happens on-chain. experimenting with real ceremony meetups, physically meeting people.","breadcrumbs":"Gesell","id":"104","title":"Gesell"},"105":{"body":"The main purpose of Cantillon is privacy enhancement through Trusted Execution environments (with enclaves still in development mode, so privacy is not guaranteed before we move to production mode) Watch our demo video on bootstrapping a bot community","breadcrumbs":"Cantillon","id":"105","title":"Cantillon"},"106":{"body":"The mainnet is planned to become a parachain of Kusama , the canary network of Polkadot . The chain security will depend on Kusama relay chain.","breadcrumbs":"Outlook on Mainnet","id":"106","title":"Outlook on Mainnet"},"107":{"body":"In order to understand the different timing on our networks, we offer the following figure: Phase Timing Temporarily, we will apply 30min ceremony cycle to both Gesell and Cantillon*","breadcrumbs":"Time Warping for Testnets","id":"107","title":"Time Warping for Testnets"},"108":{"body":"Gesell is our first testnet. It allows you to bootstrap new local currencies and perform regular proof-of-personhood ceremonies that give participants a universal basic income. This network is meant for testing with bot populations in order to audit and stress-test the protocol. Gesell does not give you the privacy that later networks will provide. We do not expect real physical meetups to happen on this network except occasional demo meetups.","breadcrumbs":"Deployments » Testnet Gesell","id":"108","title":"Testnet Gesell"},"109":{"body":"Gesell is based on substrate and its nodes consist of four pallets Gesell","breadcrumbs":"Deployments » Design","id":"109","title":"Design"},"11":{"body":"Known examples of local currencies can be divided into mutual credit , local fiat currencies and time banks .","breadcrumbs":"Economics » Classification","id":"11","title":"Classification"},"110":{"body":"Keeps track of time and maintains the ceremony state-machine phase changes.","breadcrumbs":"Deployments » Scheduler","id":"110","title":"Scheduler"},"111":{"body":"Registry for all local currencies with their properties and meetup locations","breadcrumbs":"Deployments » Currencies","id":"111","title":"Currencies"},"112":{"body":"The individual's account balances in all currencies, featuring demurrage .","breadcrumbs":"Deployments » Balances","id":"112","title":"Balances"},"113":{"body":"Where participants register for ceremonies. Assignment of meetups and issuance of UBI upon proof-of-personhood.","breadcrumbs":"Deployments » Ceremonies","id":"113","title":"Ceremonies"},"114":{"body":"** DISCONTINUED ** Cantillon was the testnet to showcase the privacy features using trusted execution environments with Integritee technology It is still on our roadmap to include these features, but currently, the focus lies on running a common good parachain on Kusama","breadcrumbs":"Deployments » Testnet Cantillon","id":"114","title":"Testnet Cantillon"},"115":{"body":"Cantillon uses the same pallets as Gesell, but the privacy-sensitive ones will be executed off-chain, inside a trusted execution environment (TEE). SubstraTEE will be the framework that isolates sensitive information inside Intel SGX enclaves (Alternative TEE technologies are being evaluated) Cantillon","breadcrumbs":"Deployments » Design","id":"115","title":"Design"},"116":{"body":"Encointer's productive mainnet is planned run as a common good parachain on Kusama. More info coming...","breadcrumbs":"Deployments » Encointer Kusama Parachain","id":"116","title":"Encointer Kusama Parachain"},"117":{"body":"What is a local currency without the possibility to spend it on desired goods and services? How can you find businesses that accept the local Encointer currency? Encointer features a builtin classifieds system for advertizing businesses and offerings we call bazaar . Anyone can register businesses and offerings to be advertized within their local community. All metadata and images for classifieds are stored on ipfs . The ownership of classifieds is registered on the Encointer blockchain.","breadcrumbs":"Bazaar","id":"117","title":"Bazaar"},"118":{"body":"Every business may issue their own transferrable vouchers and can therefore issue their own loyalty money or acquire loans from the community . As businesses are owned by real people whose digital personhood has been attested at Encointer ceremonies, these vouchers come with a sybil-defense and the credit rating of businesses is immutably recorded.","breadcrumbs":"Vouchers","id":"118","title":"Vouchers"},"119":{"body":"The Encointer app is all that users need to participate in a local community. It serves as a wallet and lets you participate in Encointer ceremonies.","breadcrumbs":"Encointer Wallet App","id":"119","title":"Encointer Wallet App"},"12":{"body":"Mutual credit is a membership based, cashless currency created by clearing positive and negative balances between members when they trade. Usually, the accounts are denominated in national currency. If Alice provides a service worth 100$ to Bob, Alices balance will be +100$, Bob's will be -100$. Alice can later spend her 100$ balance in a trade with Charlie, who may be interested in a service Bob provides. Businesses are often allowed to have negative balances in the order of their usual turnover for a few months. These schemes rely on a local authority that performs due diligence when accepting new members and bans defaulters. Examples are barter networks like Talent or business exchange networks like WIR , RES . Mutual credit usually comes with high transaction costs. You might not always find the product you are looking for and it may be challenging to accept such currency for payment if you don't know where to spend it later. In an economic environment of deflation, when there is a shortage of money because banks are reluctant to issue credits, mutual credit has shown to be of great value [1]. But when there's an abundance of money, these networks are unattractive and they generally don't further Encointer's goal of reducing inequality.","breadcrumbs":"Economics » Mutual Credit","id":"12","title":"Mutual Credit"},"120":{"body":"","breadcrumbs":"Install","id":"120","title":"Install"},"121":{"body":"","breadcrumbs":"Android","id":"121","title":"Android"},"122":{"body":"","breadcrumbs":"iOS","id":"122","title":"iOS"},"123":{"body":"Feature phone support planned in the future","breadcrumbs":"Feature Phones: KaiOS","id":"123","title":"Feature Phones: KaiOS"},"124":{"body":"For the most simple category of phones we plan support in the future by using a USSD gateway","breadcrumbs":"Dumb Phones: USSD","id":"124","title":"Dumb Phones: USSD"},"125":{"body":"Our preliminary instructions: Onboarding Backup and restore your account Inviting and endorsing newcomers Ceremony Instructions: How to collect Community-Issued Income","breadcrumbs":"Usage","id":"125","title":"Usage"},"126":{"body":"Encointer Wallet is based on previous work by polkawallet.io","breadcrumbs":"Acknowledgements","id":"126","title":"Acknowledgements"},"127":{"body":"This section shows you how to select a community on a specific network.","breadcrumbs":"App » Select Community","id":"127","title":"Select Community"},"128":{"body":"By default, the Encointer Wallet App connects to mainnet on Kusama. This is fine for most users and you likely can skip this section. In order to test on our Testnets, you'll need to configure the app to use another network endpoint. Enable developer mode: Profile -> tick developer mode checkbox Tap \"Change Network: nctr-k\" In the left column, tap the desired network: NCTR-GSL: Testnet Gesell NCTR-R: Testnet Lietaer on Rococo NCTR-K: Mainnet on Kusama NCTR-GSL-DEV: Local solochain using ws://10.0.2.2:9944 for an emulator setup Tap on one of your account names (not the identicon) Wait until you see a green tick besides (current: nctr-gsl) on the profile page Disable developer mode","breadcrumbs":"App » Select Network","id":"128","title":"Select Network"},"129":{"body":"Once your app is connected to the right network where you registered your new community, you can now switch the app to your community: On the top of the home screen, tap the community symbol with your account identicon Switch Community -> (+) Add community On the world map, browse for your community and tap the pin tap again the popped-up name of your community","breadcrumbs":"App » Select Community","id":"129","title":"Select Community"},"13":{"body":"Currencies like Wörgl's AB Schein, Chiemgauer or Berkshares are denominated in national currency. Often they have circulating paper bills, sometimes featuring demurrage. What they all have in common: They are only circulating within a local community and are worthless elsewhere. Often, they are redeemable for national currency, sometimes subject to a small fee. Sometimes redemption is restricted to businesses. On the bottom line, such currencies can be understood as a loyalty programme promoting local spending, sometimes incentivized with discounts. They are successful in strenghtening the spirit of local community [1] and they can mitigate unemployment in an environment of deflation (Wörgl). However, due to globalization, local goods are often more expensive than imported ones. Therefore, these currencies are not attractive for poorer members of the community if they have to buy the local currency with national currency in the first place. Grassroots Economics' Sarafu Credit in Kenya is a very innovative approach that shows significant social impact by empowering poor neighbourhoods by issuing money to local businesses directly. However, their concept introduces complexity, as money supply and distribution so far relies on careful engineering by experts from outside the community, for each community specifically. Moreover, Sarafu Credit is backed by donation money. While this may resemble a cash-transfer scheme, it actually isn't: Foreign capital is used as a fractional reserve for the local currency by applying bonding curves .","breadcrumbs":"Economics » Local Fiat Currencies","id":"13","title":"Local Fiat Currencies"},"130":{"body":"Assuming you have previously installed the Encointer Wallet app selected you community you can now check when the next ceremony will take place. If you would like to attend the upcoming ceremony, you can tap the register button. You will need a tiny bit of inital funding to pay transaction fees. Either you get community currency from someone in your community, or you get KSM, the native token of the Encointer mainnet on Kusama. According to the ceremony cycle you will have to await the assigning phase until the app shows you if you have been assigned and when you have to be in which location. On the day of the meetup, be on time at the right location and perform a ceremony meetup with your fellow attendees you will hopefully encounter there.","breadcrumbs":"App » Register for a ceremony","id":"130","title":"Register for a ceremony"},"131":{"body":"Assuming you have previously installed the Encointer Wallet app selected you community Registered for the current ceremony You have been assigned to a meetup You are now physically on time in the right location together with a few fellow ceremony attendees","breadcrumbs":"App » Perfrom a Ceremony Meetup","id":"131","title":"Perfrom a Ceremony Meetup"},"132":{"body":"The meetup starts with tapping the button \"start meetup\" on the Encointer Wallet app home screen. As a first human confirmation, you'll have to vote on how many attendees are present, including yourself. Once everyone has voted, no further attendees can join. If the group decides to include a latecomer, the entire meetup has to be started from the beginning.","breadcrumbs":"App » Voting","id":"132","title":"Voting"},"133":{"body":"After voting on the number of attendees, your app shows a QR code which is your claim of attendance which has to be signed by everyone else to prove your personhood and attendance.","breadcrumbs":"App » Attesting Personhood","id":"133","title":"Attesting Personhood"},"134":{"body":"The following procedure is just a suggestion, but has shown to cause minimal duration and confusion. The group of attendees forms a C-shape and everyone holds the phone upright with the QR code screen facing to the center to minimize reflections from the sky or the sun The person at one end of the C shape starts scanning on after the other and when finished, waits at the other end of the C-shape showing her QR code. As soon as the scanning person has successfully scanned the first two attendees, the next outermost attendee can start scanning, but should not overtake the previous scanner as soon as everyone has scanned everyone (i.e. scanned 8/8 if the vote was 9 attendees), the meetup can be closed Closing the meetup should only be done after confirming that all attendees have scanned everyone. After closing the meetup, the app suggests to submit attestations. If you are online, you can directly submit the attestations and ensure you get notified of success. Should you not have internet connection at the time, you can still submit within the following 24h.","breadcrumbs":"App » Procedure","id":"134","title":"Procedure"},"135":{"body":"Ceremony rewards, (AKA community issued income, CII) can be claimed for each performed meetup. The amount of CII is defined per community. Your Encointer Wallet app will claim automatically as soon as possible, but you can trigger the process manually.","breadcrumbs":"App » Reward Issuance","id":"135","title":"Reward Issuance"},"136":{"body":"If all attendees are online and were able to submit their attestations, the rewards can be claimed immediately, under the condition that the majority of assignees has show up and has been attested.","breadcrumbs":"App » Immediate Claim","id":"136","title":"Immediate Claim"},"137":{"body":"Should the above not be the case, attendees have to await the beginning of the registering phase before claiming their CII.","breadcrumbs":"App » Late Claim","id":"137","title":"Late Claim"},"138":{"body":"It is up to every community to define what they understand as puntuality and as human . Each community is just as strong as their social contract compliance. If you allow latecomers, you may risk to allow them to attend two different meetups and claim a community issued income twice. Same if you allow an attendee to bring and use two or more phones because their friend alledgedly is sick or otherwise incapable of attending. We suggest to apply rather stric rules as this strengthens the trust in your community by its members - and also by members of other communities globally. The Encointer protocol has no notion of personhood itself. We expect communities to attribute personhood to all humans, irrespective of age, gender, race, citizenship, sexual identity and preferences, social status, criminal history or any other attributes of identity.","breadcrumbs":"App » Social Contract","id":"138","title":"Social Contract"},"139":{"body":"The explorer is a Web UI tool to visualize chain data such as the communities and bootstrappers, the phases and ceremonies around the world. A working example can be visited at explorer.encointer.org . Checkout the explorer repository . In the terminal, go to the the root directory of the repo and enter: git clone https://github.com/encointer/explorer\ncd explorer\nyarn install\nyarn start Then you should be able to view the explorer in your browser at http://localhost:8000/. At the bottom, the registered chain is displayed. You can click on it and change between the local and remote chain. You can also set the rpc address via the query paramter, for example: localhost:8000?rpc=ws://127.0.0.1:9945 will connect to the chain on localhost with port 9945. The registered community should be visible in the explorer.","breadcrumbs":"Explorer","id":"139","title":"Explorer"},"14":{"body":"A very egalitarian category of local currencies are time banks. They proclaim that one hour's worth of service by one human has equal value to one hour's work by any other. Mostly, they work like mutual credit currencies, with the difference that the denomination is hours instead of national currency. Examples are Blaengarw Time Centre, Dane County Time Bank While the concept of time banks has shown to increase social capital [1], in practise they feature high transaction cost and liquid matchmaking showed to be challenging. The main benefactors end up to be the same individuals that also perform well on a free market based on national money. If your service is in high demand, you will be able collect more hours than you'll be able to spend on services you desire.","breadcrumbs":"Economics » Time Banks","id":"14","title":"Time Banks"},"140":{"body":"The Encointer CLI is a low-level tool to interact with an Encointer chain. It allows to query state and to send extrinsics.","breadcrumbs":"Tutorials » Basic CLI usage","id":"140","title":"Basic CLI usage"},"141":{"body":"We suggest you run the following in an Ubuntu 22.04 environment Download the CLI for our latest release: wget https://github.com/encointer/encointer-node/releases/latest/download/encointer-client-notee\nchmod +x encointer-client-notee # Testnet Gesell node endpoint\nNURL=wss://gesell.encointer.org\nNPORT=443\nalias nctr-gsl=\"./encointer-client-notee -u $NURL -p $NPORT\" # Testnet Lietaer (on Rococo) node endpoint\nNURL=wss://rococo.api.encointer.org\nNPORT=443\nalias nctr-r=\"./encointer-client-notee -u $NURL -p $NPORT\" # Encointer Mainnet (on Kusama) endpoint\nNURL=wss://kusama.api.encointer.org\nNPORT=443\nalias nctr-k=\"./encointer-client-notee -u $NURL -p $NPORT\" # local dev node\nalias nctr-dev=\"./encointer-client-notee\" In the following, we will show usage with testnet Gesell, using our alias nctr-gsl. But You can use any of the aliases above to interact with the other chains in the same way (caveat: deployed versions of the CLI API can vary)","breadcrumbs":"Tutorials » Setup","id":"141","title":"Setup"},"142":{"body":"nctr-gsl get-phase This will return any of Registering: you can register participants, communities, locations Assigning: ceremony meetup assignments can be queried Attesting: ceremony meetups can be performed","breadcrumbs":"Tutorials » Get Ceremony Phase","id":"142","title":"Get Ceremony Phase"},"143":{"body":"nctr-gsl list-communities will yield something like number of communities: 5\ne5dvt5mjcem: bot-tugs locations: 9\nu0qj94fxxJ6: EdisonPaula locations: 3\nsrcq45PYNyD: Adriana locations: 5\nu33e0719fDB: Decoded Berlin locations: 3\n69y7j4ZEXmy: Decoded Buenos Aires locations: 8 Each community is shown with its community identifier (cid) which is a 11-character string its Name, given by community lead its number of ceremony meetup locations You can also explore communities for our different networks using our explorer","breadcrumbs":"Tutorials » List Communities","id":"143","title":"List Communities"},"144":{"body":"The CLI offers very basic wallet functionality, managing a keystore in a local subfolder my_keystore where account secrets are stored in plaintext. Do not use in production! Create a New Account nctr-gsl new-account The printed result will be your new account address List Accounts in Keystore nctr-gsl list-accounts","breadcrumbs":"Tutorials » Manage Account Keystore","id":"144","title":"Manage Account Keystore"},"145":{"body":"nctr-gsl balance 5CSLXnYZQeVDvNmanYEJn4YXXhgFLKYwp2f216NsDehR8mVU you can add a cid to query the balance for a specific community nctr-gsl balance 5ChwkE8kd2qagyiCikP2Ns2T6vWh7dbURx54gXcPKw8NotNp --cid srcq45PYNyD or get all balances (first, the native token balance, then all community balances) nctr-gsl balance 5ChwkE8kd2qagyiCikP2Ns2T6vWh7dbURx54gXcPKw8NotNp --all","breadcrumbs":"Tutorials » Query Account Balances","id":"145","title":"Query Account Balances"},"146":{"body":"Testnet Gesell features a faucet, so you can pre-fund your new account nctr-gsl faucet ","breadcrumbs":"Tutorials » Faucet","id":"146","title":"Faucet"},"147":{"body":"We assume you have set up the CLI client previously This tutorial will guide you through the process of setting up a new community on any of our networks If you haven't done so, please learn about the ceremony cycle of the Encointer Protocol","breadcrumbs":"Tutorials » How to Register an Encointer Community (manually)","id":"147","title":"How to Register an Encointer Community (manually)"},"148":{"body":"As Encointer is all about proof of personhood, you will need people to get started. We suggest to pick 10 diverse, dependable and trustworthy members of your community for a trusted setup. This first group of people performing the very first ceremony of a new community we call Bootstrappers . If you want to test all by yourself, we suggest you create 3 bootstrapper accounts using 3 phones and register your community on Testnet Gesell . In the following, we will assume you're just testing yourself, but the process is very similar if the accounts are for real bootstrappers. All the bootstrappers need to install the mobile app and set up a new account. You can then collect all the bootstrapper accounts by sharing them from within the app by going to profile -> tap account -> share account -> send link The bootstrapper accounts need initial funding. On our testnets, you can use the faucet, on Mainnet, you can supply KSM or any other existing community currency nctr-gsl faucet 5D5V3couq7o42FYkLG4vVhaqQPrfk4NT3kWzZJH66ZeHr3iG 5HB4kbo67Hgv846DNMRnt7i1xNMum66LLBFkqtghKsNwRknM 5GxWKwbrPL88uH3Zv7zAiz6ozdpSFHzSfK1aXhVxDcNQYU8t Note: the displayed account addresses will differ from yours when you follow the tutorial. They are just provided for readabiltiy. Use your account addresses instead of the ones used in the tutorial. To register a community, you need to create a specfile.json containing details about the community and an account with funds to the chain client.","breadcrumbs":"Tutorials » Set Up Bootstrappers","id":"148","title":"Set Up Bootstrappers"},"149":{"body":"We need to define in what region the community shall be issued. For this we use the geojson standard to define a set of meetup places and add some meta-information about the community. You can use geojson.io to select meetup places on a map (define a few \"Points\"). Make sure that you select places that are >100m apart. You also need to keep this minimal distance from other registered communities. If you want to be sure which location will be the bootstrapping location, please specify only a single location and register more locations after the bootstrapping ceremony. The number of locations that you should define depends on the size of the population N you'd like to bootstrap. As a rule of thumb, there should be at least N/12 locations but the more locations, the better.","breadcrumbs":"Tutorials » Define Ceremony Meetup Locations","id":"149","title":"Define Ceremony Meetup Locations"},"15":{"body":"","breadcrumbs":"Economics » Examples","id":"15","title":"Examples"},"150":{"body":"The specfile defines the set of bootstrappers , the initial set of ceremony locations as well as metadata like name, symbol and icons stored on IPFS . An example of the specfile.json is shown below with one meetup locations: { \"type\": \"FeatureCollection\", \"community\": { \"meta\": { \"name\": \"Mediterranea\", \"symbol\": \"MTA\", \"assets\": \"QmVmew4gZHyCK2Fv4UBgsvfLdf1Q6UiF9MD6wsfPCuNVQp\", \"url\": \"\", \"announcementSigner\": null, \"rules\": \"loCoFlex\" }, \"bootstrappers\": [ \"5D5V3couq7o42FYkLG4vVhaqQPrfk4NT3kWzZJH66ZeHr3iG\", \"5HB4kbo67Hgv846DNMRnt7i1xNMum66LLBFkqtghKsNwRknM\", \"5GxWKwbrPL88uH3Zv7zAiz6ozdpSFHzSfK1aXhVxDcNQYU8t\" ], \"demurrage_halving_blocks\": 2628000, \"ceremony_income\": 100 }, \"features\": [ { \"type\": \"Feature\", \"geometry\": { \"type\": \"Point\", \"coordinates\": [ -28.102619, 31.141935 ] }, \"properties\": {} } ]\n} replace the account addresses in \"bootstrappers\" with the ones you have created and add additional meetup locations. demurrage_halving_blocks of 2'628'000 corresponds to 1 year if block time is 12 seconds ceremony_income in this example is set to 100.00 MTA ADVANCED ceremony income and demurrage rate are stored as a fixpoint type (I64F64 - or 64 signed integer bits before the decimal point and 64 bit thereafter). That is why the raw numbers in js/apps can be confusing. An income of 100.00 MTA will be represented as >>> 100*2**64\n1844674407370955161600 demurrage halving blocks will first be translated to an exponential function coefficient: >>> int(-1*np.log(0.5)*2**64/2628000)\n4865414248555 Applying demmurage of one block then becomes: balance * exp(-demurrage_rate). In the case of a balance of 100.0 demurrage for one block would decrease the balance to >>> 100.0*np.exp(-1*4865414248555/2**64)\n99.99997362453999 explanatory code is provided in python syntax","breadcrumbs":"Tutorials » Specfile","id":"150","title":"Specfile"},"151":{"body":"The example specfile features a dummy icon. You may want to brand your community with its own icon. You'll need a circular icon in SVG format. Place your icon into its own folder, i.e. ./leu.rococo/community-icon.svg Make sure your SVG community icon doesn't include