Skip to content

Commit f205274

Browse files
authored
update readme
1 parent 011a062 commit f205274

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ A smart contract is used for node discovery. Nodes are selected, operate for a f
3939

4040
When a user arrives at a DApp, the javascript client is loaded. From there, a user logs in, they provide proof that they are logged in, and the proof is verified by each node individually. This proof is integrated with the modern OAuth 2.0 Token Authentication flow. For new users, nodes will assign a new key share from the pre-generated set of key shares, and store this assignment in an internal mapping. For returning users, nodes will look up their internal mapping and return that user's corresponding key share.‌
4141

42-
The javascript client then assembles these shares and reconstructs the users key in the front-end. This key is kept for the session and is not persisted in storage.
42+
The javascript client then assembles these shares and reconstructs the users key in the front-end. This key is kept for the session and is not persisted in localstorage.
4343

4444
### Torus Nodes <a id="a-node-and-its-trust-assumptions"></a>
4545

@@ -116,7 +116,7 @@ In order to prevent a rogue node, or the Torus servers, from front-running you b
116116

117117
The general approach is as follows: we ensure that the front-end gets access to the token first, creates a commitment to the token and a temporary public-private keypair, and reveals the token only if a threshold number of nodes accept this commitment. The nodes will then use this keypair to encrypt the shares before sending it to the user.
118118

119-
This is done by generating a temporary public-private keypair in the front-end. The front-end calls the first API and receives an authentication token. This token is hashed, and the front-end sends the token hash and the temporary public key to each node, and each node returns a signature on this message, if this is the first time they have seen this token commitment. A bundle of these signatures is the proof, and submitting the proof together with the plain \(unhashed token to each node results in the node responding with a key share that is encrypted with the temporary public key.
119+
This is done by generating a temporary public-private keypair in the front-end. The front-end calls the first API and receives an authentication token. This token is hashed, and the front-end sends the token hash and the temporary public key to each node, and each node returns a signature on this message, if this is the first time they have seen this token commitment. A bundle of these signatures is the proof, and submitting the proof together with the plain \(unhashed token\) to each node results in the node responding with a key share that is encrypted with the temporary public key.
120120

121121
**Attack 1: Front-runner intercepts the original commitment request and sends a modified public key**
122122

0 commit comments

Comments
 (0)