Это фрагмент чата между разработчиком TurtleCoin Бибопом и Atakor, когда Atakor спросил, как формируются блоки. Бибоп дал отличное описание, а недавно Хай обратил мое внимание на то, что оно так и не было опубликовано. Я чувствовал, что лучше оставить его сырым и неотредактированным, поэтому извините за любые LOL или орфографические ошибки, пожалуйста. Спасибо, Хай, что обратил мое внимание на это.

Атакор-16.01.2018

это не совсем оффтоп, но я не хочу загрязнять общее и прерывать текущую дискуссию: как проверяются транзакции в криптовалютах, в частности PoW?

Бибоп ван Саберхаген-16.01.2018

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

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

Атакор-16.01.2018

поэтому никому не нужно делать что-либо «вручную» для проверки транзакций.

все автоматизировано

Бибоп ван Саберхаген-16.01.2018

правильный

Атакор-16.01.2018

майнинг = генерация монет + проверка транзакций

Бибоп ван Саберхаген-16.01.2018

да вот так вот

Атакор-16.01.2018

k отлично, спасибо, я проверю все технические детали, как это делается позже

Бибоп ван Саберхаген-16.01.2018

Блокчейн - это просто бухгалтерская книга

Атакор-16.01.2018

мне любопытно, но никогда не было времени, чтобы действительно понять все это

да это

Бибоп ван Саберхаген-16.01.2018

хорошо, сначала позвольте мне спросить вас об этом

ты знаешь что такое хэш?

Атакор-16.01.2018

да

Атакор-16.01.2018

хотел сказать, я выпускник компьютерных наук, просто не нашел времени, чтобы прочитать подробности о том, как все это работает

я понимаю все на поверхностном уровне

Бибоп ван Саберхаген-16.01.2018

хорошо, круто

просто не хочу объяснять то, что ты и так знаешь

Атакор-16.01.2018

да конечно

Бибоп ван Саберхаген-16.01.2018

хорошо, так что думай об этом так

скажем, мы группа друзей и мы создаем валюту. мы согласны, что есть 100 единиц фарткойнов, нас 10 в группе, и мы все кладем их по 10 долларов в банк и говорим, что наши 100 единиц фарткойнов стоят 100 долларов в банке…

теперь мы решаем, что вместо того, чтобы распечатывать или делать физические токены для этой валюты, мы Bebop van Saberhagen-16/01/2018

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

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

это плохо, потому что вы можете солгать, для своей выгоды или просто так. вы можете перегрузиться и отстать или стать ненадежным

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

Атакор-16.01.2018

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

просто собираюсь сделать это виртуально

но нам нужен способ отслеживать транзакции с этой виртуальной валютой прямо

чтобы вы не продали мне свои 10, а затем сказали кому-то еще, что они у вас все еще есть, и не продали их им (двойная трата)

и так что однажды я купил 5 у вас и 5 у джона, теперь у меня есть 20

правильно

Атакор-16.01.2018

oh

я думаю, что знаю все это на самом деле

Бибоп ван Саберхаген-16.01.2018

так что мы говорим хорошо, мы сделаем электронную таблицу

Атакор-16.01.2018

не хочу, чтобы ты заходил слишком глубоко

к основному я имею в виду

я знаю, как работает технология более или менее

Бибоп ван Саберхаген-16.01.2018

не волнуйся, я сейчас объясню это, чтобы поприветствовать тебя здесь.

PoW

ржу не могу

Атакор-16.01.2018

просто был сбит с толку частью проверки транзакций

Бибоп ван Саберхаген-16.01.2018

другие люди могут читать это

Атакор-16.01.2018

Окей круто

о да это правда!

Бибоп ван Саберхаген-16.01.2018

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

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

это плохо, потому что вы можете солгать, для своей выгоды или просто так. вы можете перегрузиться и отстать или стать ненадежным

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

Атакор-16.01.2018

Сатоши Накамото, дамы и господа

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

Бибоп ван Саберхаген-16.01.2018

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

Атакор-16.01.2018

и быть легко доступным (отредактировано)

Бибоп ван Саберхаген-16.01.2018

но теперь у нас есть несколько новых вопросов

синхронизация

