?

Log in

No account? Create an account

Анатолій Андросюк

Всем Взаимофренд !

Previous Entry Share Next Entry
Что такое блокчейн? Простое объяснение. Для тех кто хочет быть в теме...
biboroda


Каждый, кто время от времени следит за новостями, уже не раз слышал о биткоине и блокчейне. Эти темы постоянно фигурируют в СМИ и уже плотно вошли в нашу жизнь. Даже люди, которые никогда не занимались майнингом криптовалют и не до конца осознают, как работает данная технология, активно ее обсуждают. Основной задачей этого материала является описание блокчейна таким образом, чтобы каждый пользователь сети интернет понял, что же это за зверь и зачем он нужен.
Блокчейн, почему нам необходимо что-то настолько сложное?


“На любой тонкий и сложный вопрос всегда найдется простой и прямолинейный ответ, который будет неправильным” — Г.-Л. Менкен

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

Представьте, что Никита — ваш лучший друг. Он уехал путешествовать за границу, и на пятый день путешествия звонит вам и говорит: “Привет, можешь прислать мне немного денег? У меня совсем закончились”.

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

После вы звоните в банк и говорите сотруднику, чтобы он перевел $1000 на счет Никиты.

Менеджер по работе с клиентами открывает реестр (базу данных), проверяет баланс вашего счета, чтобы увидеть, имеете ли вы достаточный остаток для перевода в $1000. Представим, что вы богатый человек и денег у вас много; таким образом, он делает запись в реестре следующим образом:

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

После разговора с менеджером вы звоните Никите и сообщаете радостные новости: “Деньги переведены! Во время следующего похода в банк ты можешь преспокойно снять $1000, которую я отправил”.

Что, собственно, произошло? Вы и Никита доверили банку управление вашими средствами. По сути, никакого реального движения денег не происходило. Все, что было необходимо, — это запись в реестр. А если точнее, запись в реестр, которым ни вы, ни Никита не владеете и не управляете.

И это проблема нынешней системы.

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

В течение многих лет мы зависели от посредников. Однако возникает вопрос: чем же так плоха подобная зависимость?

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

• Что, если база данных, в которой зарегистрирована сделка, сгорела в пожаре?

• Что, если ваш менеджер по ошибке написал $1500 вместо $1000?

Что, если он сделал это нарочно?

В течение многих лет, люди доверяли управление нашими средствами третьей стороне.

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

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

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

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

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

Да, но объясните, как это работает?

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

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

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


1. Создаем пустую папку

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

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

Допустим, участник #2 хочет отправить $10 участнику #9.

Чтобы совершить сделку, участник #2 объявляет всем в сети: “я хочу перевести $10 на счет участника #9. Так что, пожалуйста, запишите эту операцию на ваших листах.”

Все проверяют, достаточен ли остаток на счету участника #2, чтобы перевести $10 на счет участника#9. Если на счету есть необходимые $10, то все участники делают отметку о транзакции в своих листах.

Первая транзакция на странице

После этого сделка считается завершенной.
3. Фиксируем последующие транзакции

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

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

Пришло время перенести заполненную страницу в папку и повторить пункт №2.
4. Переносим заполненную страницу в папку

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

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

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

Интересно! Как мы запечатываем страницы?

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

…волшебной машиной!

Представьте себе машину с двумя отверстиями — справа и слева, окруженную толстыми стенками. Если вы отправите коробку с одним содержимым с левой стороны машины, она выдаст эту же коробку справа, но уже с другим содержимым.

[Минутка технослэнга] Эта машина именуется «хэш-функцией», но на данный момент продолжим называть ее волшебной.

Волшебная машина или хеш-функция

Предположим, что в машину была отправлена коробка с цифрой 4 с левой стороны, с правой появилась та же коробка со следующим содержимым: ‘dcbea.’

Каким образом «4» конвертировалось в этот набор букв? Никто не знает. Более того, это необратимый процесс. Рассматривая ‘dcbea’, невозможно сказать, что находилось в коробке, поданной слева. При этом каждый раз при введении 4 с левой стороны, машина выдаст тот же самый набор букв, ‘dcbea’, справа.
hash(4) = dcbea

Давайте попробуем отправить внутрь машины другое число. Как насчет 26?
hash(26) = 94c8e

Машина выдала справа 94c8e. Интересно! Получается, что значения, появляющиеся справа, тоже могут содержать цифры.

Давайте попробуем ответить на следующий вопрос:

Что нужно отправить с левой стороны машины, чтобы на выходе получилось слово, которое начинается с трех нулей? Например, 000ab или 00098 или 000fa?
Прогноз вводных значений

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

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


