Skip to content

Commit b39ab5a

Browse files
committed
vouching doc updates
1 parent 90dd726 commit b39ab5a

1 file changed

Lines changed: 39 additions & 80 deletions

File tree

docs/guides/founder/migrate-to-v8.md

Lines changed: 39 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ FILO (First-In-Last-Out) is the v8 migration strategy that:
7474
| Step | Purpose | Technical Details |
7575
|------|---------|-------------------|
7676
| **Re-join** | Signals your return and migrates account to v8 format | Calls `filo_migration::maybe_migrate` which initializes Activity, Founder status, SlowWallet reset, Vouch structures, and PageRank |
77-
| **Vouch** | Provides social proof you're a real person AND enables coin unlocking | Creates on-chain attestation via `vouch::vouch_for`, contributes to trust score calculation. Must achieve score ≥ 100,000 |
77+
| **Vouch** | Provides social proof you're a real person AND enables coin unlocking | Creates on-chain attestation via `vouch_txs::vouch_for`, contributes to trust score calculation. Must achieve score ≥ 100,000 |
7878

7979
## The Trust Score System
8080

@@ -96,13 +96,11 @@ The algorithm traces all possible paths from root validators to your account. Ea
9696
Here are the exact calculations for common situations Founder accounts encounter:
9797

9898
#### Scenario 1: Direct Root Vouch
99-
**You receive a vouch directly from a genesis validator**
99+
You receive a vouch **directly from a genesis validator**
100100

101-
When a root validator vouches for you, the trust calculation works as follows:
102-
- The algorithm starts with power 200,000 at the root
103-
- After one hop to reach you, power becomes 100,000 (50% decay)
104-
- Your trust score: 100,000 ✓
105-
- Status: Meets threshold, coins will unlock next epoch
101+
- The algorithm starts with power **200,000** at the root
102+
- After one hop to reach you, power becomes **100,000** (50% decay)
103+
- Your trust score: **100,000 ✓** – meets threshold, coins unlock next epoch
106104

107105
```
108106
Root Validator → You
@@ -115,12 +113,10 @@ Result: AUTHORIZED ✓
115113
#### Scenario 2: Second-Degree Connection
116114
**You're vouched by someone who was vouched by a root**
117115

118-
This creates a two-hop path from root to you:
119116
- Root starts with 200,000 power
120-
- Your voucher receives 100,000 (one hop from root)
121-
- You receive 50,000 (two hops from root)
122-
- Your trust score: 50,000 ✗
123-
- Status: Below threshold, coins remain locked
117+
- Your voucher receives 100,000 (one hop)
118+
- You receive 50,000 (two hops)
119+
- Your trust score: **50,000✗** – below threshold, coins remain locked
124120

125121
```
126122
Root → Friend → You
@@ -130,30 +126,17 @@ Threshold: 100,000
130126
Result: NOT AUTHORIZED ✗
131127
```
132128

133-
#### Scenario 3: Multiple Second-Degree Connections
134-
**You need multiple vouches from second-degree users**
135-
136-
Trust scores from different paths add together:
137-
- Path 1: Root A → Friend A → You = 50,000
138-
- Path 2: Root B → Friend B → You = 50,000
139-
- Combined trust score: 100,000 ✓
140-
- Status: Meets threshold through multiple paths
129+
#### Scenario 3: Multiple Second‑Degree Connections
130+
You need multiple vouches from second‑degree users
141131

142132
```
143-
Root A → Friend A → You (50,000)
144-
+
145-
Root B → Friend B → You (50,000)
146-
=
147-
Total Score: 100,000 ✓
133+
Root A → Friend A → You 50,000
134+
Root B → Friend B → You 50,000
135+
Total Score : 100,000 ✓
148136
```
149137

150138
#### Scenario 4: Distant Connections
151-
**You're three or more hops from roots**
152-
153-
Trust decays exponentially with distance:
154-
- Three hops: 200,000 → 100,000 → 50,000 → 25,000
155-
- Four hops: 200,000 → 100,000 → 50,000 → 25,000 → 12,500
156-
- Five hops: Too weak to contribute meaningful trust
139+
You're three or more hops from roots – trust decays exponentially
157140

158141
```
159142
Root → A → B → You
@@ -164,20 +147,16 @@ Need 4 such paths to reach 100,000 threshold
164147
#### Scenario 5: Complex Real Networks
165148
**Most users have multiple paths of varying lengths**
166149

167-
Real networks create intricate webs of trust:
168150
```
169-
Path 1: Root A → You (direct): 100,000
170-
Path 2: Root B → Friend X → You: 50,000
171-
Path 3: Root C → X → Y → You: 25,000
172-
Path 4: Root A → P → Q → You: 25,000
173-
Total Score: 200,000 ✓
174-
Status: Well-connected, exceeds threshold
151+
Path 1 Root A → You 100,000
152+
Path 2 Root B → X → You 50,000
153+
Path 3 Root C → X → Y → You 25,000
154+
Path 4 Root A → P → Q → You 25,000
155+
Total Score 200,000 ✓
175156
```
176157

177158
### Checking Your Trust Status
178159

