Size: a a a

Ассоциация ФинТех РФ

2017 March 29

SS

Sergey Sherkunov in Ассоциация ФинТех РФ
Yuriy Mironenko
Вот вроде мы беседовали раньше, и я вроде понимал, а теперь вовсе перестал понимать.

Вы говорите "убрать независимый майнинг", а не просто "убрать майнинг". Значит, вы предлагаете сделать некий "зависимый", "доверенный" майнинг, а не просто его убрать. Но если у нас есть центр, которому все стороны доверяют, то зачем нам нужен майнинг? Ведь задача майнинга - сделать отсчёт времени, не требующий доверия между участниками сети.
Здесь есть небольшая неточность - не будет никакого "доверенного" майнинга. Как раз он и будет, в первую очередь, недоверенным. Вся соль, что результаты майнинга при одних и тех же входных данных дадут один и тот же предсказуемый результат, математика неумолима, и все махинации этого центра будут, как на ладони. Поэтому я предлагаю отказаться от термина доверенный/недоверенный в криптовалютах, он бессмысленный и вносит заблуждения.
источник

SS

Sergey Sherkunov in Ассоциация ФинТех РФ
Yuriy Mironenko
Вот вроде мы беседовали раньше, и я вроде понимал, а теперь вовсе перестал понимать.

Вы говорите "убрать независимый майнинг", а не просто "убрать майнинг". Значит, вы предлагаете сделать некий "зависимый", "доверенный" майнинг, а не просто его убрать. Но если у нас есть центр, которому все стороны доверяют, то зачем нам нужен майнинг? Ведь задача майнинга - сделать отсчёт времени, не требующий доверия между участниками сети.
Под независимым я имел ввиду распределённый майнинг на серверах, принадлежащих разным владельцам, с определённой стратегией достижения консенсуса. В контролируемой криптовалюте сервера будут подконтрольны одному владельцу - государству. Поэтому и зависимый майнинг - майнинг, который может проводить только один владелец. Правда, средства для достижения консенсуса нам всё равно нужны, если хотим масштабировать майнинг блокчейна на n-ное количество серверов.
источник

YM

Yuriy Mironenko in Ассоциация ФинТех РФ
Sergey Sherkunov
Давайте начнём со следующего: объясните мне, как вы понимаете, для чего нужен распределённый сервер времени в блокчейне.
Сервер времени нужен для того, чтобы отличать более ранние транзакции от более поздних. _Распределенный_ сервер времени нужен для того, чтобы отличать ранние транзакции от поздних без единого _доверенного центра_.

В биткойне меткой времени служит блок. Все транзакции, попавшие в один блок, происходят, с точки зрения биткойна, одновременно. По этой причине нельзя в _пределах одного блока_ перевести биткойны сначала с адреса А на пустой адрес Б, а потом с адреса Б на адрес В. Транзакции А->Б и Б->В должны происходить в разных блоках.

Сейчас вы посылаете свои транзакции в сеть, и их включают в определенный блок, присваивая тем самым метку времени. Так что можно определить, какие транзакции произошли ДО того, а какие - ПОСЛЕ того.

Если у вас есть доверенный центр, то он может просто припысывать к вашей транзакции текущее время, подписывать своим ключом, и передавать обратно вам.
источник

SS

Sergey Sherkunov in Ассоциация ФинТех РФ
Yuriy Mironenko
Сервер времени нужен для того, чтобы отличать более ранние транзакции от более поздних. _Распределенный_ сервер времени нужен для того, чтобы отличать ранние транзакции от поздних без единого _доверенного центра_.

В биткойне меткой времени служит блок. Все транзакции, попавшие в один блок, происходят, с точки зрения биткойна, одновременно. По этой причине нельзя в _пределах одного блока_ перевести биткойны сначала с адреса А на пустой адрес Б, а потом с адреса Б на адрес В. Транзакции А->Б и Б->В должны происходить в разных блоках.

Сейчас вы посылаете свои транзакции в сеть, и их включают в определенный блок, присваивая тем самым метку времени. Так что можно определить, какие транзакции произошли ДО того, а какие - ПОСЛЕ того.

Если у вас есть доверенный центр, то он может просто припысывать к вашей транзакции текущее время, подписывать своим ключом, и передавать обратно вам.
Ах, дело в блоках... А я думал, о каком времени речь идёт. Тогда ладно, тут я согласен.
источник

YM

Yuriy Mironenko in Ассоциация ФинТех РФ
Отличать более ранние транзакции от более позних нужно вот зачем. Допустим,у вас 10 биткойнов на кошельке А. Вы выпускаете в сеть две транзакции: перевод 7 биткойнов А -> Б и перевод 8 биткойнов А -> В. Очевидно, только ОДНА из этих транзакций будет принята, а другая - отвергнута.

