Comments (5)
Some notes: @saraswathi and I talked this through, focusing on usability concerns. We arrived a preference for option 3, with the actual trust limit amount being recommended offchain by something like option 1. The user could still have the freedom to override the recommended amount if they wanted.
This does lead to a problem where Alice trusted Bob early on, when they didn't have a strongly overlapping trust graph, but overtime as more mutual friends joined Circles, the trust limit should probably be updated. Could be helped by adding an offchain feature that checks for significant changes to trust network overlap and prompts Alice to update the onchain trust limit. Could even be framed as a reward, ie "Achievement unlocked! Your trust network with Bob is really strong - do you want to update your trade limit?" etc
Still needs final decision
from circles-contracts.
I think trust limits should have a very basic implementation because we should focus on leaving the personal currency step quickly, heading for community currency.
I don't think personal currencies can scale well and it's dangerous for us to try to treat them as if they would. They are a sybil defense for bootstrapping and a decentralized fallback in case of corruption or dysfunction on higher levels.
Limits to trust should exist to allow risk mitigation for new personal trust connections in case they are sybils or because they will use up all your own coins through transitive exchange. If it does these things I think it's finished.
Worrying about discrimination at this level I think is misdirected, intsead we should treat personal currencies as purely a sybil defense mechanism and hurry up and reach community currency territory, where scaling is much easier (and discrimination doesn't happen in this way).
from circles-contracts.
I think trust limits should have a very basic implementation because we should focus on leaving the personal currency step quickly, heading for community currency.
...
I disagree entirely, and I am guessing that this opinion would be controversial with the wider group as I haven't heard it articulated before.
Simply put, I am very wary of group currencies in general as I think we might end up recreating the system we are trying to replace (e.g. one money to rule them all and boo to anyone who can't or won't take part)
from circles-contracts.
Trying to summarize the existing proposals for managing trust limits ... There seems to be some consensus that trust needs to be limited. The question is how?
There are three main ways to do so that I see being presented.
-
Suggested by Köppelman: The amount of tokens tradable with any other person is limited by the subset of overlapping trust connections they share. eg. If they share 1/2 their trust connections, they will never exchange tokens in such a way where more than half their total tokens are from that person.
-
Suggested by Ed: The amount of tokens tradable decays with each hop of a transitive transaction. eg. A one-hop transaction can trade 100% of their tokens, but a the second hop decays by n and can only be at most 100*n%
-
Suggested by Andy (I think?): Users set a trust-limit with each connection (and maybe this is recommended offchain in some way) and there's also a system wide epoch parameter. The trust limit is that maximum amount a user can exchange along that trust connection per epoch. eg. A user can transfer x
CRC
to another user per day.
from circles-contracts.
Closing, we have decided to use percentage of totalsupply as the trust limit parameter, and to recommend a flat rate system wide for the MVP
from circles-contracts.
Related Issues (20)
- Versions on npm do not reflect git tags in this repository HOT 1
- Add GitHub Actions for tests
- Versions on npm do not reflect git tags in this repository HOT 2
- Write a tutorial on how to test if individual accounts can transfer to org accounts through Contract interactions
- One test fails sometimes only HOT 3
- Update Solidity version
- Circles 2.0 Removing the Deadman's Switch
- Circles 2.0 Removing trust limits and splitting the hub contract
- Circles 2.0 Shorter intervals for increase UBI payout
- Circles 2.0 Migrating trust
- Circles 2.0 Migrating balances
- Test dont pass in macOS
- Circles 1.3.0 Test HOT 1
- Update gitaction to use node 16
- `checkSendLimit` function should return `return max.sub(destBalance);`
- What's with the About section guys? HOT 1
- Update circles-contracts node version HOT 1
- Design pathfinder implementation based oin CiGNo current design HOT 1
- Export balances - error state HOT 1
- Upgrade web3 to v4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from circles-contracts.