mirror of
https://github.com/mimblewimble/grin.git
synced 2025-01-21 11:31:08 +03:00
Merge pull request #2467 from gagarin55/typo-fix
Fixed some typos in russian intro and code structure docs
This commit is contained in:
commit
ca19f9c610
2 changed files with 15 additions and 15 deletions
|
@ -38,13 +38,13 @@ After checking out grin, building and using, these are the folders you'll have:
|
||||||
- `server`\
|
- `server`\
|
||||||
A folder you're [supposed to create](build.md#running-a-node), before starting your server: cd to project root; mkdir server; cd server; grin server start (or run) and it will create a subfolder .grin
|
A folder you're [supposed to create](build.md#running-a-node), before starting your server: cd to project root; mkdir server; cd server; grin server start (or run) and it will create a subfolder .grin
|
||||||
- `.grin`
|
- `.grin`
|
||||||
- `chain` - a Rocksdb with the blockchain blocks and related information
|
- `chain` - a database with the blockchain blocks and related information
|
||||||
- `peers` - a Rocksdb with the list of Grin peers you're connected to
|
- `peers` - a database with the list of Grin peers you're connected to
|
||||||
- `txhashset` - contains folders kernel, rangeproof and output that each have a pmmr_dat.bin
|
- `txhashset` - contains folders kernel, rangeproof and output that each have a pmmr_dat.bin
|
||||||
- `src`\
|
- `src`\
|
||||||
Code for the `grin` binary.
|
Code for the `grin` binary.
|
||||||
- `store`\
|
- `store`\
|
||||||
Data store - a thin wrapper for Rocksdb, a key-value database forked from LevelDB.
|
Data store - Grin uses near-zero-cost Rust wrapper around LMDB, key-value embedded data store.
|
||||||
- `target`\
|
- `target`\
|
||||||
Where the grin binary ends up, after the compile and build process finishes.
|
Where the grin binary ends up, after the compile and build process finishes.
|
||||||
In case of trouble, see [troubleshooting](https://github.com/mimblewimble/docs/wiki/Troubleshooting)
|
In case of trouble, see [troubleshooting](https://github.com/mimblewimble/docs/wiki/Troubleshooting)
|
||||||
|
|
|
@ -235,8 +235,8 @@ Grin это проект с открытым исходным кодом, реа
|
||||||
Такие случаи будет трудно обнаруживать, поскольку даже если _x_ отрицательно,
|
Такие случаи будет трудно обнаруживать, поскольку даже если _x_ отрицательно,
|
||||||
соответствующая точка `x*H` на ЭК является неотличимой от любых других.
|
соответствующая точка `x*H` на ЭК является неотличимой от любых других.
|
||||||
|
|
||||||
Для решения этой проблемы МимблВимбл применяет другой криптографическую идею,
|
Для решения этой проблемы МимблВимбл применяет другую криптографическую идею,
|
||||||
называемую range proof: доказательство того, что число находится в заданном интервале, не раскрывая
|
называемую range proofs: доказательство того, что число находится в заданном интервале, не раскрывая
|
||||||
самого числа. Не вдаваясь в детали, скажем, что достаточно знать, что для любой суммы
|
самого числа. Не вдаваясь в детали, скажем, что достаточно знать, что для любой суммы
|
||||||
`r.G + v.H` мы можем создать такое доказательство, которое покажет, что _v_ больше нуля и не
|
`r.G + v.H` мы можем создать такое доказательство, которое покажет, что _v_ больше нуля и не
|
||||||
переполняется.
|
переполняется.
|
||||||
|
@ -271,7 +271,7 @@ range proof-ов можно найти в [публикации о range proof-
|
||||||
* Ещё большую анонимность за счёт смешивания и удаления данных о транзакциях
|
* Ещё большую анонимность за счёт смешивания и удаления данных о транзакциях
|
||||||
* Возможность для новых участников сети очень быстро синхронизироваться с остальными
|
* Возможность для новых участников сети очень быстро синхронизироваться с остальными
|
||||||
|
|
||||||
#### Аггрегирование Транзакций
|
#### Агрегирование Транзакций
|
||||||
|
|
||||||
Напомним, что транзакция состоит из:
|
Напомним, что транзакция состоит из:
|
||||||
|
|
||||||
|
@ -297,7 +297,7 @@ range proof-ов можно найти в [публикации о range proof-
|
||||||
избытков ядер:
|
избытков ядер:
|
||||||
|
|
||||||
|
|
||||||
сумма(выходы) - сумма(входы) = sum(избытки_ядер)
|
сумма(выходы) - сумма(входы) = сумма(избытки_ядер)
|
||||||
|
|
||||||
Простыми словами, с блоками МимблВимбла можно работать точно так же, как и с транзакциями МимблВимбла.
|
Простыми словами, с блоками МимблВимбла можно работать точно так же, как и с транзакциями МимблВимбла.
|
||||||
|
|
||||||
|
@ -310,7 +310,7 @@ range proof-ов можно найти в [публикации о range proof-
|
||||||
|
|
||||||
Например, даны две транзакции:
|
Например, даны две транзакции:
|
||||||
|
|
||||||
(вход1, вход2) -> (out1), (ядро1)
|
(вход1, вход2) -> (выход1), (ядро1)
|
||||||
(вход3) -> (выход2), (ядро2)
|
(вход3) -> (выход2), (ядро2)
|
||||||
|
|
||||||
Мы можем агрегировать их в одну единую транзакцию:
|
Мы можем агрегировать их в одну единую транзакцию:
|
||||||
|
@ -328,17 +328,17 @@ range proof-ов можно найти в [публикации о range proof-
|
||||||
Для предотвращения этого мы включим _смещение ядра_ в каждое ядро транзакции. Это фактор сокрытия (закрытый ключ), который
|
Для предотвращения этого мы включим _смещение ядра_ в каждое ядро транзакции. Это фактор сокрытия (закрытый ключ), который
|
||||||
нужно добавлять к избытку ядра:
|
нужно добавлять к избытку ядра:
|
||||||
|
|
||||||
sum(выходы) - sum(входы) = избыток_ядра + смещение_ядра
|
сумма(выходы) - сумма(входы) = избыток_ядра + смещение_ядра
|
||||||
|
|
||||||
Когда мы накапливаем (аггрегируем) транзакции в блок, мы храним _одно_ накопленное значение смещения в заголовке блока.
|
Когда мы накапливаем (агрегируем) транзакции в блок, мы храним _одно_ накопленное значение смещения в заголовке блока.
|
||||||
Теперь у нас есть единичное смещение, которое невозможно будет разбить по отдельным смещениям ядер и транзакции больше
|
Теперь у нас есть единственное смещение, которое невозможно будет разбить по отдельным смещениям ядер и транзакции больше
|
||||||
нельзя будет восстановить:
|
нельзя будет восстановить:
|
||||||
|
|
||||||
sum(выходы) - sum(входы) = sum(избыток_ядра) + смещение_ядра
|
сумма(выходы) - сумма(входы) = сумма(избыток_ядра) + смещение_ядра
|
||||||
|
|
||||||
Мы "разделим" ключ `k` в сумму `k1+k2` в ходе создания транзакции. Для ядра транзакции `(k1+k2)*G`
|
Мы "разделим" ключ `k` в сумму `k1+k2` в ходе создания транзакции. Для ядра транзакции `(k1+k2)*G`
|
||||||
мы оставляем открытыми `k1*G` (избыток) и `k2` (смещение) и подписываем транзакцию используя `k1*G` как раньше.
|
мы оставляем открытыми `k1*G` (избыток) и `k2` (смещение) и подписываем транзакцию используя `k1*G` как раньше.
|
||||||
В ходе сборки бока мы можем просто просуммировать смещения ядер для создания одного агрегированого смещения,
|
В ходе сборки блока мы можем просто просуммировать смещения ядер для создания одного агрегированого смещения,
|
||||||
покрывающего все транзакции в блоке. Смещения каждой отдельно взятой транзакции теперь невозможно восстановить.
|
покрывающего все транзакции в блоке. Смещения каждой отдельно взятой транзакции теперь невозможно восстановить.
|
||||||
|
|
||||||
#### Прорезание
|
#### Прорезание
|
||||||
|
@ -374,7 +374,7 @@ range proof-ов можно найти в [публикации о range proof-
|
||||||
I2(x2) | O4
|
I2(x2) | O4
|
||||||
| O5
|
| O5
|
||||||
|
|
||||||
Заметим, что структура транзакций была потеряна и порядок вдохов и выходов больше не имеет значения. Однако, по-прежнему
|
Заметим, что структура транзакций была потеряна и порядок входов и выходов больше не имеет значения. Однако, по-прежнему
|
||||||
гарантируется, что сумма всех входов за вычетом суммы всех выходов в блоке равна нулю.
|
гарантируется, что сумма всех входов за вычетом суммы всех выходов в блоке равна нулю.
|
||||||
|
|
||||||
Блок строится из:
|
Блок строится из:
|
||||||
|
@ -388,7 +388,7 @@ range proof-ов можно найти в [публикации о range proof-
|
||||||
* Подпись, сгенерированная из *избыточного значения*.
|
* Подпись, сгенерированная из *избыточного значения*.
|
||||||
* Комиссия.
|
* Комиссия.
|
||||||
|
|
||||||
Организованный таким образом блоки МимблВимбла могут предложить исключительные гарантии приватности:
|
Организованные таким образом блоки МимблВимбла могут предложить исключительные гарантии приватности:
|
||||||
|
|
||||||
* Промежуточные транзакции (прорезанные) представляются только их *ядрами*.
|
* Промежуточные транзакции (прорезанные) представляются только их *ядрами*.
|
||||||
* Все выходы выглядят одинаково: просто очень большие числа, которые невозможно отличить друг от друга. Если кто-то
|
* Все выходы выглядят одинаково: просто очень большие числа, которые невозможно отличить друг от друга. Если кто-то
|
||||||
|
|
Loading…
Reference in a new issue