что, если все не увидят сообщение и не обновятся одновременно. что, если некоторые люди никогда не получат сообщения и т. д.

и как мы узнаем, что сообщения об обновлениях, которые мы получаем, являются законными

так что в этом есть два элемента

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

теперь 2-я часть - консенсус. как мы можем синхронизировать всех и согласовать одну и ту же последовательность хэшей

Таким образом, мы получаем консенсус с PoW, говоря: «ОК». мы будем делать обновления с определенным интервалом времени

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

так как мы выбираем случайного человека? мы не знаем. мы делаем игру на угадывание чисел, но это не просто игра на угадывание чисел, это игра с хешированием

вы должны угадать число, а затем выполнить над ним вычисления, чтобы увидеть, дает ли оно целевое число

и тот, кто догадывается, первым говорит всем: «Эй, я понял!», а затем может предоставить решение — которое вычислительно легко проверить, но вычислительно сложно угадать.

думайте об этом как о наборе ключей и замке

100 миллиардов ключей или около того

и ты должен пройти один за другим и найти правильный ключ для замка

но как только вы это сделаете, людям будет легко вставить его в замок и убедиться, что он открывается

вроде того, через хеширование

так что вы, если вы угадываете этот раунд, вы говорите всем, и в основном, если большинство быстро проверяет и соглашается с вами, 51% или более, это блокчейн сейчас

но что, если никто не угадает в раунде?

вместо фактического фиксированного времени мы говорим, что раунд — это когда кто-то находит решение

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

в черепаховой монете этот таймфрейм составляет 30 секунд

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

и поскольку каждый раунд требует времени + вычислительной работы (затраты на оборудование + электроэнергию), мы выплачиваем вознаграждение — часть нашей виртуальной валюты — за решение раунда, чтобы стимулировать угадывание и проверку этого числа (что мы называем майнингом), и потому что это стимулирует, несколько человек участвуют и инвестируют ресурсы, что затрудняет сохранение большинства одной организацией

теперь вместо того, чтобы несколько человек начинали с того, что кладут деньги в банк, мы просто говорим, что единственный способ пустить в обращение единицу этой валюты — это добыть ее

бухгалтерская книга начинается с 0 для всех

как это было? как я сделал?

Атакор-16.01.2018

ваши навыки объяснения на высшем уровне

я бы не смог сформулировать это так ясно и последовательно

Бибоп ван Саберхаген-16.01.2018

Благодарность

когда-то все было последовательностью чисел, теперь вы видите, как автоматизирована проверка

так что в теории я мог бы похлопать тебя по плечу и сказать: «Эй, блядь, @RockSteady Nakamoto, мы собираемся придумать несколько ложных транзакций и отправить нам все его монеты, даже если мы не знаем действительных ключей для этого». просто приму это как правду (отредактировано)

вот и мы

и вы говорите да, обязательно сделаем это

и мы просто договариваемся о фейковой сделке

Проблема в том, что мы не сможем заставить 51% людей согласиться с недействительной транзакцией.

и поскольку каждый блок является хэшем предыдущего

Атакор-16.01.2018

51% — это 51% вычислительной мощности, верно?

Бибоп ван Саберхаген-16.01.2018

каждая последующая транзакция будет недействительной

да, вы можете выразить это и в этих терминах, как мощность хеширования

теперь были случаи, когда это происходило (эфириум)

но не все согласились. они раздвоились

Атакор-16.01.2018

или мощность майнинга, я должен сказать (де-хеширование, поиск хэша)

Бибоп ван Саберхаген-16.01.2018

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

вот где вы получаете биткойн и биткойн наличными, а что нет

Разветвления блокчейна могут сопровождаться некоторыми изменениями в программном обеспечении или протоколах, но также можно развертывать новые блокчейны с тем же программным обеспечением и протоколами или с другим программным обеспечением и протоколами.

Атакор-16.01.2018

(проверьте ПМ, пожалуйста)

как я уже говорил вам, это объяснение ценно, вы можете сохранить его где-нибудь

хай-16.01.2018

@Bebop van Saberhagen, будучи выпускником, не являющимся выпускником CS, я обнаружил, что очень информативно, что это должно быть на Turtlecoin.lol или на приветственном канале в виде прикрепленного сообщения.