Как работает Блокчейн (Blockchain)?

7468

Как работает Блокчейн (Blockchain) простыми словами

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

  1. Мы можем доверять друг другу. Дождливый или солнечный, проигравший даст 50 долларов победителю. Если мы друзья, это может быть хорошим способом управления им. Однако, друзья или незнакомцы, можно легко не платить другому.
  2. Мы можем превратить ставку в контракт. С заключением контракта обе стороны будут более склонны платить. Однако, если любой из них решит не платить, победителю придется заплатить дополнительные деньги, чтобы покрыть судебные издержки, и судебное дело может занять много времени. Специально для небольшой суммы денег это не похоже на оптимальный способ управления транзакцией.
  3. Мы можем привлечь нейтральную третью сторону. Каждый из нас дает $ 50 третьему лицу, которое даст общую сумму победителю. Но, эй, она тоже могла убежать со всеми нашими деньгами. Таким образом, мы получаем один из первых двух вариантов: доверие или контракт.

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

Blockchain позволяет нам написать несколько строк кода, программу, запущенную на блочной цепочке, на которую мы отправляем $ 50. Эта программа будет поддерживать безопасность в 100 долларов и автоматически проверять завтрашнюю погоду на нескольких источниках данных. Солнечный или дождливый, он автоматически передаст всю сумму победителю. Каждая сторона может проверить контрактную логику, и после того, как она запущена на блочной цепочке, ее нельзя изменить или остановить. Это может быть слишком много усилий для ставки в размере 50 долларов, но представьте себе продажу дома или компании.

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

 

«Биткойн дает нам в первый раз возможность для одного пользователя Интернета перенести уникальную часть цифрового имущества другому пользователю Интернета, чтобы гарантировать, что передача будет безопасной и безопасной, всем известно, что передача состоялась, и никто не может оспорить легитимность передачи. Последствия этого прорыва трудно переоценить ».
— Марк Андрессен

Один биткойн — это единая единица цифровой валюты биткойн (BTС). Подобно доллару, биткойн не имеет ценности сам по себе; он имеет ценность только потому, что мы соглашаемся торговать товарами и услугами, чтобы привлечь больше валюты под нашим контролем, и мы полагаем, что другие будут делать то же самое.

Чтобы отслеживать количество биткойнов, которыми владеет каждый из нас, блокчлен использует регистр, цифровой файл, который отслеживает все транзакции биткойнов, как работает Блокчейн Blockchain.

Как работает Блокчейн Blockchain

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

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

Как работает Блокчейн Blockchain

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

  • В нашей банковской системе мы знаем только собственные транзакции и остатки на счетах; на Блокчейне каждый может видеть транзакции всех остальных.
  • Хотя вы можете в целом доверять своему банку, сеть Биткойнов распределяется, и если что-то пойдет не так, нет никакой справочной службы для звонка или кого-либо, кто подаст в суд.
  • Система blockchain разработана таким образом, что не требуется никакого доверия; безопасность и надежность получаются с помощью специальных математических функций и кода.

 

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

Отслеживание баланса кошелька

Каждый узел в блочной цепочке хранит копию книги. Итак, как узел знает баланс вашего аккаунта? Система blockchain вообще не отслеживает остатки на счетах; он регистрирует только каждую транзакцию, которая проверена и одобрена. В действительности книга не отслеживает остатки, она отслеживает только каждую транзакцию, транслируемую в сети Биткойнов. Чтобы определить баланс вашего кошелька, вам необходимо проанализировать и проверить все транзакции, которые когда-либо происходили во всей сети, подключенной к вашему кошельку.

Эта проверка баланса выполняется на основе ссылок на предыдущие транзакции. Чтобы отправить 10 Биткойнов Джону, Мэри должна сгенерировать запрос транзакции, который включает ссылки на предыдущие входящие транзакции, которые содержат не менее 10 Биткойнов. Эти ссылки называются «входы». Узлы в сети проверяют количество и гарантируют, что эти входы еще не были потрачены. Фактически, каждый раз, когда вы ссылаетесь на входы в транзакции, они считаются недействительными для любой будущей транзакции. Все это выполняется автоматически в кошельке Мэри и дважды проверяется узлами сети Биткойнов; она отправляет 10 кодов БТС в кошелек Джона, используя свой открытый ключ.

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

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

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

Но действительно ли это безопасно? И почему это называется Blockchain?

Любой пользователь может получить доступ к сети биткойнов через анонимное соединение (например, сеть TOR или сеть VPN), а также отправлять или получать транзакции, не раскрывая ничего, кроме его открытого ключа. Однако, если кто-то использует один и тот же открытый ключ снова и снова, можно связать все транзакции с одним и тем же владельцем. Сеть биткойнов позволяет вам генерировать столько кошельков, сколько вам нравится, каждый со своими частными и открытыми ключами. Это позволяет вам получать платежи на разных кошельках, и никто не знает, что вы владеете всеми этими секретными ключами кошельков, если только вы не отправите все полученные биткойны в один кошелек.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добыча Биткойнов (Mining Bitcoins)

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

 

 

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

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

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

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

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

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

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

Преимущества и проблемы Blockchain

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

Использование технологии blockchain имеет замечательные преимущества:

  • Вы полностью контролируете ценность, которой владеете; нет третьей стороны, которая держит вашу ценность или может ограничить ваш доступ к ней.
  • Стоимость выполнения транзакции стоимости из и в любую точку планеты очень низка. Это позволяет использовать микроплатежи.
  • Стоимость может быть переведена через несколько минут, и транзакция может считаться безопасной через несколько часов, а не дней или недель.
  • Любой человек в любое время может проверить каждую транзакцию, сделанную на блочной цепочке, что приведет к полной прозрачности.
  • Можно использовать технологию blockchain для создания децентрализованных приложений, которые могли бы быстро и безопасно управлять информацией и передавать стоимость.

Однако есть несколько проблем, которые необходимо решить:

  • Сделки можно отправлять и получать анонимно. Это сохраняет конфиденциальность пользователей, но также позволяет осуществлять незаконную деятельность в сети.
  • Несмотря на то, что появилось много обменных платформ, а цифровые валюты набирают популярность, по-прежнему непросто торговать биткойнами за товары и услуги.
  • Биткойн, как и многие другие криптоконверсии, очень изменчив: на рынке мало доступных биткойнов, и спрос быстро меняется.
  • Цена биткойнов неустойчива, изменяясь в зависимости от крупных событий или анонсов в индустрии криптотермин.
  • Как работает Блокчейн (Blockchain)? Надежность?

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

Новые случаи использования возникают постоянно — как возможность создания полностью децентрализованной платформы, которая управляет интеллектуальными контрактами, такими как Ethereum. Как работает Блокчейн (Blockchain)? Но важно помнить, что технология все еще находится в зачаточном состоянии. Каждый день разрабатываются новые инструменты для улучшения безопасности цепочки, предлагая более широкий спектр функций, инструментов и услуг.

 

Возможно вам будет интересно:

 — Шпаргалка по Jest с примерами кода.

 — Шпаргалка по Redux с примерами кода (stylesheet).

 

источник