Попробуем все, чтобы высчитать вводные значения

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

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

Сложно ли, по вашему мнению, предугадать ответ на следующий вопрос: при введении числа, например, 72533, в машину слева, увидите ли вы значение, начинающееся с трех нулей?

Все, что необходимо сделать, это ввести 72533 в машину и посмотреть, что появилось с правой стороны. Конец.

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

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

Как использовать хэш-функции для создания печати на странице?

Для создания печатей на страницах воспользуемся волшебной машиной.

Представьте себе, что у вас две коробки. Первая коробка содержит номер 20893. Позвольте задать вопрос: “Можете ли вы выявить число, которое при сложении с числом в первой коробке, вводится в машину и в результате выдает нам значение, которое начинается с трех нулей?”

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

После нескольких тысяч попыток, допустим, было выведено значение, 21191, которое при добавлении к 20893 (т. е. 21191 + 20893 = 42084) подается в машину и в результате дает нам слово, удовлетворяющее нашим требованиям.

В таком случае число 21191 становится печатью для числа 20893. Предположим, есть страница, которая содержит число 20893, написанное на ней. Чтобы запечатать эту страницу, при этом защитив данные на ней от внесения изменений, необходимо поставить печать с номером ‘21191’ на странице. Как только номер (т. е. 21191) проставлен, страница считается запечатанной.


Номер печати

[Минутка технослэнга] Номером печати на практике называется «Proof Of Work», что означает, что этот номер является доказательством того, что усилия были предприняты для его вычисления. Для наших целей мы продолжим называть его номером печати.

Если кто-то хочет проверить, менялось ли содержимое страницы, все, что участнику необходимо сделать, — добавить к содержимому страницы (20893) номер печати (21191) и ввести полученное значение в волшебную машину. Если машина выдает значение с тремя нулями, содержание осталось нетронутыми. Если значение, которое появляется справа, не соответствуют нашим требованиям, данные страницы можно считать скомпрометированными, так как ее содержание было изменено.

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

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

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

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

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

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

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

Но что происходит, если кто-то, например, участник #7, не подтверждает, что данный номер ведет к необходимому выходному результату? Такие случаи не редкость. Возможными причинами могут быть:

• Участник неправильно расслышал транзакцию, объявленную в сети

• Участник неправильно зафиксировал транзакцию, объявленную в сети

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

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

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

Почему участники тратят ресурсы на довольно-таки сложный расчет, когда они осведомлены, что кто-то другой будет также рассчитывать данный номер и, впоследствии, сообщит им? Почему бы не сидеть сложа руки и не ждать анонса?

Здесь вступает в силу система вознаграждений. Каждый участник блокчейна имеет право на вознаграждение. Вознаграждение используется для расчета номера печати; участник получает деньги за свою работу (т. е. затраченные мощности процессора и электричество).

Просто представьте: если участник #5 вычисляет номер печати для страницы, он получает в награду деньги, скажем, $1. Другими словами, сальдо счета участника #5 увеличивается на $1 без снижения баланса счета кого-либо другого.

Вот как биткоин начал свое существование. Это была первая валюта для транзакций в системе блокчейн (т. е. системе распределенного реестра).

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

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

Как только все участники убирают заполненную страницу в свои папки, они начинают ведение транзакций на новой странице, и весь процесс повторяется снова и снова.

[Минутка технослэнга] Каждая страница является Блоком (block), а каждая папка является частью цепи (сhain), отсюда рождается название системы блокчейн (blockchain).

Именно так и устроен блокчейн. Осталось прояснить только одну маленькую деталь.

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

Защищая номера печати от модификаций

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

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

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

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

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

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

Чем длиннее цепь, тем меньше вероятность того, что она создается нечестными игроками.
Самая длинная цепь– самая честная


Но что, если вместо одного шесть участников поведут себя нечестно?

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

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

Вот и все, что нужно знать о блокчейне. Если вы когда-нибудь встретите кого-то, кто до сих пор задается вопросом: “Что за зверь такой — блокчейн?” — вы знаете, куда их отправить.

источник

promo biboroda november 30, 2014 22:14 4141
Buy for 30 tokens
Оригинал взят у biboroda в Френдмарафон - новичков, но и старички - не стесняйтесь.( CAPTCHA) Уважаемые, сделал дубликат хорошего старого поста, там очень не удобно писать, постоянно надо вводить CAPTCHA, её поставил ЖЖ так как там очень много комментов, я её отключить не могу,…

  • 1

