diff --git a/i2p2www/pages/site/docs/how/network-database.html b/i2p2www/pages/site/docs/how/network-database.html index 0d23ead3d5cbb7ea6bcf56f007a6f55ef2fa9fce..2b7f5cdf97bdc129784cb7d08c5ad07b8f27ae70 100644 --- a/i2p2www/pages/site/docs/how/network-database.html +++ b/i2p2www/pages/site/docs/how/network-database.html @@ -1,6 +1,6 @@ {% extends "global/layout.html" %} {% block title %}{% trans %}The Network Database{% endtrans %}{% endblock %} -{% block lastupdated %}{% trans %}September 2014{% endtrans %}{% endblock %} +{% block lastupdated %}{% trans %}October 2014{% endtrans %}{% endblock %} {% block accuratefor %}0.9.15{% endblock %} {% block content %} <h2>{% trans %}Overview{% endtrans %}</h2> @@ -327,8 +327,9 @@ The SHA256 hash of the key being looked up or stored is XOR-ed with the hash of the router in question to determine closeness. A modification to this algorithm is done to increase the costs of <a href="#sybil-partial">Sybil attacks</a>. Instead of the SHA256 hash of the key being looked up of stored, the SHA256 hash is taken -of the 32-byte binary key appended with the UTC date represented as an 8-byte ASCII string yyyyMMdd, i.e. SHA256(key + yyyyMMdd). +of the 32-byte binary search key appended with the UTC date represented as an 8-byte ASCII string yyyyMMdd, i.e. SHA256(key + yyyyMMdd). This is called the "routing key", and it changes every day at midnight UTC. +Only the search key is modified in this way, not the floodfill router hashes. The daily transformation of the DHT is sometimes called "keyspace rotation", although it isn't strictly a rotation. {%- endtrans %}</p> diff --git a/i2p2www/pages/site/docs/spec/i2np.html b/i2p2www/pages/site/docs/spec/i2np.html index 17c655c39f4843f4e0ca30a668e0c6a0f7a45db9..f34367067fd307299650b318af6a20ff8dcb55f5 100644 --- a/i2p2www/pages/site/docs/spec/i2np.html +++ b/i2p2www/pages/site/docs/spec/i2np.html @@ -1,7 +1,7 @@ {% extends "global/layout.html" %} {% block title %}I2NP Specification{% endblock %} -{% block lastupdated %}September 2014{% endblock %} -{% block accuratefor %}0.9.15{% endblock %} +{% block lastupdated %}October 2014{% endblock %} +{% block accuratefor %}0.9.16{% endblock %} {% block content %} <p> The I2P Network Protocol (I2NP), @@ -33,7 +33,7 @@ A basic summary of the I2NP protocol versions is as follows. For details, see be <td align="center">0.9.16</td> <td align="left">RI key certs / ECDSA and EdDSA sig types<br> Note: RSA sig types also supported as of this version, but currently unused<br> - DLM lookup types (DLM flag bits 3-2) (proposed) + DLM lookup types (DLM flag bits 3-2) </td> </tr><tr> <td align="center">0.9.15</td> @@ -741,8 +741,10 @@ key :: from :: 32 bytes - if deliveryFlag == 0, the SHA256 hash of the routerInfo entry this request came from (and to which the reply should be sent) - if deliveryFlag == 1, the SHA256 hash of the reply tunnel gateway (to which the reply should be sent) + if deliveryFlag == 0, the SHA256 hash of the routerInfo entry this request came from + (to which the reply should be sent) + if deliveryFlag == 1, the SHA256 hash of the reply tunnel gateway + (to which the reply should be sent) flags :: 1 byte @@ -759,7 +761,7 @@ flags :: bits 3-2: lookup type flags through release 0.9.5, must be set to 00 as of release 0.9.6, ignored - as of release 0.9.16 (proposed): + as of release 0.9.16: 00 => normal lookup, return RI or LS or DSRM 01 => LS lookup, return LS or DSRM 10 => RI lookup, return RI or DSRM