mirror of
https://github.com/mimblewimble/grin.git
synced 2025-01-20 19:11:08 +03:00
Fixed some typos in russian intro and code structure docs
This commit is contained in:
parent
2299a03248
commit
d9c38ae654
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`\
|
||||
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`
|
||||
- `chain` - a Rocksdb with the blockchain blocks and related information
|
||||
- `peers` - a Rocksdb with the list of Grin peers you're connected to
|
||||
- `chain` - a database with the blockchain blocks and related information
|
||||
- `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
|
||||
- `src`\
|
||||
Code for the `grin` binary.
|
||||
- `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`\
|
||||
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)
|
||||
|
|
|
@ -235,8 +235,8 @@ Grin это проект с открытым исходным кодом, реа
|
|||
Такие случаи будет трудно обнаруживать, поскольку даже если _x_ отрицательно,
|
||||
соответствующая точка `x*H` на ЭК является неотличимой от любых других.
|
||||
|
||||
Для решения этой проблемы МимблВимбл применяет другой криптографическую идею,
|
||||
называемую range proof: доказательство того, что число находится в заданном интервале, не раскрывая
|
||||
Для решения этой проблемы МимблВимбл применяет другую криптографическую идею,
|
||||
называемую range proofs: доказательство того, что число находится в заданном интервале, не раскрывая
|
||||
самого числа. Не вдаваясь в детали, скажем, что достаточно знать, что для любой суммы
|
||||
`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)
|
||||
|
||||
Мы можем агрегировать их в одну единую транзакцию:
|
||||
|
@ -328,17 +328,17 @@ range proof-ов можно найти в [публикации о range proof-
|
|||
Для предотвращения этого мы включим _смещение ядра_ в каждое ядро транзакции. Это фактор сокрытия (закрытый ключ), который
|
||||
нужно добавлять к избытку ядра:
|
||||
|
||||
sum(выходы) - sum(входы) = избыток_ядра + смещение_ядра
|
||||
сумма(выходы) - сумма(входы) = избыток_ядра + смещение_ядра
|
||||
|
||||
Когда мы накапливаем (аггрегируем) транзакции в блок, мы храним _одно_ накопленное значение смещения в заголовке блока.
|
||||
Теперь у нас есть единичное смещение, которое невозможно будет разбить по отдельным смещениям ядер и транзакции больше
|
||||
Когда мы накапливаем (агрегируем) транзакции в блок, мы храним _одно_ накопленное значение смещения в заголовке блока.
|
||||
Теперь у нас есть единственное смещение, которое невозможно будет разбить по отдельным смещениям ядер и транзакции больше
|
||||
нельзя будет восстановить:
|
||||
|
||||
sum(выходы) - sum(входы) = sum(избыток_ядра) + смещение_ядра
|
||||
сумма(выходы) - сумма(входы) = сумма(избыток_ядра) + смещение_ядра
|
||||
|
||||
Мы "разделим" ключ `k` в сумму `k1+k2` в ходе создания транзакции. Для ядра транзакции `(k1+k2)*G`
|
||||
мы оставляем открытыми `k1*G` (избыток) и `k2` (смещение) и подписываем транзакцию используя `k1*G` как раньше.
|
||||
В ходе сборки бока мы можем просто просуммировать смещения ядер для создания одного агрегированого смещения,
|
||||
В ходе сборки блока мы можем просто просуммировать смещения ядер для создания одного агрегированого смещения,
|
||||
покрывающего все транзакции в блоке. Смещения каждой отдельно взятой транзакции теперь невозможно восстановить.
|
||||
|
||||
#### Прорезание
|
||||
|
@ -374,7 +374,7 @@ range proof-ов можно найти в [публикации о range proof-
|
|||
I2(x2) | O4
|
||||
| O5
|
||||
|
||||
Заметим, что структура транзакций была потеряна и порядок вдохов и выходов больше не имеет значения. Однако, по-прежнему
|
||||
Заметим, что структура транзакций была потеряна и порядок входов и выходов больше не имеет значения. Однако, по-прежнему
|
||||
гарантируется, что сумма всех входов за вычетом суммы всех выходов в блоке равна нулю.
|
||||
|
||||
Блок строится из:
|
||||
|
@ -388,7 +388,7 @@ range proof-ов можно найти в [публикации о range proof-
|
|||
* Подпись, сгенерированная из *избыточного значения*.
|
||||
* Комиссия.
|
||||
|
||||
Организованный таким образом блоки МимблВимбла могут предложить исключительные гарантии приватности:
|
||||
Организованные таким образом блоки МимблВимбла могут предложить исключительные гарантии приватности:
|
||||
|
||||
* Промежуточные транзакции (прорезанные) представляются только их *ядрами*.
|
||||
* Все выходы выглядят одинаково: просто очень большие числа, которые невозможно отличить друг от друга. Если кто-то
|
||||
|
|
Loading…
Reference in a new issue