Какой менеджер? Какой реестр? Три кнопки самостоятельно в мобильном приложении, и никакие доверенные посредники на фиг не вперлись. А своему банку ты доверяешь по умолчанию, иначе бы ты туда бабки не отнес.


Так он о том же и написал...

Было обещано простое объяснение, а получилось 10 страниц. Может и не так все просто?

Причём, умные термины, которые обещал не использовать аффтар, по ходу повествования все-таки появились и сразу стало ясно, что ни о какой простоте и речи не идёт.

вот нахуя я это взялся читать ? я же сука читать даже не умею ! )))

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

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

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

От сложности его добычи, от количества участников, от ограниченности конечного ресурса.

"Блокчейн построен на предположении, что большинство людей предпочтут вести себя честно" (с)
Что мне напоминает...
В финансовой пирамиде то же предположение о "честности", т.е. первый вкладчик (учредитель) вносит деньги во вклад, следующие вкладчики своим вкладом оплачивает проценты первому, четвертый-шестой своими вкладами второму, седьмой-четырнадцатый третьему и т.д. Но вклад никто изъять не должен, ибо вся цепочка рухнет.
Также не понятно слепое доверие куче незнакомых людей, а не совершаемым самостоятельно (онлайн) операциям в банке. При том, что банковское учреждение широко известно, вклад застрахован, имеются какие-то гарантии "честности".

именно "какие-то" гарантии. Мало у нас банков улетели в небеса вместе со вкладами? Знаете сколько физикам и юрикам по страховке положены?

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

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

Поговорка "Знал бы прикуп - жил бы в Сочи" трансформируется в "Знал бы хеши - жил бы в Сочи".

И это есть понятное объяснение что такое блокчейн?
Держите нормальное.

Коля решил вести дневник. Для этого он завел тетрадку, и начал писать там строчки вроде.
1. Купил хлеба.
2. Позвонил Геннадию.
...
132. Дал Васе в долг 100 рублей
133. Трахал Люду
134. Поел

...
Он очень старался вести дневник честно, и если у него с кем–то возникал спор о чем–то, что произошло раньше, он доставал его и тыкал всем носом в свои записи. Однажды Коля сильно поспорил с Васей на тему того, давал ли он Васе в долг 100 рублей или нет. В момент спора у Коли не было с собой дневника, но он обещал завтра же принести и всё показать Васе.
Вася решил не искушать судьбу, пробрался к Коле в дом, нашел дневник, долистал до строчки 132, и заменил её на "Трахал Олю". На следующий день Коля достал дневник, долго искал в нём запись про долг Васе, не нашёл, и пришел извиняться.
Прошел год, Васю замучала совесть, и он признался во всём Коле. Коля простил друга, но решил, на будущее, использовать какую–нибудь более надёжную систему записи, которую нельзя было бы так просто подделывать.
Придумал он следующее. У себя в операционной системе Линупс он нашел программу md5sum, которая брала любой текст и превращала его в хеш — 32 непонятные цифры. Как именно она это делала, Коля не понимал, но в целом казалось, что она выдавала полную белиберду. Например, если в программу ввести слово "привет", она в ответ выдаёт "8b4609d7e974702ff1451220c7ededcf". А если ввести, казалось бы, почти то же самое, но с лишним пробелом, то уже "69ab827825fdb876e709abd3d783dbb6".
Почесав тыковку, Коля придумал способ усложнить будущим Васям замену записей следующим образом: После каждой записи он вставлял хеш, который получался если скормить программе текст записи и прошлый хеш. Новый дневник получался таким:
0000 (начальный хеш, ограничимся для простоты четырьмя знаками)
1. Купил хлеба.
4178 (хеш от 0000 и "Купил хлеба")
2. Позвонил Геннадию.
4234 (хеш от 4178 и "Позвонил Геннадию")
...
4492
132. Дал Васе в долг 100 рублей
1010
133. Трахал Люду
8204 (хеш от 1010 и "Трахал Люду")
...
Если теперь какой–нибудь Вася захочет изменить строчку 132, изменится и хеш этой строчки (он будет не 1010 а чем–то другим). Это, в свою очередь, повлияет на хеш строчки 133. Трахал Люду (он будет не 8204, а чем–то другим), и так далее до конца дневника. По сути ради одной записи Васе придется подменить весь дневник после неё, что сложно.
Прошло время, Коля открыл банк. Он всё так же писал в дневничок записи "дал в долг" и "взял в кредит", снабжая их хешами. Банк разросся и однажды он дал в долг (уже новому) Васе миллион. Следующей ночью десят нанятых Васей за полмиллиона таджиков пробрались в комнату Коле, заменили запись "143313. Дал в долг Новому Васе 1000000" на "143313. Дал в долг Новому Васе 10", и по–быстрому пересчитали все хеши вплоть до конца дневника.
Чудом Коля обнаружил подмену и, раз такое дело, решил усложнить способ подделки дневника. Теперь, решил Коля, я буду в конце каждой записи в скобочках добавлять какое–нибудь число ("нонс"), и буду подбирать его так, чтобы каждый хеш заканчивался на два нуля. Единственный способ это сделать — тупо перебирать числа, пока не получится нужный хеш:
0000 (начальный хеш, ограничимся для простоты четырьмя знаками)
1. Купил хлеба (22)
4100 (хеш от 0000 и "Купил хлеба (22)", 22 было подобрано чтобы хеш кончался на 00)
2. Позвонил Геннадию (14)
3100 (хеш от 4100 и "Позвонил Геннадию (14)")
...
1300
132. Дал Васе в долг 100 рублей (67)
9900
133. Трахал Люду (81)
8200 (хеш от 9900 и "Трахал Люду (81)")
...
продолжение ниже


