If you're seeing this message, it means we're having trouble loading external resources on our website.

Если вы используете веб-фильтр, пожалуйста, убедитесь, что домены *.kastatic.org и *.kasandbox.org разблокированы.

Основное содержание
Текущее время:0:00Общая продолжительность:11:32

Транскрипция к видео

По сути, биткоин — это просто цепочка электронных подписей, отображающая путь денег в платежной системе. По-моему, удобнее всего думать о биткоинах, как о записях в гроссбухе, а не как о настоящих монетах, потому что в гроссбухе регистрируется движение денежных средств. Точно также работает система Биткоин. Тогда как у настоящих монет нет памяти о предыдущих сделках. Не существует истории их перемещения и участия в сделках. В системе Биткоин, транзакция — это своего рода декларация, заверенная электронной подписью, о том, что одна сторона хочет перевести некую сумму в биткоинах другой стороне или сторонам. При этом биткоины, которые переводит первая сторона, ранее были переведены на ее счет, эти транзакции были зарегистрированы, подтверждены, то есть, вы согласились, что первая сторона переводит биткоины, ранее полученные ею в предыдущих транзакциях. Я понимаю, что это немного запутанно, так что, для лучшего понимания, давайте приведем пример того, как происходит транзакция в платежной системе биткоин. Допустим, первая сторона — назовем ее Элис, это имя часто используется в криптографических алгоритмах. Допустим, она хочет перевести энное количество биткоинов Бобу. Скажем, она хочет перевести на счет Боба 50 биткоинов. Я уже упоминал, что все операции в системе Биткоин проходят не под реальным именем, а под различными псевдонимами. И этот псевдоним связан в системе с открытым ключом, нужным для участия в сделках с использованием электронной подписи. В нашем случае, кто-то под именем Элис по сути в системе представлен ключом — назовем его ОK с индексом Э или открытый ключ Элис. Что касается Боба, его открытый ключ обозначим как ОK с индексом Б. Итак, эти ключи используются для подтверждения сделок при помощи электронно-цифровой подписи. Они находятся в открытом доступе. Боба и Элис можно идентифицировать в платежной системе по этим ключам. То есть, эти две личности, по сути, представляют собой набор чисел для верификации электронной подписи. Кроме того, каждый из тех, у кого имеется открытый ключ, имеет и соответствующий закрытый ключ. Этот личный закрытый ключ нужен для создания подписи. Назовем его закрытый ключ Элис. У Боба, разумеется, тоже есть закрытый ключ. ЗK с индексом Б. Это их личные секретные ключи. Скажем, Элис ранее получила биткоины от трех других людей. Допустим, она получила 25 биткоинов от Кэрол. Запишем как ОK с индексом К, чтобы привязать Кэрол к ключу. Затем она получила 20 биткоинов от Дэвида. И еще 20 биткоинов от Теда. Это сделки с участием разных лиц, благодаря которым, Элис ранее получила биткоины. Теперь, как вы видите, у нее 65 биткоинов. 20 + 20 + 25, и, следовательно, этого количества достаточно, чтобы перевести Бобу 50 биткоинов. В транзакции от Элис к Бобу будет содержаться информация обо всех этих предыдущих транзакциях. При каждой транзакции Элис получила какое-то количество биткоинов. Все это регистрируется в системе, как и любая другая транзакция. Теперь, при очередной регистрации будет отображаться информация о всех предыдущих транзакциях с участием этих биткоинов. Это своего рода привязка биткоинов, история переводов, частью которых они являются. При этом не требуется отображать детальную информацию о каждой из транзакций в записи новой, Бобу. Вместо этого, применяется криптографическая хэш-функция. И Элис получает дайджест каждой транзакции. От транзакции Кэрол, дайджест от транзакции Дэвида и дайджест от транзакции Теда. Затем Элис включает каждый дайджест в запись новой транзакции. Это нужно для того, чтобы кто угодно мог проверить принадлежность этих биткоинов. То есть, можно увидеть все записи о транзакциях, они в открытом доступе. Затем применяются криптографические хэш-функции. Это позволит убедиться, что дайждесты действительно представляют собой преобразованную запись о данных транзакциях. То есть, вы получаете гарантию, при помощи криптографических методов, что Элис действительно является получателем, которому эти три человека перевели деньги. В общем, у нас есть вся история сделок и мы можем удостовериться, что биткоины принадлежат Элис. Благодаря применению хэш-функций исключается вероятность мошенничества. То есть, при транзакции отображаются данные, давайте я их выделю, о предыдущих транзакциях. Так что при транзакции мы можем убедиться в том, что Элис владеет этими биткоинами. Данных достаточно для того, чтобы каждый мог это проверить. Это как бы входные данные по транзакции. Помимо входных данных, имеются еще выходные. Они будут в этой колонке. Входные данные — это информация обо всех получателях биткоинов Элис. Поскольку Элис хочет перевести биткоины Бобу, она должна как-то обозначить его в системе. Как я уже говорил, в системе Боб представлен ключом. То есть, она укажет ОK с индексом Б. Затем нужно указать сумму, которую она переведет Бобу. Мы решили, что это 50 биткоинов. Итак, Элис указывает 50 биткоинов. На самом деле, там будет указана другая сумма, но для примера оставим 50. Теперь, чтобы получить сдачу, поскольку всего у нее 65 биткоинов, и она переводит Бобу только 50, она должна указать, что 14 биткоинов возвращаются обратно к ней в виде сдачи. То есть, 14 биткоинов она переводит на свое имя. Теперь Элис должна все данные по транзакции, входные и выходные, заверить своей электронной подписью при помощи своего личного закрытого ключа. Таким образом, при помощи своей электронно-цифровой подписи, Элис как бы привязывает себя, свои данные, к данным по транзакции. Это нужно для того, чтобы каждый, при помощи ключа Элис, который лежит в открытом доступе, мог подтвердить, что только Элис могла создать транзакцию или запись в базе данных. По идее, только подпись Элис соответствует ее открытому ключу, так как теоретически только у нее должен быть личный, закрытый ключ. Затем данные по транзакции отправляются в сеть, другим узлам системы Биткоин. Теперь каждый участник системы знает, что Элис хочет перевести 50 биткоинов Бобу. Наверно, вы заметили некое несовпадение. Сначала у Элис было 65 биткоинов, но на выходе осталось 50 плюс 14 — итого 64 биткоина. Возникает вопрос, что произошло с оставшимся биткоином? То есть, один биткоин как бы выпадает из отчетности. Что же с ним происходит? Он уходит на комиссионный сбор. Это плата за обработку данных по транзакции. Она поступает так называемым майнерам. О майнерах я уже упоминал. Они необходимы для существования системы. В сущности, это узел сети, который занимается подтверждением транзакций. Зачем нужно подтверждение транзакций? Мы уже применили хэширование и электронную подпись, чтобы подтвердить, что Элис являлась владельцем этой суммы. Затем она не только объявила о своем намерении перевести часть суммы Бобу, но и заверила заявление подписью. И теперь ее открытый ключ, то есть, данные о ней, привязаны к данным об этой транзакции в системе Биткоин. Но Боб не может знать наверняка, не решила ли Элис подписать или перевести те же самые биткоины кому-то еще. Может быть, есть третья сторона. Допустим, у Элис есть подруга Ева. И Элис могла бы перевести эту сумму не только Бобу, но также попытаться послать те же биткоины Еве. В этот момент у Боба нет гарантии, что Элис не попытается провернуть подобную махинацию. Сложность в том, что хотя все данные по транзакциям находятся в открытом доступе — это одно из условий системы — но нужен механизм, причем децентрализованный, то есть не требующий наличия третьего лица-арбитра, которому доверяют все. Нужна распределённая система подтверждения времени проведения транзакций, которая позволит избежать вероятности двойного использования. Еще есть такая вещь как метки времени и здесь майнеры играют важнейшую роль в системе Биткоин. Но об этом мы поговорим в следующих видео. Subtitles by the Amara.org community