Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
ropox
6 лет назад

Опять про блокчейн, ноды, делегатов и так далее.

Решил еще раз чиркнуть про делегатов, ноды. Как устроен блокчейн и кто такие ноды. Постараюсь выдержать уровень детской книжки :)

То, что голос работает на блокчейне, только аналфабеты (слово то какое) еще не слышали. Но многие ли понимают, что это? Блокчейн по сути это протокол всего, что происходит на голосе.

Вася написал пост,
Петя проголосовал за Васю
Коля поставил флаг Васе
Петя перевел Жене 100.000 GBG с заметкой "Заработал"
Вася перевел bittrex 20000.000 GOLOS с заметкой "х3оч2умн0г0д4е1нег"

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

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

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

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

Что бы было понятнее объясню на примере бухгалтерии )) Я приводил эту аналогию в телеграме.

Каждый день бухгалтерия крупного предприятия выполняет много операций с деньгами. Оплачиваются расходные материалы, платится зарплата, поступают средства за продукцию, платятся налоги. И так далее. Делается много так называемых проводок. Дело понятное дело ответственное и требует строгого учета, потому все проводки записываются в гроссбух. Сейчас конечно это компьютер, а раньше это была большая книга (буквально с немецкого gross buch), где весь приход и расход записывался строка за строкой. В любой момент могут прийти налоговики и все проверить.

ПроводкаСумма
Молоко-200 рублей
Сахар-100 рублей
Выручка1000 рублей

Допустим нам надо узнать, сколько предприятие выручило средств с продажи за месяц. Очевидно надо просто все сложить и в итоге получим выручку за месяц, 700 рублей. А представьте, какой это адский труд суммировать все проводки огромного предприятия. Понадобится много времени.

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

ПроводкаСуммаОбщая сумма
Молоко-200 рублей-200 рублей
Сахар-100 рублей-300 рублей
Выручка1000 рублей700 рублей

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

Вот так же работает и так называемая нода голоса - специальная программа для ведения протокола. Ежесекундно нода получает от вебсайта, от ботов много операций, вроде "переведи 100 GBG, апвот Коле" и так далее. Нода накапливает эти операции в течении 3-х секунд и раз в три секунды записывает блок на диск с этими операциями. 28800 блока в сутки.

Заодно нода отслеживает все операции и ведет в уме счета (балансы) каждого пользователя на голосе. Перевёл Коля Васе 300 GBG, нода в своем гроссбухе прибавит к балансу Васи 300 GBG. Переведет Вася Биттрексу 120 GBG, нода отнимет от васиного баланса 120 GBG и прибавит Биттреку 120 GBG. И так во всем. Будь то GBG, GOLOS, репутация пользователя, сумма голосов за пост, последняя редакция поста или комментария.

А уже вебсайты, https://goldvoice.club или https://golos.io одним запросом к ноде могут узнать сколько у Васи GBG. Им не надо просматривать самим все блоки или вести баланс Васи, Коли и Биттрекса, за них делает все нода.

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

Таким образом.

Блокчейн GOLOS - по сути блоки в которых последовательно записаны все действия пользователей сети Golos
Нода - программа для записи протокола и ведения текущего состояния всех пользователей

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

2
509.945 GOLOS
На Golos с February 2017
Комментарии (34)
Сортировать по:
Сначала старые