...
Для создания каждой записи Коле теперь в среднем нужно будет перебрать порядка 50 чисел, что трудозатратно. Соответственно, если запись кто–то подменит, подделка её и всех последующих будет тоже в 50 раз сложнее, а это значит что теперь Васе даже с таджиками не справиться.
Через какое–то время Коля взял себе партнёра и они стали оба вести дневничок, причем для каждой новой записи оба одновременно начинали подбирать нонс и тот, кому первому удавалось найти подходящий, вносил запись. Так как вдвоём подбирать нонсы быстрее, Коля усложнил задачу и требовал, чтобы все хеши кончались на три нуля.
Этот окончательный Колин дневничок и есть по сути Блокчейн, только Колю с другом надо заменить на кучу соединённых по сети компьютеров, и вычисления хешей усложнить, чтобы даже компьютерам было тяжко. То есть, блокчейн — это не более чем дневничок записей, который можно записывать совместно, и в котором де–факто невозможно подделать старые записи.
Имея такой клёвый дневничок, можно строить разные интересные системы. Например, Биткоин. Биткоин — это дневничок, где каждая запись выглядит в виде "Передать столько–то денег с кошелька Х на кошелек У". Так как дневничок нельзя подделать и в нём хранится вся история переводов, в любой момент из него можно вычислить количество денег на каждом "кошельке". Ну а чтобы в системе вообще были какие–то деньги, Биткоин сделан так, что каждая запись в дневничке заканчивается словами "произвести Z монет и перевести мне", где "мне" — это тот пользователь, кто первым "угадает" нонс, который обеспечит хеш с нужным количеством нулей в конце.
Поверх дневничка с некоторым количеством криптографии можно строить ещё некоторое количество интересных систем. Например, можно делать записи в духе "Кто решит уравнение f(x) = 14, тот получает 10 монеток". Соответственно, первая запись в дневничке, где будет предоставлено решение может автоматически считаться получателем монеток. Вокруг этой и схожих идей строятся т.н. "контракты".
Но тем не менее стоит помнить, то блокчейн — это не более чем надёжный распределённый дневничок. Никаких мировых проблем, помимо тех, которые можно решить дневничком, блокчейн нам не решит.



Edited at 2017-11-01 01:32 pm (UTC)

Все просто ...на одном дыхании.


Жалко Никиту


ну все понятно... ответьте только на вопрос.
вот в начале >>> Все проверяют, достаточен ли остаток на счету участника #2, чтобы перевести $10 на счет участника#9.
это как?
ну ладно, в упрощенной моледи не предусмотрели что надо было бы сначала ввести деньги в биткоин. Но что это вообще? я покупаю биткоин, живые деньги я куда перевожу? что это вообще?

дальше: >>> Просто представьте: если участник #5 вычисляет номер печати для страницы, он получает в награду деньги, скажем, $1.
хорошо, я понимаю что была проделана работа, потрачены мощности, электричество... Но блин, откуда взялся этот доллар?
т.е. взять обычное производство, ты сделал что-то, потратил на это, прибыль, продал дороже + прибыль. с услугами также, ты получил деньги от других людей. т.е. человек получил что-то, потратил на это деньги.

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

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

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

если участник #5 вычисляет номер печати для страницы, он получает в награду деньги, скажем, $1. Другими словами, сальдо счета участника #5 увеличивается на $1 без снижения баланса счета кого-либо другого.
Вот здесь и вопрос - а откуда берётся этот один доллар?

  • 1