Какая же будет принята? Та, которая РАНЬШЕ.

Как определить, какая раньше? По метке времени. В случае биткойна - та, которая попалась майнинговому центру раньше. Если вы выпускаете обе транзакции в сеть одновременно, то только вопрос случая, которая из них первой попадёт в блок.
источник

SS

Sergey Sherkunov in Ассоциация ФинТех РФ
Yuriy Mironenko
Сервер времени нужен для того, чтобы отличать более ранние транзакции от более поздних. _Распределенный_ сервер времени нужен для того, чтобы отличать ранние транзакции от поздних без единого _доверенного центра_.

В биткойне меткой времени служит блок. Все транзакции, попавшие в один блок, происходят, с точки зрения биткойна, одновременно. По этой причине нельзя в _пределах одного блока_ перевести биткойны сначала с адреса А на пустой адрес Б, а потом с адреса Б на адрес В. Транзакции А->Б и Б->В должны происходить в разных блоках.

Сейчас вы посылаете свои транзакции в сеть, и их включают в определенный блок, присваивая тем самым метку времени. Так что можно определить, какие транзакции произошли ДО того, а какие - ПОСЛЕ того.

Если у вас есть доверенный центр, то он может просто припысывать к вашей транзакции текущее время, подписывать своим ключом, и передавать обратно вам.
Проблема будет в подписи - утечка приватного ключа может привести к коллапсу. В мастабах страны будет печальное зрелище. Цепочка блоков решило бы эту проблему, никто ничем не рискует.
источник

YM

Yuriy Mironenko in Ассоциация ФинТех РФ
Sergey Sherkunov
Я не пойму, откуда вы взяли про "отсчёт времени"? Можно ссылку на какую-либо статью?
Вот статья того самого Сатоши, с которой всё началось: http://www.bitcoin.org/bitcoin.pdf
источник

SS

Sergey Sherkunov in Ассоциация ФинТех РФ
Yuriy Mironenko
Вот статья того самого Сатоши, с которой всё началось: http://www.bitcoin.org/bitcoin.pdf
Когда-то давно я её неосилил. 😊
источник

YM

Yuriy Mironenko in Ассоциация ФинТех РФ
Sergey Sherkunov
Когда-то давно я её неосилил. 😊
По нашему вопросу важны разделы 3 и 4.
Раздел 4 начинается словами:

"To implement a distributed timestamp server on a peer-to-peer basis, we will need to use a proof-of-work system similar to Adam Back's Hashcash, rather than newspaper or Usenet posts. The proof-of-work involves scanning for a value that when hashed, such as with SHA-256, the hash begins with a number of zero bits."
источник

SS

Sergey Sherkunov in Ассоциация ФинТех РФ
Хотя я тут подумал... Не обязательно централизировать майнинг для контроля над эммисией, а дополнительная толпа сторонних майнеров никогда не помешает для ускорения сети.
источник

YM

Yuriy Mironenko in Ассоциация ФинТех РФ
Sergey Sherkunov
Проблема будет в подписи - утечка приватного ключа может привести к коллапсу. В мастабах страны будет печальное зрелище. Цепочка блоков решило бы эту проблему, никто ничем не рискует.
Мысль интересная, её надо подумать, что-то в ней есть.

При реализации в лоб, конечно, она основана на предположении "украсть ключ легче, чем превзойти единый доверенный центр по процессорной мощности". Что неочевидно - ведь кража ключа требует физической атаки на удостоверяющий центр, притом _незаметной_ физической атаки. По сети ключ не стянешь.

Сейчас в банковской сфере и у всяких там пейпалов с яндекс-деньгами и применяется именно та система с доверенным центром, штампующим транзакции - это называется умным словом "процессинговый центр" - и что-то мы не слышали о похищениях ключей из них.

Но что-то в этой мысли, повторюсь, есть. Она нова и незаезженна. Надо подумать.
источник

SS

Sergey Sherkunov in Ассоциация ФинТех РФ
Sergey Sherkunov
Хотя я тут подумал... Не обязательно централизировать майнинг для контроля над эммисией, а дополнительная толпа сторонних майнеров никогда не помешает для ускорения сети.
Единственный момент - решить проблему, когда майнеры становится так много, что они могут диктовать свои условия, что для государства неприемлемо.
источник

SS

Sergey Sherkunov in Ассоциация ФинТех РФ
Yuriy Mironenko
Мысль интересная, её надо подумать, что-то в ней есть.