179-
Monitor your exact trust position with these commands:
180-
181160
```bash
182161
# Check if your trust score meets Founder threshold
183162
libra query view -f 0x1::founder::is_voucher_score_valid --args <your-address>
@@ -269,10 +248,9 @@ Remember that revocation immediately impacts the other account's ability to unlo
269248
Here's what happens when you revoke:
270249

271250
```
272-
Epoch 100: You revoke a vouch
273-
Epoch 100-102: You cannot give new vouches (cooldown)
274-
Epoch 103: You can vouch again
275-
Note: You can still revoke others during cooldown
251+
Epoch 100 : revoke issued
252+
Epoch 100‑102 : cooldown (cannot vouch)
253+
Epoch 103 : you may vouch again
276254
```
277255

278256
## Understanding Anti-Sybil Protections
@@ -317,55 +295,36 @@ The combination makes large-scale Sybil attacks economically irrational compared
317295
## Common Questions
318296

319297
### Do I need a vouch for coins to unlock?
320-
**YES!** This requirement applies specifically to Founder accounts. Without vouches that provide a trust score of at least 100,000, your coins remain locked permanently. The system checks your authorization status before each epoch's unlock calculation.
298+
**Yes.** Founder coins stay locked until your trust score reaches 100k.
321299

322300
### Why are my coins still locked after getting vouched?
323-
Several factors could be preventing unlock:
324-
325-
**Insufficient trust score** - Your voucher might be too distant from roots. A vouch from someone three hops away only provides 25,000 trust, far below the 100,000 threshold.
326-
327-
**Vouch not yet processed** - Transactions take a few minutes to finalize on chain. Check your trust score after waiting.
301+
Likely reasons:
328302

329-
**Epoch boundary pending** - Unlocks only occur at epoch transitions, approximately every 24 hours. Even with proper vouches, you must wait for the next boundary.
330-
331-
**Expired vouch** - Vouches last 45 epochs. Check `vouch::get_received_vouches` to see expiration status.
303+
| Reason | Explanation |
304+
|--------|-------------|
305+
| **Score too low** | Voucher is too far (≥3 hops) from roots |
306+
| **Transaction not finalized** | Wait a few minutes and re‑check |
307+
| **Waiting for epoch** | Unlock happens once per epoch (~24h) |
308+
| **Vouch expired** | Vouches last 45 epochs |
332309

333310
### How many vouches do I need?
334-
The number depends entirely on your vouchers' positions in the trust network:
335-
- **1 root validator vouch** = 100,000 trust (meets threshold)
336-
- **2 second-degree vouches** = 50,000 each = 100,000 total
337-
- **4 third-degree vouches** = 25,000 each = 100,000 total
338-
- **Mixed distances** = Calculate each path's contribution
339-
340-
Use `page_rank_lazy::calculate_score` to see your exact score breakdown.
311+
Depends on distance: 1 direct‑root, 2 second‑degree, or 4 third‑degree, etc.
341312

342313
### Can I re-join multiple times?
343314
**Yes.** The migration function includes safety checks that prevent any negative effects from repeated execution. However, re-joining won't help if you lack sufficient vouches - focus on building trust connections instead.
344315

345316
### What makes a vouch valid?
346-
Beyond the basic technical requirements, a valid vouch must:
347-
- **Not be expired** - Given within the last 45 epochs
348-
- **From an unrelated account** - No shared ancestry per the family tree
349-
- **From an initialized account** - Voucher completed v8 migration
350-
- **Within voucher's limits** - They haven't exceeded their quality-based quota
351-
- **From an active account** - Inactive accounts' vouches may have less value
317+
- Not expired (≤45 epochs)
318+
- Voucher and vouchee are unrelated
319+
- Voucher completed v8 migration
320+
- Voucher within their quota & epoch limits
352321

353322
:::tip What happens when my vouch expires?
354-
- The actual unlocking of the account is a one-time state change. So even if all your vouches expire and you never get any more vouches, the account is still unlocking ("v8 authorized").
323+
Unlocking is a onetime state change. Once your account is “v8 authorized”, subsequent expiry of vouches **does not relock** your coins.
355324
:::
356325

357-
### Why can well-connected users give more vouches?
358-
The system rewards network builders by allowing those with higher trust scores to vouch for more accounts:
359-
360-
Trust Score → Maximum Vouches:
361-
- 0-49,999 → 1 vouch
362-
- 50,000-99,999 → 3 vouches
363-
- 100,000-199,999 → 5 vouches
364-
- 200,000-399,999 → 10 vouches
365-
- 400,000-799,999 → 15 vouches
366-
- 800,000+ → 20 vouches
367-
368-
This incentivizes users to build strong network positions while preventing spam from poorly connected accounts.
326+
### Why can well‑connected users give more vouches?
327+
Higher trust score → larger quota:
369328

370329
## Troubleshooting
371330

@@ -401,7 +360,7 @@ walk_backwards_from_target_with_stats(
401360
current_depth: u64,
402361
processed_count: &mut u64,
403362
max_depth_reached: &mut u64,
404-
max_depth: u64 // Default 5
363+
max_depth: u64 // Default 4
405364
)
406365
```
407366

0 commit comments

Comments
 (0)