on master help sign in
Apply suggestions from code review

Co-authored-by: tinnus-napbus <77721746+tinnus-napbus@users.noreply.github.com>

commit5212a52dda90448af5feb8d731abd683c6c4f313 authorpoprox <51337059+drbeefsupreme@users.noreply.github.com> dateWed 3 Nov 2021, 12:49 (5 years ago) parent644b25d
4 files changed+61−55
content/docs/azimuth/ecliptic.md+23−23 content/docs/azimuth/flow.md+1−1 content/docs/azimuth/l2/layer2.md+1−1 content/using/id/overview.md+36−30
content/docs/azimuth/ecliptic.md+23−23
@@ -13,7 +13,7 @@ valid.
1313Ecliptic uses external contracts such as
1414[Azimuth.eth](/docs/azimuth/azimuth-eth) and
1515[Polls](https://github.com/urbit/azimuth/blob/master/contracts/Polls.sol) for
16−data storage so that it can easily be replaced incase the logic needs to be
16+data storage so that it can easily be replaced in case the logic needs to be
1717changed without affecting the data. These data contracts are owned by the
1818Ecliptic contract, and this ownership is passed to the new Ecliptic contract
1919whenever it is replaced. Thus it is advised for clients to not store Ecliptic's
@@ -58,7 +58,7 @@ to its [proxies](#proxies). All of these actions may be performed from Bridge.
5858
5959#### `configureKeys`
6060
61−```
61+```solidity
6262 function configureKeys(uint32 _point,
6363 bytes32 _encryptionKey,
6464 bytes32 _authenticationKey,
@@ -74,7 +74,7 @@ Corresponds to the layer 2 `%configure-keys` action.
7474
7575#### `spawn`
7676
77−```
77+```solidity
7878 function spawn(uint32 _point, address _target)
7979```
8080
@@ -93,7 +93,7 @@ Corresponds to the layer 2 `%spawn` action.
9393
9494#### `transferPoint`
9595
96−```
96+```solidity
9797 function transferPoint(uint32 _point, address _target, bool _reset)
9898```
9999
@@ -112,7 +112,7 @@ Corresponds to the layer 2 `%transfer-point` action.
112112
113113#### `escape`
114114
115−```
115+```solidity
116116 function escape(uint32 _point, uint32 _sponsor)
117117```
118118
@@ -128,7 +128,7 @@ Requirements:
128128
129129#### `cancelEscape`
130130
131−```
131+```solidity
132132 function cancelEscape(uint32 _point)
133133```
134134
@@ -138,7 +138,7 @@ Corresponds to the layer 2 `%cancel-escape` action.
138138
139139#### `adopt`
140140
141−```
141+```solidity
142142 function adopt(uint32 _point)
143143```
144144
@@ -152,7 +152,7 @@ Corresponds to the layer 2 `%adopt` action.
152152
153153#### `reject`
154154
155−```
155+```solidity
156156 function reject(uint32 _point)
157157```
158158
@@ -166,7 +166,7 @@ Corresponds to the layer 2 `%reject` action.
166166
167167#### `detach`
168168
169−```
169+```solidity
170170 function detach(uint32 _point)
171171```
172172
@@ -189,7 +189,7 @@ These functions are used to manage the various
189189
190190#### `setManagementProxy`
191191
192−```
192+```solidity
193193 function setManagementProxy(uint32 _point, address _manager)
194194```
195195
@@ -206,7 +206,7 @@ Corresponds to the layer 2 `%set-management-proxy` action.
206206
207207#### `setSpawnProxy`
208208
209−```
209+```solidity
210210 function setSpawnProxy(uint16 _prefix, address _spawnProxy)
211211```
212212
@@ -220,7 +220,7 @@ Corresponds to the layer 2 `%set-spawn-proxy` action.
220220
221221#### `setVotingProxy`
222222
223−```
223+```solidity
224224 function setVotingProxy(uint8 _galaxy, address _voter)
225225```
226226
@@ -235,7 +235,7 @@ There is no corresponding layer 2 action since voting must occur on layer 1.
235235
236236#### `setTransferProxy`
237237
238−```
238+```solidity
239239 function setTransferProxy(uint32 _point, address _transferProxy)
240240```
241241
@@ -263,7 +263,7 @@ expired, then _any_ Ethereum address may call `updateUpgradePoll` or
263263
264264#### `startUpgradePoll`
265265
266−```
266+```solidity
267267 function startUpgradePoll(uint8 _galaxy, EclipticBase _proposal)
268268```
269269
@@ -278,7 +278,7 @@ This action must be performed manually - it is not available in Bridge.
278278
279279#### `startDocumentPoll`
280280
281−```
281+```solidity
282282 function startDocumentPoll(uint8 _galaxy, bytes32 _proposal)
283283```
284284
@@ -292,7 +292,7 @@ This action must be performed manually - it is not available in Bridge.
292292
293293#### `castUpgradeVote`
294294
295−```
295+```solidity
296296 function castUpgradeVote(uint8 _galaxy,
297297 EclipticBase _proposal,
298298 bool _vote)
@@ -306,7 +306,7 @@ This action may be performed from Bridge.
306306
307307#### `castDocumentVote`
308308
309−```
309+```solidity
310310 function castDocumentVote(uint8 _galaxy, bytes32 _proposal, bool _vote)
311311```
312312
@@ -318,7 +318,7 @@ This action may be performed from Bridge.
318318
319319#### `updateUpgradePoll`
320320
321−```
321+```solidity
322322 function updateUpgradePoll(EclipticBase _proposal)
323323```
324324
@@ -330,7 +330,7 @@ performed manually. It is not available in Bridge.
330330
331331#### `updateDocumentPoll`
332332
333−```
333+```solidity
334334 function updateDocumentPoll(bytes32 _proposal)
335335```
336336
@@ -346,7 +346,7 @@ galaxies have already been spawned, it is no longer of any use. Thus only
346346
347347#### `createGalaxy`
348348
349−```
349+```solidity
350350 function createGalaxy(uint8 _galaxy, address _target)
351351```
352352
@@ -356,7 +356,7 @@ this function has no valid arguments.
356356
357357#### `setDnsDomains`
358358
359−```
359+```solidity
360360 function setDnsDomains(string _primary, string _secondary, string _tertiary)
361361```
362362
@@ -383,7 +383,7 @@ controlled on layer 2 instead of via Ecliptic.
383383
384384#### `canEscapeTo`
385385
386−```
386+```solidity
387387 function canEscapeTo(uint32 _point, uint32 _sponsor)
388388```
389389
@@ -411,7 +411,7 @@ Returns the address of the previous Ecliptic address.
411411
412412#### `getSpawnLimit`
413413
414−```
414+```solidity
415415 function getSpawnLimit(uint32 _point, uint256 _time)
416416```
417417
content/docs/azimuth/flow.md+1−1
@@ -93,7 +93,7 @@ not particular to Azimuth. It sends collected transactions to `+on-agent` in
9393`%azimuth`, which then obtains the resulting PKI transitions by passing them through
9494[`naive.hoon`](#naive).
9595
96−![Eth-watcher](https://media.urbit.org/docs/layer2/roller-agents.png)
96+[![Eth-watcher](https://media.urbit.org/docs/layer2/roller-agents.png)](https://media.urbit.org/docs/layer2/roller-agents.png)
9797
9898#### `%roller` {#roller}
9999
content/docs/azimuth/l2/layer2.md+1−1
@@ -7,7 +7,7 @@ template = "doc.html"
77This document provides technical details on Azimuth's "Layer 2" scaling solution
88for Azimuth, known more formally as "naive rollups". We focus here primarily on the
99"Hoon smart contract" located at `/lib/naive.hoon` in your ship's pier, as well
10−as other proximal topis.
10+as other proximal topics.
1111
1212This is intended for developers that desire a deeper understanding of how this
1313protocol works, how secure it is, and how to extract data from layer 2 to obtain
content/using/id/overview.md+36−30
@@ -54,11 +54,13 @@ However, Urbit is yours and it's forever. You shouldn't have to change your name
5454every time you change your keys. So, we go back and take the other choice as well: you
5555must be able to change your keys.
5656
57+<a name="0"></a>
5758To change keys, you must sign a message with the old keys revoking them and
58−supplying the new ones[^0]. The question is what happens if the old keys also
59−sign a second set of new keys. This could happen if an attacker obtained your
60−old keys after the fact. This is important because one of the reasons to be able
61−to change your keys is to invalidate the old ones so that they have no power.
59+supplying the new ones<sup><a href="#f0">[0]</a></sup>. The question
60+is what happens if the old keys also sign a second set of new keys. This could
61+happen if an attacker obtained your old keys after the fact. This is important
62+because one of the reasons to be able to change your keys is to invalidate the
63+old ones so that they have no power.
6264
6365We have two options again: the PKI may be globally consistent or not. To be
6466globally consistent means that if you believe a name is bound to a set of keys,
@@ -108,13 +110,15 @@ signed before another without a central party. Blockchain was discovered by
108110someone trying to create digital money, and he needed that primitive, but that
109111doesn't mean that's all it's good for.
110112
113+<a name="2"></a>
111114Thus, we store our PKI data on a blockchain for our second kind of name:
112−[planets](/docs/glossary/planet). A planet is a 32-bit address which has key information stored on the
113−blockchain.[^2] The owner of a planet may broadcast new PKI data by adding it to
114−the blockchain. Any later messages by the old keys will be rejected, and
115−everyone on the network will listen to the blockchain for key data. Thus, we
116−have global consistency, permanence, and self sovereignty. We know of no other
117−solution that can provide these properties.
115+[planets](/docs/glossary/planet). A planet is a 32-bit address which has key
116+information stored on the blockchain.<sup><a href="#f2">[2]</a></sup>
117+The owner of a planet may broadcast new PKI data by adding it to the
118+blockchain. Any later messages by the old keys will be rejected, and everyone
119+on the network will listen to the blockchain for key data. Thus, we have global
120+consistency, permanence, and self sovereignty. We know of no other solution
121+that can provide these properties.
118122
119123While small individually, the aggregate PKI data for all nodes on the
120124network may become very large. This is not an issue for comets because nobody
@@ -162,34 +166,36 @@ are three other properties; pick any two:
162166
163167- Moons are permanent, not self sovereign, and plentiful.
164168
169+<a name="4"></a>
165170Fancifully, comets are wayward celestial bodies that are great for testing and
166171miscellaneous low-value things that won't last for long. Planets are where you
167172can build a home and shape it into anything you want it to be. People can always
168173find your planet; it's not going anywhere. Moons are useful for special
169174purposes, like storage, heavy industry, and anything else you might want to do
170−off-planet.[^4]
175+off-planet.<sup><a href="#f4">[4]</a></sup>
171176
172177
173−[^0]: Or the equivalent with a hierarchical key structure. In practice, you want
174− to have a master key which signs a junior key for everyday use. You use the
175− master key to rotate the junior key.
178+<a name="f0" href="#0">[0]</a>: Or the equivalent with a hierarchical key
179+structure. In practice, you want to have a master key which signs a junior key
180+for everyday use. You use the master key to rotate the junior key.
176181
177−[^1]: More strictly: it proves that he didn't mine it after the other blocks
178− currently on the Bitcoin blockchain. It only gives an ordering within the
179− chain, not a literal timestamp.
182+<a name="f1" href="#1">[1]</a>: More strictly: it proves that he didn't mine it
183+after the other blocks currently on the Bitcoin blockchain. It only gives an
184+ordering within the chain, not a literal timestamp.
180185
181−[^2]: In addition to planets, there are stars and galaxies. From a PKI
182− perspective they're treated exactly like planets, but on the network they
183− provide infrastructure services like routing.
186+<a name="f2" href="#2">[2]</a>: In addition to planets, there are stars and
187+galaxies. From a PKI perspective they're treated exactly like planets, but on
188+the network they provide infrastructure services like routing.
184189
185−[^3]: In practice, this will likely be an included service by your sponsoring
186− star. It could be a separate service, but it will be very cheap because it's
187− a commodity and the "cost of production" is very cheap. At any rate, it
188− should never rise above the capital cost of a 400GB hard drive.
190+<a name="f3" href="#3">[3]</a>: In practice, this will likely be an included
191+service by your sponsoring star. It could be a separate service, but it will be
192+very cheap because it's a commodity and the "cost of production" is very cheap.
193+At any rate, it should never rise above the capital cost of a 400GB hard drive.
189194
190−[^4]: To extend the metaphor, stars are a neighborhood to live in -- they're
191− easier for other planets to see, so when they want to send you a message
192− they look for your star first. If they don't even know where your star is,
193− they can certainly find your star's galaxy, and that will be enough to
194− locate the star. Of course, if your star is not providing satisfactory
195− service, you can take your planet and move to another star.
195+<a name="f4" href="#4">[4]</a>: To extend the metaphor, stars are a
196+neighborhood to live in -- they're easier for other planets to see, so when
197+they want to send you a message they look for your star first. If they don't
198+even know where your star is, they can certainly find your star's galaxy, and
199+that will be enough to locate the star. Of course, if your star is not
200+providing satisfactory service, you can take your planet and move to another
201+star.