Comments (2)
initial attempt from my side (probably wrong/underspecified in parts):
XBR Overview
XBR contains many moving parts. The following is a high-level overview of these parts and how they interact to provide the functionality for XBR data markets.
XBR is split into on-chain and off-chain parts.
The XBR smart contracts (the on-chain part) provide the functionality for central registration of market participants, markets and some interactions.
The bulk of the activity in XBR takes place off-chain within the data markets infrastructure, e.g. the actual data access and the setting of live balances between participants.
XBR Smart Contracts
The XBR token contract is deployed once. This uses the OpenZeppelin (https://openzeppelin.org/) reference implementation for ERC20 tokens.
The XBR network proxy contract is deployed once and serves as a fixed entry point which redirects to the most current version of the XBR network contract.
The XBR network contract is deployed once. It is the central point for the registration of XBR network participants, XBR data markets and for the deployed XBR payment channels.
Instances of the XBR payment channels contract are deployed as required for the handling of payments in markets, where each channel is between a participant and the respecitive market maker component within a data market.
Participants
Participants are natural persons or legal entities which act in the XBR network and markets.
To participate in the XBR network, registration as a participant with the XBR network contract is required.
Participants can then create data markets, join them and act as data providers and/or data consumers within markets.
A market operator is a participant who has registered (and is thus the owner of) a XBR data market. Market operators get an adjustable cut of transaction values within their data market.
A data provider is a participant in a data market who offers access to data within the market. Data providers can require payment for such data access and receive the proceeds (minus the cuts for the market provider and the XBR network).
A data consumer is a participant in a data market who accesses data offered by data providers within the market. Data consumers may have to pay for such access.
A participant can act as both data provider and data consumer within a data market.
Participants can have different roles across data markets.
Other Components
Data markets work mostly off-chain, and thus require technical infrastructure.
The off-chain functionality is built on the Crossbar.io message router, using a combination of existing Crossbar.io functionality and components added for XBR.
Individual Crossbar.io routers are called "nodes". For functioning as the infrastructure for a XBR data market, it needs to join the domain for that data market.
The domain, in turn, is registered for a particular data market.
The offering of data via PubSub and procedure calls is handled using standard Crossbar.io functionality. The events and the call results are end-to-end encrypted.
The transfer of these keys between a data provider and data consumer, and the payment generally involved in such transactions, is handled by a market maker component. This is run within Crossbar.io, and a single market maker handles all transactions within a data market.
The financial side of transactions (the transfer of XBR tokens) is handled through state channels. Both the data provider and the data consumer forming part of a transaction open a channel with the market maker. Unlike with the data transfer, which is directly between participants, there are no direct connections between both at this level.
Within the markets, data providers and data consumers do not act directly but through delegates. A delegate is a software component (usually an application) which is granted certain rights by a participant, e.g. that to use a payment channel for payments. A participant needs to have at least one delegate to be active in a data market, but can and often will have several delegates.
from wamp-xbr.
I think we should add the message sequence charts to the repo and the docs here https://github.com/crossbario/xbr-protocol/tree/master/docs .. may I assign the issue to you @goeddea ?
from wamp-xbr.
Related Issues (20)
- Store total supply along market fee
- Test XBR on Rinkeby with DAI
- Deploy v20.5.1 on Rinkeby HOT 5
- Test XBR on witti testnet HOT 3
- Publish stackLicense files to IPFS HOT 1
- Legal review: XBR and draft German Crypto Securities Act HOT 1
- Complete XBRDomain
- Review contract data attributes
- update to solidity v0.6.12
- INVALID_CLOSING_SEQ when closing a channel
- GAIA-X
- SENDER_NOT_A_MEMBER When setting consent
- Recheck links in truffle migrate
- XbrRelease
- Deploy v21.1.1 on Rinkeby HOT 5
- Upgrade to OpenZeppelin Contracts 4.0
- User joining and members can stake
- WhitelistCrowdsale
- PaymentSplitter for cleared fees HOT 1
- Review licenses
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 wamp-xbr.