@@ -112,57 +112,62 @@ the on-chain rules:
112112
113113## Brokering
114114
115- On iExec, ** brokering** is the mechanism that matches all parties involved in a computation:
115+ On iExec, ** brokering** is the mechanism that matches all parties involved in a
116+ computation:
116117
117118- the ** application** (the logic to run)
118119- the ** dataset** (optional, confidential input data)
119120- the ** workerpool** (TEE-enabled workers)
120121- the ** requester** (the user paying for the execution)
121122
122- Each party publishes an ** order** describing what they offer or request.
123- When compatible orders are combined, a ** deal** is created and PoCo enforces all economic, confidentiality, and governance rules.
123+ Each party publishes an ** order** describing what they offer or request. When
124+ compatible orders are combined, a ** deal** is created and PoCo enforces all
125+ economic, confidentiality, and governance rules.
124126
125127### Why off-chain brokering?
126128
127- iExec uses an ** off-chain order book and off-chain matching** system because it provides major advantages:
129+ iExec uses an ** off-chain order book and off-chain matching** system because it
130+ provides major advantages:
128131
129132- orders can be created, shared, and canceled ** without gas costs**
130133- signatures make orders ** trustless and verifiable**
131134- brokering is fast and flexible
132- - the blockchain is used only to ** validate signatures** and ** create the final deal**
135+ - the blockchain is used only to ** validate signatures** and ** create the final
136+ deal**
133137
134138Although off-chain, the system is secure because each order is:
135139
136140- encoded as a structured object
137141- hashed using ** EIP-712**
138142- ** signed** by the resource owner
139143
140- This makes an order ** as authoritative as if it were published on-chain** , without paying gas.
141- The ** PoCo** smart contract validates every signature and ensures correct matching.
144+ This makes an order ** as authoritative as if it were published on-chain** ,
145+ without paying gas. The ** PoCo** smart contract validates every signature and
146+ ensures correct matching.
142147
143148### What brokering enables?
144149
145- - ** Access control / permissioning**
146- Different actors define who can use their resources (specific apps, requesters, or workerpools).
150+ - ** Access control / permissioning** Different actors define who can use their
151+ resources (specific apps, requesters, or workerpools).
147152
148- - ** Dynamic pricing & monetization**
149- Apps, datasets, and workerpools set prices; requesters set maximum prices.
153+ - ** Dynamic pricing & monetization** Apps, datasets, and workerpools set prices;
154+ requesters set maximum prices.
150155
151- - ** Asynchronous, trust-minimized execution**
152- After a successful ` matchorders ` , the PoCo ensures that all parties can operate
153- asynchronously and without direct trust:
156+ - ** Asynchronous, trust-minimized execution** After a successful ` matchorders ` ,
157+ the PoCo ensures that all parties can operate asynchronously and without
158+ direct trust:
154159 - the deal is created on-chain and acts as the single source of truth
155160 - the requester does not need to stay online during execution
156161 - TEE-enabled workers independently fetch tasks when ready
157162 - results, proofs, and outputs are submitted later when execution completes
158163
159- PoCo guarantees that even though all actors act at different times, the workflow
160- remains secure, deterministic, and economically enforced.
164+ PoCo guarantees that even though all actors act at different times, the
165+ workflow remains secure, deterministic, and economically enforced.
161166
162167### Order structures
163168
164- Each actor expresses intent through a signed ** order** .
165- There are four order types, all using ** EIP-712 signatures** :
169+ Each actor expresses intent through a signed ** order** . There are four order
170+ types, all using ** EIP-712 signatures** :
166171
1671721 . ** AppOrder** — how the application can be used
1681732 . ** DatasetOrder** — how the dataset can be accessed
@@ -269,12 +274,12 @@ Tags are 32 bytes (256 bits) long array where each bit corresponds to a feature.
269274
270275** Pre-defined tags:**
271276
272- | ** Value** | ** Description** |
273- | ------------------------------------------------------------------------------- | ---------------------- |
274- | ` 0x0000000000000000000000000000000000000000000000000000000000000001 ` (` 0b0001 ` ) | TEE |
275- | ` 0x0000000000000000000000000000000000000000000000000000000000000003 ` (` 0b0011 ` ) | TEE Scone |
276- | ` 0x0000000000000000000000000000000000000000000000000000000000000005 ` (` 0b0101 ` ) | TEE Gramine |
277- | ` 0x0000000000000000000000000000000000000000000000000000000000000009 ` (` 0b1001 ` ) | TEE TDX |
277+ | ** Value** | ** Description** |
278+ | ------------------------------------------------------------------------------- | --------------- |
279+ | ` 0x0000000000000000000000000000000000000000000000000000000000000001 ` (` 0b0001 ` ) | TEE |
280+ | ` 0x0000000000000000000000000000000000000000000000000000000000000003 ` (` 0b0011 ` ) | TEE Scone |
281+ | ` 0x0000000000000000000000000000000000000000000000000000000000000005 ` (` 0b0101 ` ) | TEE Gramine |
282+ | ` 0x0000000000000000000000000000000000000000000000000000000000000009 ` (` 0b1001 ` ) | TEE TDX |
278283
279284For orders matching, the worker pool order must enable all bits that enable in
280285any of the app order, dataset order and requester order. Meaning that if the app
0 commit comments