При реализации в лоб, конечно, она основана на предположении "украсть ключ легче, чем превзойти единый доверенный центр по процессорной мощности". Что неочевидно - ведь кража ключа требует физической атаки на удостоверяющий центр, притом _незаметной_ физической атаки. По сети ключ не стянешь.

Сейчас в банковской сфере и у всяких там пейпалов с яндекс-деньгами и применяется именно та система с доверенным центром, штампующим транзакции - это называется умным словом "процессинговый центр" - и что-то мы не слышали о похищениях ключей из них.

Но что-то в этой мысли, повторюсь, есть. Она нова и незаезженна. Надо подумать.
Я понятия не имею, как работает процессинговый центр, там, скорее всего, очень быстрая ротация ключей, либо в основе лежат те же идеи, что и блокчейне, т.к. идеи с цепочками блоков не новы, Сатоши тут не особо оригинальничал.
источник

SS

Sergey Sherkunov in Ассоциация ФинТех РФ
Sergey Sherkunov
Единственный момент - решить проблему, когда майнеры становится так много, что они могут диктовать свои условия, что для государства неприемлемо.
Да, кстати, гибридная модель PoW + PoS, думаю, была бы кстати.
источник

YM

Yuriy Mironenko in Ассоциация ФинТех РФ
Sergey Sherkunov
Хотя я тут подумал... Не обязательно централизировать майнинг для контроля над эммисией, а дополнительная толпа сторонних майнеров никогда не помешает для ускорения сети.
Неясно, что понимается под "ускорением сети". Чтобы блоки шли чаще, достаточно уменьшить сложность их генерации. Дополнительные мощности не могут "ускорить" транзакции, потому что транзакции ДОЛЖНЫ быть настолько сложными, чтобы занимать в среднем не менее определённого времени.
источник

SS

Sergey Sherkunov in Ассоциация ФинТех РФ
Yuriy Mironenko
Неясно, что понимается под "ускорением сети". Чтобы блоки шли чаще, достаточно уменьшить сложность их генерации. Дополнительные мощности не могут "ускорить" транзакции, потому что транзакции ДОЛЖНЫ быть настолько сложными, чтобы занимать в среднем не менее определённого времени.
Хм, наверное, я неправильно выразился. Речь идёт не об скорости генерации блоков, а об увеличении пропускной способности сети, тобишь количество транзакций, которое может быть совершенно за определённое время.
источник

YM

Yuriy Mironenko in Ассоциация ФинТех РФ
Sergey Sherkunov
Хм, наверное, я неправильно выразился. Речь идёт не об скорости генерации блоков, а об увеличении пропускной способности сети, тобишь количество транзакций, которое может быть совершенно за определённое время.
И снова мне не вполне ясно, как увеличение количества участников сети повысит пропускную способность. Каким образом количество возможных транзакций в единицу времени увеличится?
источник

YM

Yuriy Mironenko in Ассоциация ФинТех РФ
Sergey Sherkunov
Я понятия не имею, как работает процессинговый центр, там, скорее всего, очень быстрая ротация ключей, либо в основе лежат те же идеи, что и блокчейне, т.к. идеи с цепочками блоков не новы, Сатоши тут не особо оригинальничал.
Конечно, ротация ключей тоже имеет место, но основное - там используется оборудование с неизвлекаемыми сертификатами. То есть есть устройство, которое умеет сегенерировать ключ внутри себя, и просто нет никакого API, а иногда - даже физических цепей, которое выдавало бы этот ключ наружу.

Это общий приём, его даже в смарт-картах используют.
источник

SS

Sergey Sherkunov in Ассоциация ФинТех РФ
Yuriy Mironenko
И снова мне не вполне ясно, как увеличение количества участников сети повысит пропускную способность. Каким образом количество возможных транзакций в единицу времени увеличится?
Это, скорее, косвенная связь. Чем больше узлов в сети, тем пропорционально больше крупных узлов, которые будут быстрее считать хэши, быстрее вычисляют хэши - быстрее добавляют транзакции и обсчитывают Merkle-tree, быстрее переходят к генерации нового блока. Единственное условие - суммарная мощность этих узлов, неподконтрольных государству, должно быть меньше ~50% от общей мощности сети.
источник

SS

Sergey Sherkunov in Ассоциация ФинТех РФ
Yuriy Mironenko
Конечно, ротация ключей тоже имеет место, но основное - там используется оборудование с неизвлекаемыми сертификатами. То есть есть устройство, которое умеет сегенерировать ключ внутри себя, и просто нет никакого API, а иногда - даже физических цепей, которое выдавало бы этот ключ наружу.

Это общий приём, его даже в смарт-картах используют.
Ясно, про это я даже позабыл.
источник