Технология, которая убьет централизациюИменно эту проблему решает биткойн: публичная база данных, которую все могут просматривать и дописывать, но никто не может уничтожить.
Почему стоит верить биткойну, или точнее, технологии, которая стоит за биткойном? Потому, что она предполагает, что все мошенники, но в тоже время заставляет всех играть по правилам. Для того, чтобы понять как это происходит, вам необходимо понять, чем на самом деле является биткойн.
Когда люди говорят о технологии биткойна, они на самом деле говорят о двух вещах. Во-первых, это универсальная база данных, которая записывает транзакции и линейно растет по сегментам, которые называют блоками, формируя “блокчейн” (с англ. – “цепь блоков”). Во-вторых, это сеть пиров, которые являются добытчиками биткойна, чьи компьютеры в действительности добавляют блоки к блокчейну.
Давайте сначала рассмотрим блокчейн. Если у вас есть биткойны, это означает, что у вас есть запись блокчейна, которая содержит нумерическое значение, и половина цифровой подписи. Цифровая подпись представляет собой что-то вроде криптографического пазла, который можете сложить только вы, потому что только у вас есть соответственная половина. Это ваш “личный ключ”, и если у вас есть биткойновый кошелек, тогда это то, что в нем находится.
Когда вы хотите потратить ваши биткойны, вы делаете запрос о добавлении новой записи в блокчейн. Новая запись относится к биткойнам, которые вы хотите потратить. Это означает, что они указывают на предыдущую транзакцию, в которой вы получили эти монеты. Это доказывает, что они у вас есть, потому как ваша половина цифровой подписи “складывет” цифровой пазл, и это добавляет новую цифровую подпись к этим биткойнам, которая может быть теперь “сложена” только новым владельцем биткойнов. Если биткойны хочет потратить уже новый владелец, процесс повторяется.
Таким образом, блокчейн представляет собой длинную последовательность транзакций, каждая из которых связана с уже существующей в сети. Но пользователи биткойна делают эти обновления блокчейна не напрямую. Для того, чтобы передать биткойны кому-то другому, вам необходимо создать запрос и передать его по пиринговой сети биткойна. После этого в игру вступают добытчики. Они подхватывают запросы и делают несколько проверок, чтобы убедиться, что подпись верна, и что в наличии достаточно биткойнов для осуществления транзакции. Затем они “вшивают” новые записи в блок и добавляют его в конец блокчейна.
Все добытчики биткойнов работают независимо и на своих версиях блокчейна. Когда они заканчивают новый блок, они передают его в общую цепь. Там происходит его проверка остальными участниками, принятие и добавление в конец цепи. После этого работа продолжается уже с этого места, то есть, после нового последнего блока.
Такая система будет работать только в случае, если добытчики согласовали, какой должна быть самая последняя версия блокчейна. Короче говоря, они должны договориться насчет последней версии. Но исходя из факта, что они все не знают друг друга, получается, что у них нет оснований доверять работе друг друга. Что же удерживает добытчика от махинаций с предыдущими записями блокчейна и отмены платежей?
Стратегию, которую изобрел Сатоши Накамото для достижения консенсуса в своей системе, многие считают прорывом в сфере распределенных вычислений.
“Алгоритмы консенсуса начали применять еще с восьмидесятых, механизм был таков: вы приходите к консенсусу, который обеспечивает журнал событий на многих машинах. В таком журнале присутствуют все машины, которые входят в сеть”, – так этот алгоритм описывает Пол Сноу, основатель Factom – сервиса, который агрегирует данные и переносит их в блокчейн биткойна.
Биткойн заменяет эту схему математической достоверностью. Предоставление криптографического доказательства, необходимого для подтверждения транзакции, уже гарантирует нам уверенность, что только люди, у которых есть биткойны, могут их потратить. Но и добытчик биткойна также может быть уверен, что другие добытчики не изменяют предыдущие записи блокчейна, поскольку Биткойн необратим.
Стена из сотен тысяч виртуальных кирпичейЭто происходит по причине того, что процесс добавления нового блока очень сложен. Все, кто принимают в этом участие, должны задействовать огромные вычислительные мощности (и следовательно, электричество) для пропуска новых данных через набор вычислений, так называемых хеш функций. Только после того, как эта работа сделана, блок может быть прикреплен в сеть так, чтобы соответствовать требованиям других добытчиков в сети.
“Это происходит так, будто вы строите гигантскую стену,” – объясняет Питер Кирби, президент Factom, – “и каждый раз, когда вы хотите согласовать какой-либо элемент, вы надстраиваете над ним тысячу кирпичей. Согласуете еще какой-то – надстраиваете и на него тысячу. Такой процесс делает невероятно трудным для кого-либо изменить кирпич, который находится у основания стены.”
Вы не верите этим словам? Тогда давайте попробуем атаковать эту систему.
Допустим, есть запись в блокчейне биткойна, которую я хочу изменить, и допустим, она находится в 100-м блоке цепи. В тоже время, все сообщество добытчиков уже пытается вычислить 110-й блок. Для того, чтобы мои изменения были приняты сетью, мне придется подсунуть свою собственную альтернативную версию всего блокчейна. Мне придется вернуться к 100-му блоку, внести желаемые мною изменения в запись и совершить необходимые вычисления для этих изменений. Поскольку все последующие хеши зависят от данных, которые я изменил, мне придется также повторить эту вычислительную работу для каждого блока, и так до блока 110.
И мне придется это сделать прежде, чем любой из добытчиков в мире закончит 110-й блок. Остальные добытчики начнут работать над моей альтернативной версией цепи только в том случае, если я им предоставлю цепь, которая будет дольше той, над которой они работают в данный момент. Но я являюсь единственным добытчиком, который работает над этой цепью, и противопоставляю свою вычислительную мощность против вычислительной мощи всей остальной мировой сети. Потому я никогда не догоню остальных. Для того, чтобы удачно провернуть такую аферу, мне придется контролировать больше половины всей вычислительной мощности, которая вовлечена в сеть биткойна в любой момент времени.
А это – ничего себе сеть! Постоянно пытаясь перегнать друг дружку, добытчики изобретают машины, “нафаршированные” специфическими, заточенными под приложения схемами (или ASIC – с англ. «интегральная схема специального назначения»), специально разработанные для вычисления хешей биткойна. Уровень вычислительной мощности хешей всех компьютеров, включенных в сеть биткойна, удвоилась в период с августа 2014 по март 2015. И она продолжает расти. Некоторые из этих добывающих установок – невероятно громадные чудища, потребляющие 500 киловатт, для обслуживания которых требуются недавно изобретенные жидкости.
И по этой причине блокчейн Накамото становится тем безопаснее, чем больше людей задействовано в сети. Но зачем они это делают? В случае с биткойном – потому, что им за это платят. Каждый раз, когда вычисляется новый блок, создается чистая транзакция с горсткой новоиспеченных биткойнов, подписанных на имя первого добытчика, завершившего работу.
http://bitnovosti.com/2015/08/29/budushee-interneta-1/