Математические основы биткойн-блокчейна / Блог компании Bitfury Group / Хабр
Сегодня биткойн продолжает набирать популярность, а индустрия разрабатывать все новые приложения для работы с криптовалютой. Одной из причин такой популярности является строгая математическая база, на которой строится биткойн.
Благодаря этому система функционирует в условиях полного отсутствия доверия между участниками сети, исключая воздействие человеческого фактора.
Поэтому в сегодняшней статье мы бы хотели поговорить о математических основах биткойн-блокчейна — эллиптических кривых, ECDSA и ключах.
/ Изображение Hernán Piñera CC BY
Фундаментальной частью биткойна являются криптографические алгоритмы. В частности, алгоритм ECDSA — Elliptic Curve Digital Signature Algorithm, который использует эллиптические кривые (elliptic curve) и конечные поля (finite field) для подписи данных, чтобы третья сторона могла подтвердить аутентичность подписи, исключив возможность её подделки. В ECDSA для подписи и верификации используются разные процедуры, состоящие из нескольких арифметических операций.
Эллиптические кривые
Эллиптическая кривая над полем K — это кубическая кривая над алгебраическим замыканием поля K, задаваемая уравнением третьей степени с коэффициентами из поля K и «точкой на бесконечности». Одной из форм эллиптических кривых являются кривые Вейерштрасса.
y² = x³ + ax + b
Для коэффициентов a = 0 и b = 7 (используемых в биткойне), график функции принимает следующий вид:
Эллиптическая кривая
Эллиптические кривые имеют несколько интересных свойств, например, невертикальная линия, пересекающая две некасательные точки на кривой, пересечет третью точку на кривой. Суммой двух точек на кривой P + Q называется точка R, которая является отражением точки -R (построенной путем продолжения прямой (P; Q) до пересечения с кривой) относительно оси X.
Сумма двух точек на кривой (источник)
Если же провести прямую через две точки, имеющие координаты вида P (a, b) и Q (a, -b), то она будет параллельна оси ординат.
Если мы хотим сложить точку саму с собой (удвоить её), то в этом случае просто проводится касательная к точке Q. Полученная точка пересечения отражается симметрично относительно оси X.
Удвоение точки (источник)
Эти операции позволяют провести скалярное умножение точки R = k*P, складывая точку P саму с собой k раз. Однако отметим, что для работы с большими числами используются более быстрые методы.
Эллиптическая кривая над конечным полем
В эллиптической криптографии (ECC) используется такая же кривая, только рассматриваемая над некоторым конечным полем. Конечное поле в контексте ECC можно представить как предопределенный набор положительных чисел, в котором должен оказываться результат каждого вычисления.
y² = x³ + ax + b (mod p)
Например, 9 mod 7 = 2. Здесь мы имеем конечное поле от 0 до 6, и все операции по модулю 7, над каким бы числом они ни осуществлялись, дадут результат, попадающий в этот диапазон.
Все названные выше свойства (сложение, умножение, точка в бесконечности) для такой функции остаются в силе, хотя график этой кривой не будет походить на эллиптическую кривую. Эллиптическая кривая биткойна, y² = x³ + 7, определенная на конечном поле по модулю 67, выглядит следующим образом:
Эллиптическая кривая биткойна, определенная на конечном поле по модулю 67 (источник)
Это множество точек, в которых все значения х и у представляют собой целые числа между 0 и 66. Прямые линии, нарисованные на этом графике, теперь будут как бы «оборачиваться» вокруг поля, как только достигнут барьера 67, и продолжатся с другого его конца, сохраняя прежний наклон, но со сдвигом. Например, сложение точек (2, 22) и (6, 25) в этом конкретном случае выглядит так:
Сложение точек (2, 22) и (6, 25) (источник)
Если хотите посмотреть, как выглядят другие эллиптические кривые, то поэкспериментировать можно на этом сайте.
ECDSA в биткойне
В протоколе биткойна зафиксирован набор параметров для эллиптической кривой и её конечного поля, чтобы каждый пользователь использовал строго определенный набор уравнений. Среди зафиксированных параметров выделяют уравнение кривой (equation), значение модуля поля (prime modulo), базовую точку на кривой (base point) и порядок базовой точки (order). О вычислении порядка базовой точки вы можете почитать
. Этот параметр подбирается специально и является очень большим простым числом.
В случае биткойна используются следующие значения:
Уравнение эллиптической кривой: y² = x³ + 7
Простой модуль: 2256— 232 — 29 — 28 — 27 — 26 — 24 — 1 = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F
Базовая точка:
04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8
Жирным шрифтом выделена координата X в шестнадцатеричной записи. За ней сразу следует координата Y.
Порядок: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
Этот набор параметров для эллиптической кривой известен как secp256k1 и является частью семейства стандартов SEC (Standards for Efficient Cryptography), предлагаемых для использования в криптографии. В биткойне кривая secp256k1 используется совместно с алгоритмом цифровой подписи ECDSA (elliptic curve digital signature algorithm). В ECDSA секретный ключ — это случайное число между единицей и значением порядка. Открытый ключ формируется на основании секретного: последний умножается на значение базовой точки. Уравнение имеет следующий вид:
Открытый ключ = секретный ключ * G
Это показывает, что максимальное количество секретных ключей (следовательно, биткойн-адресов) — конечно, и равняется порядку. Однако порядок является невероятно большим числом, так что случайно или намеренно подобрать секретный ключ другого пользователя нереально.
Вычисление открытого ключа выполняется с помощью тех же операций удвоения и сложения точек. Это тривиальная задача, которую обычный персональный компьютер или смартфон решает за миллисекунды. А вот обратная задача (получение секретного ключа по публичному) — является проблемой дискретного логарифмирования, которая считается вычислительно сложной (хотя строгого доказательства этому факту нет). Лучшие известные алгоритмы ее решения, вроде ро Полларда, имеют экспоненциальную сложность. Для secp256k1, чтобы решить задачу, нужно порядка 2
Когда пара секретный/публичный ключ получена, её можно использовать для подписи данных. Эти данные могут быть любой длины. Обычно первым шагом выполняется хеширование данных с целью получения уникального значения с числом битов, равным битности порядка кривой (256). После хеширования, алгоритм подписи данных z выглядит следующим образом. Здесь, G — базовая точка, n — порядок, а d — секретный ключ.
- Выбирается некоторое целое k в пределах от 1 до n-1
- Рассчитывается точка (х, у) = k * G с использованием скалярного умножения
- Находится r = х mod n. Если r = 0, то возврат к шагу 1
- Находится s = (z + r * d) / k mod n. Если s = 0, то возврат к шагу 1
- Полученная пара (r, s) является нашей подписью
После получения данных и подписи к ним, третья сторона, зная публичный ключ, может их верифицировать. Шаги для проверки подписи такие (Q — открытый ключ):
- Проверка, что и r, и s находятся в диапазоне от 1 до n-1
- Рассчитывается w = s-1 mod n
- Рассчитывается u = z * w mod n
- Рассчитывается v = r * w mod n
- Рассчитывается точка (x, y) = uG + vQ
- Если r = x mod n, то подпись верна, иначе — недействительна
В самом деле,
uG + vQ = u + vdG = (u + vd)G = (zs-1 + rds-1)G = (z + rd) s-1G = kG
Последнее равенство использует определение s на этапе создания подписи.
Безопасность ECDSA связана со сложностью задачи поиска секретного ключа, описанной выше. Помимо этого, безопасность исходной схемы зависит от «случайности» выбора k при создании подписи. Если одно и то же значение k использовать более одного раза, то из подписей можно извлечь секретный ключ, что и произошло с PlayStation 3. Поэтому современные реализации ECDSA, в том числе используемые в большинстве биткойн-кошельков, генерируют k детерминировано на основе секретного ключа и подписываемого сообщения.
P.S. Bitfury Group Russia в Vk и Fb.
Математика против лома, или Биткойн как квантовая канарейка
Мы живём в удивительное время: впервые в истории ценность массово «переезжает» из физических хранилищ в виртуальные — криптовалюту, блокчейн. И это заставляет задуматься, насколько надёжно новое хранилище защищено. Пока речь шла о слитках, монетах, банкнотах, ценных бумагах, сохранность можно было обеспечить чисто физически — возведя стальные стены и поставив возле них вооружённую охрану. Но в криптовалютной реальности всё основано на математике.
В результате, говоря попросту, вор может опустошить чужой криптокошелёк не вставая с дивана — если только удастся отыскать в математике слабину. Хуже того, такие ограбления уже происходят, а прогноз на ближайшее будущее иногда звучит и вовсе катастрофический: вот появятся квантовые компьютеры, тогда вообще всем криптовалютам каюк. Давайте разберёмся, в чём состоит опасность и насколько она в действительности велика.
Прежде всего вспомним, как устроена самая популярная из криптовалют — Bitcoin (а по аналогии с ней и сотни других, отличающихся зачастую лишь значением переменных). Основа основ здесь: число длиной в 256 бит, сгенерировать которое для себя должен каждый пользователь. Это число можно представить как ключ к сейфу, где хранятся личные сбережения: им «подписывают» поручения, заносимые в блокчейн. Вот почему знать его должен только владелец. Его так и называют: приватный ключ.
Чтобы доказать окружающим, что приватный ключ у вас есть, но не раскрывать его, по приватному ключу вычисляют второе число — ключ публичный. Используемая при этом криптографическая функция (ECDSA, «эллиптическое крипто») такова, что «прокрутить» её в обратную сторону, то есть вычислить по публичному ключу приватный, намного труднее.
Наконец, есть ещё и третье число: так называемый «адрес кошелька». Оно нужно, чтобы принимать переводы от других пользователей. В принципе публичный ключ сам может служить адресом и в первые пару лет существования Bitcoin его так и использовали. Но сегодня адрес вычисляют: так удобней (он короче, всего 160 бит) и, как увидите, безопасней. Адрес получают из публичного ключа путём последовательного двукратного вычисления хэша (сперва SHA-256, потом RIPEMD-160).
Пример бумажного «биткойн-кошелька»: приватный ключ справа, адрес слева. Для удобства адреса и ключи обычно преобразуют в буквенно-цифровой код, который и короче, и имеет встроенную защиту от опечатокОтсюда важный вывод. Чтобы увести деньги с произвольного кошелька Bitcoin, достаточно восстановить его приватный ключ. Не требуется вламываться в банк с оружием, рисковать жизнью, «ломать» чужие компьютеры. 160 вариантов. И во-вторых, число биткойн-адресов, использованных хотя бы однажды, каждые сутки прирастает на полмиллиона, а тенденция экспоненциальная.
В результате примерно каждые два месяца LBC находит очередной приватный ключ. И деньги, если только они в данном кошельке имеются и владелец не затребует их обратно, поступают в распоряжение участников этого «невозможного» проекта. А даже если владелец и затребует их обратно, LBC отстаивает право забрать себе 10% возвращаемой суммы — вроде как в качестве вознаграждения за пойманную чужую корову (скажите спасибо, что мы её привели, другие на шашлык пустили бы!).
Каждые сутки пользователи Bitcoin генерируют около полумиллиона новых адресов. В будущем, когда использовать криптовалюту станут не только люди, а и вещи, число это может вырасти на порядки.Но как же так: с одной стороны миллиарды лет, с другой — два месяца?! Тонкость, конечно, в том, что речь идёт не о взломе конкретного кошелька, а о поиске случайных совпадений. Никто в LBC не знает, какой приватный ключ удастся подобрать следующим. Так что за свой персональный биткойн-кошелёк вы можете не переживать, его по-прежнему надёжно охраняет теория вероятностей: если кто-то на него нацелится, на подбор ключа уйдут (вероятно!) миллиарды лет. Однако всё может измениться с появлением квантового компьютера — подбирать с помощью которого приватные ключи станет очень легко, а потому чрезвычайно выгодно.
С квантовыми компьютерами (КК) связана отдельная интересная и свежая история. Дело в том, что официальные успехи строителей КК невелики. Грубо говоря, сегодня построены два типа таких компьютеров. Одни — неполноценные (см. продукцию D-Wave Systems): в них действительно используются некоторые квантовые эффекты, но применять их можно лишь для решения ограниченного круга задач. Для исполнения наиболее полезных квантовых алгоритмов — так называемых алгоритма Шора (разложение на множители) и Гровера (задача перебора) — неполноценные КК не годятся.
А полноценные КК — в которых работают настоящие кубиты и каждый кубит «запутан» со всеми другими — пока не перешагнули 20-кубитового порога. Хуже того, то, например, что удалось построить коммерческий 17-кубитовый квантовый процессор (IBM, 2017) не означает, что с той же технологией удастся построить 18-кубитовый или более. Поэтому настоящие, «классические» квантовые компьютеры пока годны лишь для экспериментов, не имеющих практической ценности — и когда это удастся исправить, никто не знает.
Но чем дольше всё это длится, тем больше сторонников у теории «квантового» заговора. Мол, пока нас тут кормят сказками о невозможности практически полезного КК, за стенами секретных лабораторий мощные настоящие КК уже построены — и с их помощью решены некоторые фундаментальные задачи. Например, взломана современная криптография, так что спецслужбы теперь читают все шифрованные сообщения в интернете.
Верить ли этому — решайте сами. Конспирологам, как всегда, достаточно веры. Но буквально за эту зиму был сформулирован замечательный контраргумент, получивший название «квантовой канарейки»: если полноценный квантовый компьютер, годный для решения практических задач, удастся построить, Bitcoin — словно канарейка, которую рудокопы исстари брали в шахту — первым сообщит нам об этом своим изменившимся поведением. 128 на квантовом.
Несколько теоретических подходов к этой проблеме, выполненных учёными из разных стран (см., в частности, здесь и здесь), позволяют нарисовать следующий сценарий квантовой атаки. Ломать свежие кошельки (то есть подбирать приватные ключи к ним) обладатели КК не станут. В том числе и потому, что это сравнительно сложно. Сегодня не принято раскрывать публичный ключ (правильные Bitcoin-программы, тратя средства с одного адреса, не переводят сдачу обратно, а отправляют её на новый адрес, публичный ключ к которому не опубликован), но в первые два года существования Bitcoin публичный ключ использовался в качестве адреса. Иначе говоря, для адресов, которые тогда засветились, публичные ключи известны — и это сильно снижает требуемый для взлома объём вычислений (см. предыдущий параграф: нужно лишь обратить ECDSA). А хранящиеся там суммы порой гигантские!
Так что владельцы КК смогут и наверняка захотят завладеть содержимым некоторых из тех кошельков. Скажете, кража, скажете, преступление? Но правовой статус самой криптовалюты определён далеко не везде. И не факт, что приватные ключи к тем кошелькам не утеряны. А даже если владельцы и отыщутся, и станут возражать, всегда можно прибегнуть к той же аргументации, что участники LBC. По прикидкам, квантового компьютера с парой тысяч кубит (полноценных, не забывайте), менять состояние которых можно с частотой в сотни мегагерц, будет достаточно для подбора приватных ключей Bitcoin в реальном времени.
К каким последствиям это приведёт, легко представить. Ведь до сих пор (по крайней мере в его новейшей истории) в биткойне не было обнаружено ни одной фундаментальной уязвимости. Поэтому первые же применения квантового компьютера спровоцируют панику. Её поднимут владельцы опустошённых кошельков, либо энтузиасты, которые заметят операции с древними кошельками. И обменный курс нырнёт к нулю: кто же захочет платить за числа, которые так легко подобрать?
Факт, что этого всё ещё не произошло, свидетельствует, что опасный для массовой криптографии квантовый компьютер пока не построен — даже в секретных лабораториях. «Квантовая канарейка» всё ещё жива.
Квантовая канарейка пока жива.К счастью, есть возможность продлить её жизнь и дальше. Нужно лишь перейти на криптоалгоритмы, устойчивые к квантовым вычислениям. Сильно упрощая, для этого достаточно, например, перевести Bitcoin на использование исключительно хэшей. Так называемая подпись Лэмпорта, которую с недавних пор продвигают в Bitcoin, Ethereum и прочих криптовалютах, как раз основана на такой идее. К сожалению, у подписи Лэмпорта (как и, предположительно, у прочих КК-стойких алгоритмов) есть свой недостаток: она очень длинная (килобайты!), что неизбежно раздует размер блоков в блокчейне. Поэтому когда такой переход случится, Bitcoin имеет больше шансов выжить — благодаря уже реализованным средствам компрессии блокчейна и реализуемому (но фактически стартовавшему, см. Lightning Network) второму уровню сети.
Но есть и более оптимистичный сценарий. Дело в том, что квантовый компьютер даст значительный прирост производительности в майнинге (где всё сводится к SHA). И, опираясь на постулат, что майнинг совокупно всегда выгодней грубого взлома, можно предположить, что владельцы первых же КК займутся не сомнительным с точки зрения закона и нравственности подбором приватных ключей, а майнингом. И это тоже будет легко заметить — по рывку на графиках, иллюстрирующих текущую сложность майнинг-операций. Иначе говоря, они обратят квантовый компьютер на благо обществу.
Что в сухом остатке? Опасностей если и ждать, то с другой стороны. Математика криптовалют по-прежнему надёжней вооружённой охраны и стальных стен.
Математика Биткоина: Почему 21 миллион монет? | altstake — новости криптовалют
Все, что касается биткоина, глубоко погружено в математику и определяется как изучение количества, структуры, пространства и изменений. Количество всегда представляло особый интерес для криптоинвесторов и трейдеров — в увеличении количества собственных активов и влиянии количества BTC с жестким ограничением на его долгосрочную стоимость.
Недавно в твиттере был задан вопрос о причинах того, почему создатель первой в мире криптовалюты, Сатоши Накамото, выбрал 21 миллион BTC в качестве общего предложения, а не другое произвольное число. Ответ, как и все, что связано с биткоинами, можно найти в простейшей математике.
Секретная формула
Твердо ограниченная поставка биткоина предоставляет ему уникальные атрибуты. Она создает дефицит, которого нет у бумажных денег, а также также предотвращает инфляцию. Мы все можем понять, почему это важно для ценности биткоина, но все же — почему 21 миллион BTC?
В подробном и наводящем на размышления посте в Твиттере, начатом Сашей Флейшман, трейдером из Arca — компании по управлению активами, занимающейся криптовалютами и блокчейном, — выясняется, почему создатель биткоина выбрал 21 миллион BTC в качестве общего количества, которое когда-либо существовало. Как и большинство вещей, связанных с сатоши, причина всегда оставалась неизвестной.
После долгих обсуждений Флейшман собрала коллективные мысли и, основываясь на простой математической формуле, возможно, обнаружила причину выбора цифры 21 миллион. Теория основана в основном на времени. В качестве переменных использовались часы в день, дни в году, годы в цикле и количество блоков в час.
Кроме того, жестко запрограммированный в биткоин факт, что для добавления каждого нового блока в цепочку блоков требуется примерно десять минут. Флейшман отмечает, что «фактически время меняется на несколько секунд, но в конечном итоге компенсируется при каждой корректировке сложности, происходящей каждые 14 дней». Трейдер отмечает:
Когда вы разбиваете блоки за четыре года на шесть блоков в час, общее количество блоков в каждом цикле делится примерно на 210’000. При следующем халвинге поставки BTC будут сокращены с 12,5 BTC до 6,25 BTC.До этого награда за блок составляла 25 BTC, а до этого — 50 BTC. Сумма всех размеров наград блока составляет 100.
Когда вы умножаете 100 на 210’000 блоков за цикл деления наград майнеров пополам, вы получаете 21 миллион BTC. По крайней мере, это согласно теории Флейшман, что логично.
Хотя все математические расчеты совпадают, это также может быть просто совпадением, и истинный ответ, вероятно, никогда не будет известен, так как истинная личность Сатоши Накамото может никогда не будет раскрыта. Пока этого не произойдет, эта теория является одной из самых убедительных.
Свеча в стакане. Как научиться прогнозировать цену биткоина :: РБК.Крипто
Скачки курсов цифровых денег порой не поддаются никакой логике. Каждый, кто вложил деньги в криптовалюту или планирует это сделать, хочет знать, чего ждать дальше. Есть несколько способов спрогнозировать и иметь хотя бы небольшие шансы на успех
Рынок криптовалют крайне волатильный: ситуация может полностью измениться за несколько часов. Чаще всего спрогнозировать подобные события практически невозможно, однако есть сразу несколько способов, чтобы понимать, к чему готовиться, и как поведет себя стоимость цифровых денег в дальнейшем.
Анализировать графики
Криптовалютный рынок похож на фондовый, у них примерно одинаковые законы и принципы работы: снижение и рост стоимости ценных бумаг, например, отслеживают с помощью графиков. Подобные схемы используют и в блокчейн-отрасли.
Основные показатели — уровни поддержки и сопротивления цены, еще их называют «пол» и «потолок». Это значения, в которые цена упирается и совершает разворот (начинает вновь подниматься или падать).
Определить тренд движения лишь по верхним и нижним показателям удается не всегда, поэтому используются различные индикаторы. Индикатор на бирже — это аналитический помощник трейдера, который делает расчеты на основе математических вычислений, полученных из показателей курса.
Их работу можно сравнить с инстаграм-фильтрами для фотографий: выбираешь нужный фильтр, задаешь параметры — и картинка меняется. С использованием индикатора на графике появляются подсказки, с помощью которых можно спрогнозировать цену токена.
В криптотрейдинге много нюансов, нужно знать и понимать его термины и правила. Эта сфера требует постоянного внимания, развития навыков, ведь с первого раза точно предсказать курс биткоина или альткоинов вряд ли получится. Гарантии, что это получится хотя бы когда-нибудь, тоже нет.
Сравнивать со стоимостью золота и нефти
Криптовалютными экспертами была выявлена закономерность: зачастую с ростом цены на нефть поднимается и стоимость биткоина. Раньше то же самое происходило и с ценой на золото. Однако с ноября прошлого года их курсы движутся в разных направлениях: когда один актив растет, второй падает. Эту взаимосвязь недавно подтвердил аналитик CoinDesk Омкар Годбоул.
Использовать бота
Доверить прогноз цены, поручить покупку и продажу токенов по выгодной стоимости можно специальному боту — это ПО, которое анализирует рынок и самостоятельно продает или покупает криптовалюту. Есть программы, работающие только на одной криптобирже, а есть и такие, которые могут совершать операции сразу на нескольких площадках.
В последнее время большую популярность получили криптовалютные телеграм-боты. Они ежеминутно отслеживают курс, проверяют различные сделки по криптовалютам, высылают уведомления о предстоящем подъеме или падении стоимости цифровых токенов.
Программы, специализирующиеся на выгодных покупках и продажах токенов, запрограммированы на определенную стратегию — ряд параметров, которым они следуют в процессе торговли. Эти условия можно задавать вручную, если владелец разбирается в основах трейдинга, либо — довериться автоматическим настройкам. На большинстве криптобирж торговля с помощью ботов официально разрешена.
Следить за фьючерсными отчетами
Фьючерсы — это контракты на будущую покупку или продажу какого-либо актива по нынешней рыночной цене. Объяснить их принцип работы можно на простом примере: покупатель убежден, что через 3 месяца акции одной известной фирмы резко вырастут в цене. Он заключает с продавцом контракт, в котором прописано, что ровно через 3 месяца акции будут проданы по сегодняшней стоимости. Если удача на стороне покупателя, и цена акций действительно увеличивается, то он оказывается в плюсе. Если на стороне продавца, то тот получает дополнительную прибыль. На крипторынке торгуют фьючерсами на биткоин, однако есть вероятность, что позже появятся контракты и на некоторые альткоины.
Отслеживая количество проданных контрактов, можно спрогнозировать курс биткоина. Если большое число крупных игроков одновременно продают по фьючерсам BTC, есть вероятность, что рынок просядет. Если покупают, то, возможно, курс пойдет вверх. Также операции в больших объемах говорят об общем уровне интереса к первой криптовалюте, который может повлиять на стоимость актива. Немаловажно следить и за временем открытия и закрытия фьючерсных контрактов.
Обратиться к криптоброкеру
Брокер — это человек или организация, которые помогают продавать или приобретать криптовалюту. У опытных специалистов есть обширный набор профессиональных инструментов, позволяющий им анализировать рынок и прогнозировать цену. За работу брокера придется заплатить, но с опытным игроком можно заработать.
Использовать метод биржевого стакана
На стоимость криптовалюты влияет спрос. Если он есть, то цена монеты будет расти. Если с рынка уходит крупная сумма, то цена токена, в которой эту сумму вывели, скорее всего, значительно снизится. В какой именно момент появится крупный игрок на рынке, предугадать невозможно. Однако есть таблица, где перечислены все ордера на покупку и продажу — указания брокеру от трейдера на покупку или продажу цифровых денег, когда возникнут благоприятные условия (характер этих условий записывается в ордере). Некоторые самостоятельные трейдеры, видя крупного игрока, заходят на рынок вместе с ним. Анализируя таблицу с ордерами, можно оценить уровень спроса и предложения, а значит, и спрогнозировать краткосрочную цену. Чаще всего этот метод называют «биржевым стаканом» или «стаканом заявок», иногда используют другие обозначения: «книга приказов» или «глубина рынка».
Сочетание сразу нескольких прогностических методов позволит усилить их достоверность. Стоит помнить, что крипторынок волатилен и порой живет по своим правилам, поэтому в прогнозах ошибаются даже самые опытные трейдеры и успешные аналитики.
Как получить или заработать BTC (биткоины)
Если вы собрались изучить Биткойн, есть пара вещей, которые вам следует знать. Биткойн позволяет вам обменивать деньги иным способом, нежели с обычными банками. Вам нужно выделить время, чтобы разобраться, прежде чем использовать Биткойн для каких-либо серьезных транзакций. К Биткойну следует относиться с таким же вниманием, как и к обычному кошельку, или даже еще более внимательно в некоторых случаях!
Биткоин (bitcoin) — это вид цифровой валюты, которая создается и хранится в электронном виде. Никто не контролирует ее. Биткоины не печатаются, как доллары или евро, они производятся отдельными людьми или сообществами людей с помощью компьютеров и специального программного обеспечения, которое решает математические задачи.
Чем биткоин (bitcoin) отличается от обычной валюты?
Биткоины могут использоваться для совершения покупок в Интернете. В этом смысле они ничем не отличаются от обычных долларов, евро, йен, которые мы тратим или получаем онлайн.
Тем не менее, наиболее важная характеристика биткоина, которая отличает его от обычных денег, состоит в том, что биткоин децентрализован. Ни одно учреждение не контролирует биткоин сеть. И многих людей это устраивает, потому что они не хотят, чтобы крупные банки распоряжались их деньгами.
Кто создал биткоин (bitcoin)?
«Отцом» биткоина является разработчик программного обеспечения по имени Сатоши Накамото (Satoshi Nakamoto). Именно он создал электронную платежную систему, основанную на математических расчетах. Идея состояла в том, чтобы производить независимую валюту, которую можно передавать в электронном виде практически мгновенно и с очень низкой комиссией или вообще без нее.
Кто печатает биткоины (bitcoins)?
Никто. Эта валюта не имеет физического выражения и не печатается в застенках Центрального банка. Сегодня крупные банки выпускают все больше банкнот, пытаясь покрыть государственный долг, но по факту они лишь обесценивают свои валюты.
Биткоин, в свою очередь, создается цифровым способом сообществом людей, к которому может примкнуть каждый. Биткоины майнят, используя вычислительную мощность компьютеров распределенной сети.
Эта сеть также обрабатывает транзакции виртуальной валюты, создавая собственную и очень эффективную платежную биткоин сеть.
Получается, произвести неограниченное число биткоинов (bitcoins) нельзя?
Совершенно верно. Биткоин-протокол (правила, по которым создаются биткоины) гласит, что всего майнерами может быть добыт 21 миллион биткоинов. Тем не менее, биткоин может быть разделен на множество мелких частей. Например, самая маленькая его часть называется Сатоши (в честь основателя) и равняется одной стомилионной биткоина.
Чем обеспечен биткоин (bitcoin)?
Обычные валюты обеспечены золотом или серебром. Теоретически, если бы вы захотели сдать один доллар в банк, то в замен могли бы получить немного золота (хотя это и не работает на практике). Но биткоины не обеспечены золотом. Их основа — математика.
По всему миру люди используют специальные компьютерные программы, которые следуют математической формуле, чтобы производить биткоины. Математическая формула находится в открытом доступе, чтобы каждый мог проверить ее.
Программное обеспечение также является открытым ресурсом. Это значит, что любой человек в любой момент может удостовериться, что программа делает именно то, что должна.
Каковы особенности биткоина (bitcoin)?
У биткоина есть несколько важных особенностей, которые отличают его от поддерживаемых правительством валют.
Биткоин децентрализован.
Биткоин сеть не контролируется ни одним центральным органом. Каждый компьютер, который майнит биткоин и совершает транзакции, является частью общей сети.
Это значит, что ни один центральный орган не может спровоцировать крах кредитно-финансовой системы или просто решить забрать у людей их деньги (в нашем случае — биткоины), как это сделал Центральный Европейский Банк на Кипре в 2013 году. И даже если какая-то часть сети по какой-то причине перейдет в оффлайн, деньги продолжать циркулировать по оставшейся.
Открыть биткоин кошелек (получить биткоин адрес) проще простого.
Чтобы открыть счет в обычном банке, вам придется пройти семь кругов ада. Открытие счета с целью ведения бизнеса — еще более сложная задача, подкрепленная изрядной порцией бюрократических проволочек. С другой стороны, вам потребуется всего несколько секунд, чтобы открыть биткоин кошелек (получить биткоин адрес). Никто не станет задавать вам вопросы и не попросит заплатить взнос или комиссию.
Биткоин (bitcoin) анонимен.
У каждого может быть несколько биткоин кошельков (биткоин адресов), и они никак не связаны с именами, адресами проживания и другой персональной информацией.
Биткоин (bitcoin) полностью прозрачен.
Биткоин «записывает» подробную информацию по каждой транзакции, которая когда-либо происходила в сети. Данные хранятся в специальной распределенной учетной книге записей о событиях в цифровом мире, которая называется блокчейн (blockchain). Блокчейн расскажет вам все.
Если у вас есть биткоин кошелек (биткоин адрес), любой видит, сколько биткоинов на вашем счете, но никто не знает, что этот счет — ваш.
Однако существуют меры, которые позволяют сделать вашу деятельность в сети биткоин менее прозрачной. Например, не использовать последовательно один и тот же биткоин адрес или не переводить много биткоинов на один и тот же кошелек.
Минимальная комиссия за перевод.
Обычный банк взимает значительную комиссию за перевод денежных средств. Битконы переводятся без комиссии.
Экономия времени.
Вы можете отправить деньги любому получателю в любую точку мира, и они придут спустя минуту, как только биткоин сеть обработает платеж.
Математика и биткоин: Как рассчитать справедливую стоимость 1 BTC | Финансы
Аналитики инвестиционной компании Pugilist Ventures, специализирующейся на цифровых активах и блокчейне, рассказывают о том, что такое коэффициент NVT и как он поможет определить, сколько должна стоить криптовалюта.
Преамбула
Неделю назад известный криптовалютный аналитик Вилли Ву опубликовал статью, в которой заявил, что биткоин (EXANTE: Bitcoin) может подешеветь с текущих уровней до $5500−5700. Главной причиной падения он назвал слишком высокий уровень коэффициента NVT — отношения стоимости сети (рыночная капитализация) к объему проводимых транзакций. По мнению Ву, чтобы оправдать текущую цену, необходимо значительное увеличение объемов операций. Иначе котировки будут вынуждены снизиться до уровня, соответствующего загруженности сети.
Несколько дней спустя управляющий директор Fundstrat Роберт Слеймер, наоборот, выразил оптимизм в отношении биткоина и заявил о скором возобновлении бычьего тренда. В основе его выводов лежит мощная поддержка в окрестности уровня $7000 и перепроданность индикатора RSI.
Что определяет NVT — оценку или скорость обращения
Некоторые аналитики утверждают, что если для оценки блокчейн-сетей достаточно Количественной теории денег, то коэффициент NVT идентичен скорости обращения токена (средняя частота, с которой денежная единица используется для покупки новых отечественных товаров и услуг за определенный период времени, — прим. ред.). Более того, они пришли к выводу, что всплески скорости обращения (как в 2018 году) обычно предшествуют спадам на рынке. Они позволяют очистить систему от «иррационального изобилия», оставшегося от предыдущего бычьего рынка.
При условии сохранения исторических норм «нормальный» диапазон 30-дневной скользящей средней коэффициента NVT биткоина лежит между 10 и 20. Значения выше 20 указывают на чрезмерный энтузиазм на рынке, тогда как значения ниже 10 говорят о недооцененности криптовалюты (конечно, если они не следуют сразу за стремительным ростом).
Кроме того, с помощью простых арифметических вычислений коэффициент NVT позволяет оценить диапазон цен, соответствующий каждой из переменных — сетевой стоимости (рыночной капитализации) и объема транзакций в блокчейне (в долларах США).
Анализ уравнения NVT
Используя формулу NVT, проведем анализ трех сценариев, чтобы установить потенциальный разброс цен биткоина. Будем исходить из предположения, что текущий разрыв между капитализацией и объемом транзакций вернется на исторически «нормальный» уровень. Для этого должен либо возрасти объем операций, либо сократиться рыночная капитализация.
В анализе мы использовали объем операций и рыночную капитализацию по состоянию на 3 июня — 4,4 млрд и 130,3 млрд долларов, соответственно. Применялись следующие уравнения и показатели:
- NVT = Рыночная капитализация / Объем операций;
- Объем операций при NVT = Текущая капитализация / NVT сценария;
- Разница в объемах операций = Текущий объем — Объем, предполагаемый
- сценарием;
- Рыночная капитализация при NVT = Текущий объем операций * NVT сценария;
- Необходимое снижение капитализации = Капитализация по сценарию — Текущая рыночная капитализация;
- Стоимость одного биткоина = Рыночная капитализация по сценарию / Текущее предложение.
Проведя соответствующие расчеты для NVT, равного 10, 15 и 20, мы установили, что для оправдания текущей рыночной цены биткоина объем операций в сети должен значительно возрасти (на 8,5 млрд, 4,2 млрд и 2 млрд долларов, соответственно).
Или должна существенно снизиться рыночная капитализация (на 85,5 млрд, 63,1 млрд и 40,7 млрд долларов, соответственно), чтобы коэффициент NVT вернулся на «нормальные» уровни в 10, 15 и 20.
- В самом консервативном и худшем с точки зрения цены сценарии (NVT = 10) справедливая стоимость биткоина составляет $2618.
- Среднее значение коэффициента NVT (15) дает справедливую цену биткоина, равную $3927.
- В самом оптимистичном сценарии (при NVT = 20) справедливая рыночная цена биткоина, определенная с помощью Количественной теории денег, составляет $5237.
Заключение
У этого анализа есть два недостатка:
- Рыночная капитализация и объем блокчейн-транзакций взаимосвязаны и влияют друг на друга. Таким образом, метод изначально небезупречен и не позволяет провести оценку с высокой достоверностью.
- Ежедневно в обращении появляются новые биткоины, поэтому гипотетическая цена криптовалюты в сценариях будет постоянно меняться, влияя на точность оценок.
Используя доступные инструменты анализа, следует согласиться и с Ву и со Слеймером, учитывая, что оценки одного основаны на особенностях коэффициента NVT, а другого — на динамике цен. Однако в долгосрочной перспективе обычно верх одерживают фундаментальные показатели, поэтому рано или поздно цена должна подскочить на фоне значительного интереса со стороны покупателей. Это позитивно повлияет на объемы блокчейн-транзакций, позволит закрыть разрыв и вернуть коэффициент NVT в нормальный диапазон.
Мнение автора может не совпадать с позицией редакции.
Подготовила Евгения Сидорова
Биткоин — Moneyman
22 декабря 2020Биткоин (bitcoin, от англ. bit — единица информации «бит» и coin — «монета») — наиболее известный на сегодняшний день вид криптовалюты (электронные денежные средства, для эмиссии которых используются алгоритмы шифрования и криптозащиты).
Биткоин (BTC) появился в 2008 году, его создателем был назван Сатоши Накамото. До сих пор нет точных доказательств того, был ли это один человек или группа лиц.
Система предусматривает ограниченное число «монет», которые при росте курса биткоина должны бесконечно дробиться в ходе совершения различных платежей и переводов.
В основу заложен принцип невозможности подделки денежного средства, так как каждый биткоин имеет электронные подписи всех ее эмитентов (монеты генерируются за счет работы специальных приложений на многочисленных компьютерах), отправителей и получателей.
Криптовалюта — это результат сложных математических вычислений. Участники системы предоставляют вычислительные мощности своих ПК, чтобы вычисления проходили быстрее. Когда решается какая-то часть математического алгоритма, участника вознаграждают биткоином. Весь этот процесс называется майнинг (добыча). Некоторое время были популярны «майнинговые фермы» для получения BTC.
Особенность заключается в том, что с каждой новой монетой формула для вычисления становится сложнее. Соответственно, пользователям приходится увеличивать свои вычислительные мощности. Например, в 2008 году можно было получить десятки биткоинов в течение одного дня, то сегодня примерно 0,01 биткоина.
Раньше биткоином можно было внести оплату в некоторых интернет-магазинах в Америке. В настоящее время биткоин официально признан платежным средством, в онлайн-среде функционирует большое количество бирж, где проводятся операции по купле-продаже электронной валюты.
BTC зачастую позиционируется как децентрализованный вид валюты, который не подчиняется ни частным лицам или компаниям. С момента своего появления биткоин вырос в цене в несколько тысяч раз. Пиковых значений достигал в конце 2017 года. На значительный рост оказали влияние:
- возросший интерес к валюте;
- увеличение количества продавцов, которые принимают ВТС;
- уменьшение вознаграждения за добычу монет.
Затем стоимость биткоина немного снизилась, но в настоящее время она снова достигла максимальных показателей.
В целом динамика курса за все время самая положительная среди всех существующих криптовалют.
В нашей стране использование биткоина не приветствуется регуляторами, так как нет четкого контроля и законодательной базы.
Какова математика криптографии на основе эллиптических кривых?
Когда кто-то отправляет вам биткойны, они отправляют биткойны на ваш адрес. Если вы хотите потратить любой из отправленных биткойнов, вы создаете транзакцию и указываете, куда должен пойти ваш биткойн. Добавляя цифровую подпись, вы можете доказать, что знаете секретный ключ, соответствующий адресу 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfN. Такая транзакция не входит в цепочку блоков, потому что у нее отсутствует действующая цифровая подпись.Большинство криптовалют используют эллиптические кривые, потому что 256-битный закрытый ключ так же безопасен, как 3072-битный закрытый ключ RSA.
Введение
Когда кто-то отправляет вам биткойны, они отправляют биткойны на ваш адрес. Если вы хотите потратить какой-либо биткойн, отправленный на ваш адрес, вы создаете транзакцию и указываете, куда должен пойти ваш биткойн. Такая транзакция может выглядеть так:
Переведите 5 биткойнов с 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa (ваш адрес) на 12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX (адрес получателя).
Конечно, любой может создать транзакцию, похожую на ту, что приведена выше, поэтому, если бы она была добавлена в блокчейн как есть и без проблем, вы бы потеряли более 30 000 долларов, нравится вам это или нет. К счастью, такая транзакция не входит в цепочку блоков, потому что у нее отсутствует действующая цифровая подпись. Добавляя цифровую подпись, вы можете доказать, что знаете секретный ключ, соответствующий адресу 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfN. Если вы не знаете соответствующий закрытый ключ, то вам, вероятно, не стоило говорить людям отправлять вам биткойны через этот адрес, поскольку вы не можете потратить ни одного биткойна, отправленного туда!
Когда вы создаете биткойн-адрес для себя (или адрес / учетную запись для любой другой криптовалюты), вы сначала генерируете закрытый ключ.Из закрытого ключа вы вычисляете соответствующий открытый ключ и, хешируя этот открытый ключ, получаете свой адрес. Надеюсь, вы не сможете сначала выбрать адрес, а затем определить по нему закрытый ключ, иначе вы могли бы определить закрытый ключ для любого адреса, используя тот же метод. Опять какой адрес у Сатоши?
Криптография с открытым ключом
Открытые ключи, частные ключи и цифровые подписи составляют основные компоненты криптографии с открытым ключом. Независимо от того, какая математическая основа используется для реализации криптографической системы с открытым ключом, она должна удовлетворять следующему, по крайней мере, для наших целей:
- Вывести закрытый ключ, соответствующий данному открытому ключу, с вычислительной точки зрения невозможно.
- Можно доказать, что человек знает закрытый ключ, соответствующий открытому ключу, не раскрывая при этом никакой полезной информации о закрытом ключе. Более того, такое доказательство может быть построено таким образом, что оно требует проверки конкретного сообщения. Таким образом, доказательство формирует цифровую подпись для этого сообщения.
Одним из способов криптографии с открытым ключом является использование эллиптических кривых. Другой способ — использовать RSA, который вращается вокруг простых чисел. Большинство криптовалют, включая Биткойн и Эфириум, используют эллиптические кривые, потому что 256-битный закрытый ключ с эллиптической кривой так же безопасен, как и 3072-битный закрытый ключ RSA.Клавиши меньшего размера легче управлять и работать с ними.
Криптография с эллиптической кривой
Что такое эллиптическая кривая? Эллиптическая кривая состоит из всех точек, удовлетворяющих уравнению следующего вида:
y² = x³ + ax + b
, где 4a³ + 27b² ≠ 0 (это необходимо для исключения особых точек).
Вот несколько примеров эллиптических кривых:
Обратите внимание, что все эллиптические кривые выше симметричны относительно оси x. Это верно для любой эллиптической кривой, потому что уравнение для эллиптической кривой:
y² = x³ + ax + b
И если вы извлечете квадратный корень из обеих сторон, то получите:
y = ± √x³ + ax + b
Итак, если a = 27 и b = 2 и вы вставите x = 2, вы получите y = ± 8, что приведет к точкам (2, -8) и (2, 8).
Эллиптическая кривая, используемая Биткойном, Эфириумом и многими другими криптовалютами, называется secp256k1. Уравнение для кривой secp256k1: y² = x³ + 7. Эта кривая выглядит так:
Сатоши выбрал secp256k1 без особой причины.
Сложение точек
Вы знаете, как сложить два числа, чтобы получить третье число? Вы можете сложить две точки на эллиптической кривой вместе, чтобы получить третью точку на кривой.
Чтобы сложить две точки на эллиптической кривой вместе, вы сначала находите линию, проходящую через эти две точки.Затем вы определяете, где эта линия пересекает кривую в третьей точке. Затем вы отражаете эту третью точку по оси x (то есть умножаете координату y на -1), и любая точка, полученная из нее, является результатом сложения первых двух точек вместе.
Давайте посмотрим на пример. Допустим, вы хотите сложить следующие две точки вместе:
Сначала вы найдете линию, проходящую через две точки:
Затем вы найдете третью точку на кривой, которую пересекает линия:
Затем вы отразите эту точку по оси x:
Следовательно, P + Q = R.
Чтобы правильно выполнить криптографию эллиптических кривых, вместо того, чтобы складывать две произвольные точки вместе, мы указываем базовую точку на кривой и только добавляем эту точку к самой себе.
Например, у нас есть следующая кривая с базовой точкой P:
Изначально у нас есть P или 1 • P.
Теперь добавим P к самому себе. Во-первых, мы должны найти уравнение прямой, проходящей через P и P. Таких прямых бесконечное количество! В этом частном случае мы выбираем касательную линию.
Теперь мы находим «третью» точку, которую пересекает эта линия, и отражаем ее поперек оси x.
Таким образом, добавление P к самому себе, или P + P, равно 2 • P.
Если мы снова добавим P к самому себе, мы будем вычислять P, добавленное к самому себе, или P + P + P. Результатом будет 3 • P. Чтобы вычислить 3 • P, мы можем просто сложить P и 2 • P вместе.
Мы можем продолжать добавлять P к самому себе, чтобы вычислить 4 • P и 5 • P и так далее.
Базовая точка используется secp256k1 кривой имеет следующий x- и y- координаты:
х-координат: 55066263022277343669578718895168534326250603453777594175500187360389116729240
у-координату:
326705100207588169780830851305070431844712733806592432759385757337482424 В приведенных выше, другая базовая точка используется так, что все примеры операции сложения точек помещаются в небольшое окно.
Ускорение добавления точек
Сколько шагов потребуется для вычисления 10 • P? Казалось бы, потребуется девять шагов, потому что 10 • P равно
P + P + P + P + P + P + P + P + P + P
, что требует операций сложения девяти точек.
Оказывается, вы можете вычислить 10 • P всего за четыре шага. Это связано с тем, что для сложения точек выполняется следующее свойство:
n • P + r • P = (n + r) • P
Например:
4 • P + 6 • P = (4 + 6) • P = 10 • P
Таким образом, быстрый способ вычисления 10 • P выглядит следующим образом:
P + P = 2 • P
2 • P + 2 • P = 4 • P
4 • P + 4 • P = 8 • P
2 • P + 8 • P = 10 • P
, что требует только четырех операций сложения точек.
Сколько шагов потребуется для вычисления x • P, где x — случайное 256-битное целое число? В этом случае x может находиться в диапазоне от 0 до 1,1579209e + 77.
Оказывается, вычисление x • P никогда не потребует более 510 операций сложения точек. Вот почему. Сначала вычислите следующий ряд:
2⁰ • P, 2¹ • P, 2² • P, 2³ • P, 2⁴ • P, 2⁵ • P, 2⁶ • P,…, 2²⁵⁵ • P.
Вы можете рассчитать вышеуказанный ряд с 255 операциями сложения точек, потому что есть 256 точек, и вы можете перейти от одной точки к другой, добавив текущую точку к самой себе.(n + 1) • P. Дается первая точка 2⁰ • P. 2⁰ • P = 1 • P = P.
Следующий шаг — найти двоичное разложение x. Например, если x равно 246, двоичное расширение будет 2⁷ + 2⁶ + 2⁵ + 2⁴ + 2² + 2¹ = 246. Затем мы умножаем двоичное расширение x на P: 2⁷ • P + 2⁶ • P + 2⁵ • P + 2⁴ • P + 2² • P + 2¹ • P. Затем мы просто складываем все эти точки вместе, чтобы получить 246 • P. Нам не нужно вычислять отдельные точки 2¹ • P, 2² • P,…, 2⁷ • P, поскольку мы вычисляли их ранее.
Максимальное двоичное расширение x будет содержать 256 элементов (от 2⁰ до 2²⁵⁵), поэтому нам никогда не придется складывать вместе более 256 точек, и, таким образом, второй шаг потребует не более 255 операций сложения точек.Таким образом, вычисление x • P потребует не более 255 + 255 = 510 операций сложения точек.
Закрытый и открытый ключи в криптографии на основе эллиптических кривых
Допустим, я вычисляю x • P, где x — случайное 256-битное целое число. Результатом будет некоторая точка на кривой. Назовем эту точку X.
Если я дам вам X, вы сможете определить x? Другими словами, не могли бы вы определить, сколько раз я прибавлял P к самому себе, чтобы получить точку X на кривой? Предположим, вы знаете, что такое P, и знаете, какую кривую я использовал.
Оказывается, вычислить x невозможно, даже если у вас был суперкомпьютер. Нет известного алгоритма для определения x, поэтому ваш единственный вариант — продолжать прибавлять P к самому себе, пока вы не получите X, или продолжать вычитать P из X, пока не получите P. В среднем x будет где-то между 0 и 2²⁵⁶-1, примерно 2¹²⁸. Таким образом, независимо от вашего подхода для определения x вам потребуется в среднем 2¹²⁸ операций сложения точек. Даже если бы ваш компьютер мог выполнять один триллион операций сложения точек в секунду, и вы работали бы на нем с самого начала Вселенной, вы бы к настоящему времени выполнили операции сложения только на 2⁹⁸ точки.2⁹⁸ / 2¹²⁸ = 1/1073741824.
Что, если начать с середины? В конце концов, вы можете рассчитать 2¹²⁸ • P за 510 шагов или меньше. Что ж, в среднем x не ближе к 2¹²⁸, чем к 0 или 2²⁵⁶-1, потому что x является случайным, поэтому не имеет значения, с чего вы начнете — вам все равно придется выполнять операции сложения 2¹²⁸ точки в среднем.
Закрытый и открытый ключи
Итак, поскольку кто-то не может вычислить x с учетом X, где X = x • P, может быть удобно сделать x своим частным ключом, а X — открытым ключом.Тогда ваш закрытый ключ будет случайным 256-битным целым числом, а ваш открытый ключ будет координатами x и y точки на эллиптической кривой. Это должно удовлетворять следующему свойству закрытого и открытого ключей:
«Вывести закрытый ключ, соответствующий данному открытому ключу, с вычислительной точки зрения невозможно».
Более того, хотя мы еще не обсуждали это, можно доказать кому-то, что вы знаете x, не раскрывая никакой полезной информации о x. То есть вы можете показать кому-то, что знаете, сколько раз вам нужно было бы прибавить P к самому себе, чтобы получить X, не сообщая ему прямо, что такое x.
Обновление модели эллиптической кривой
Прежде чем мы перейдем к доказательству того, что вы знаете x, мы должны обновить нашу модель эллиптической кривой.
Одна из проблем нашей текущей модели состоит в том, что x • P может привести к точке, координаты x и y которой не могут быть сохранены в стандартном 512-битном открытом ключе. Координата x или y может быть слишком длинной.
Решение состоит в том, чтобы определить нашу эллиптическую кривую над конечным полем. По сути, мы позаботимся о том, чтобы были только целочисленные точки и что существует предел того, насколько велики могут быть координаты точки.
Для этого преобразуем
y² = x³ + ax + b
в
y² mod p = (x³ + ax + b) mod p.
Где p — некоторое простое число (p простое, чтобы всегда можно было отменить операции сложения и умножения).
В secp256k1 p — наибольшее простое число, меньшее 2²⁵⁶.
Наша эллиптическая кривая теперь выглядит примерно так:
Обратите внимание, что все еще существует горизонтальная линия симметрии.
Итак, что происходит, когда вы складываете две точки вместе и линия, проходящая между этими двумя точками, выходит за границы, прежде чем пересекать третью точку? Вы оборачиваете линию вокруг границ!
На картинке выше вы можете увидеть, как сложение P и Q вместе требует обертывания линии «между» P и Q вокруг границ несколько раз.
Несмотря на эти изменения в нашей модели, все, что мы обсуждали до сих пор, остается в силе.
Как доказать, что вы знаете x
Итак, если вы вычисляете X = x • P, где x — случайное 256-битное целое число, как вы можете доказать кому-то, что вы знаете x, который соответствует X, не раскрывая никакой полезной информации о х?
Вы можете использовать свойство добавления точки из ранее:
n • P + r • P = (n + r) • P
Мы немного изменим его:
hash (m, r • P) • n • P + r • P = (hash (m, r • P) * n + r) • P
Если вы развернете правую часть уравнения выше, вы получите левую часть, поэтому уравнение выше выполняется для любых m, r и n.
Итак, что произойдет, если мы установим n • P = X? У нас будет:
хэш (m, r • P) • X + r • P = (hash (m, r • P) * n + r) • P
Если n • P = X, то n = x, поэтому у нас есть:
hash (m, r • P) • X + r • P = (hash (m, r • P) * x + r) • P
Теперь мы собираемся сделать следующее замены: R = r • P и s = hash (m, R) * x + r.
Итак, теперь у нас есть:
hash (m, R) • X + R = s • P
Хорошо, вот утверждение: если вы можете предоставить m, R и s, которые удовлетворяют приведенному выше уравнению, тогда это доказывает, что вы знаете x, соответствующий X в уравнении, где x • P = X.
Для этого должны быть выполнены следующие два условия:
- Если вы знаете x, вы должны иметь возможность предоставить рабочие значения для m, R и s.
- Если вы не знаете x, вы не сможете предоставить рабочие значения для m, R и s.
Если вы знаете x, вы можете легко найти рабочие значения для m, R и s. Выберите случайные значения для m и r, затем вычислите R = r • P и s = hash (m) * x + r. Если вы подставите эти значения в hash (m, R) • X + R = s • P, то вы получите:
hash (m, r • P) • x • P + r • P = (hash (m, r • P) * x + r) • P
, которое является уравнением, которое, как мы сказали, будет выполняться для любых m, r и n (в данном случае x равно n).
Что делать, если вы не знаете x? Не могли бы вы придумать рабочие значения для m, R и s? Проблема в том, что вам нужно будет решить hash (m, R) • X + R = s • P. По сути, вам нужно будет найти вход для хэша, который имеет определенное значение хеш-функции, что невозможно или, по крайней мере, невозможно с вычислительной точки зрения из-за свойства устойчивости к прообразу криптографических хеш-функций.
Следовательно, единственный способ предоставить рабочие значения для m, R и s — это вычислить их с помощью x. Таким образом, вы можете доказать, что знаете закрытый ключ x, который идет с открытым ключом X, предоставив значения для m, R и s, которые удовлетворяют hash (m, R) • X + R = s • P.
Сообщаете ли вы какую-либо полезную информацию о x, доказывая, что вы знаете x?
Если вы предоставите рабочие значения для m, R и s, можно ли извлечь из этих значений что-нибудь полезное о x?
m и R не имеют ничего общего с x, поэтому эти значения не могут дать ничего полезного о x.
Мы знаем, что s = hash (m, R) * x + r. Может ли кто-нибудь вычислить x из s?
Для этого им нужно будет решить x = (s-r) / hash (m, R).
Поскольку они не знают r, они не могут вычислить x из s.Они не могут получить r из того факта, что R = r • P (им дано R), потому что это то же самое, что определить, сколько раз P нужно было бы добавить к самому себе, чтобы получить R, что является той же вычислительно невыполнимой задачей. это мешает кому-либо определить x из X.
s также не раскрывает никакой информации о x, например, «x должен быть меньше yadda yadda». Если r генерируется случайным образом и мы допускаем переполнение hash (m, R) * x + r, поэтому r может быть любым 256-битным целым числом, тогда значение s является полностью случайным, то есть s может быть любым 256-битным целым числом.Случайное 256-битное целое число говорит вам примерно столько же, сколько и ВВП Новой Зеландии.
Цифровые подписи
m, R и s могут использоваться, чтобы доказать, что кто-то знает x, который соответствует X, где X = x • P. Проверка доказательства требует включения m, R и s в хэш (m, R) • X + R = s • P. Можем ли мы сделать так, чтобы для успешной проверки требовалось конкретное сообщение, чтобы доказательства — m, R и s — формировали цифровую подпись для этого сообщения? Да!
Пусть m — это конкретное сообщение, а R и s — цифровая подпись для этого сообщения.Тогда процесс проверки будет успешным только в том случае, если конкретное сообщение m вставлено в уравнение проверки. Если подставлено другое значение для m, то левая часть хэша (m, R) • X + R = s • P не сможет равняться правой части, потому что s было вычислено с использованием другого сообщения.
Таким образом, можно доказать, что им известен закрытый ключ x, который соответствует открытому ключу X для конкретного сообщения m, предоставив цифровую подпись R и s для m.
Для криптовалют сообщение будет неподписанной частью транзакции.Если вы когда-нибудь посмотрите на цифровую подпись для транзакции, обычно это x-координата R (R — точка на кривой), объединенная с s (s — кажущееся случайным 256-битным целым числом) после того, как она была закодирована. и преобразован в шестнадцатеричный.
Заключение
Если вы хотите получить биткойн-адрес или учетную запись Ethereum, вы генерируете случайное 256-битное целое число x. x тогда ваш закрытый ключ. Затем вы вычисляете X = x • P, используя параметры кривой secp256k1. X будет вашим открытым ключом.Ваш открытый ключ можно безопасно выдать, и его нельзя использовать для определения вашего закрытого ключа. Если вы хешируете свой открытый ключ, вы получите свой адрес.
Если вы хотите отправить биткойн или эфир со своего адреса на другой адрес, вы создаете транзакцию. Вы устанавливаете m в беззнаковую часть этой транзакции и вычисляете R и s из этого m. Затем вы присоединяете к транзакции R и s. После широковещательной рассылки транзакции любой узел сможет проверить, что m (беззнаковая часть транзакции), R и s удовлетворяют hash (m, R) • X + R = s • P.Это, конечно, предполагает, что вы также включаете X в свою транзакцию, поскольку ваш открытый ключ не может быть определен по вашему адресу. Для Ethereum вместо предоставления X вы предоставляете v, что позволяет определить X по R и s.
Конец
Ну вот и все! Если вы зашли так далеко и поняли почти все, то примите наши поздравления! Если вам нужно более подробное объяснение криптографии на основе эллиптических кривых (более математическое), перейдите по этой ссылке. Это моя первая статья, поэтому дайте мне знать, если есть ошибки, и оставьте отзыв.
Спасибо за чтение!
Похожие истории
Теги
Присоединяйтесь к хакеру ПолденьСоздайте бесплатную учетную запись, чтобы разблокировать свой собственный опыт чтения.
Неоспоримая математика Биткойна — Блокчейн Арго
Math — это основа любой платформы, основанной на блокчейне. Вместо посредников, регуляторов, законов или руководителей эти платформы полагаются на бесспорную логику математических моделей для создания экосистемы, которая работает для каждого пользователя. Биткойн, пожалуй, самый яркий пример того, как эти модели могут изменить мир.
Вот более подробный взгляд на математику, лежащую в основе технологии Биткойна, и ее более широкое экономическое влияние.
Технические характеристики БиткойнаБлокчейн Биткойна, распределенный реестр, частные и открытые ключи обсуждались до тошноты . Однако не обсуждается номера , задействованные для создания каждой транзакции.
Каждой транзакции в цепочке блоков Биткойн дается уникальное значение транзакции в виде 256-битного хэша.Это помогает идентифицировать и подтверждать транзакцию. Эта строка чисел содержит размер, ставку комиссии, время добычи и хэш блока, в который включена транзакция. Вот пример:
Источник: BlockExplorer
Пул транзакций включается в один блок, который имеет собственное 256-битное хеш-значение, подобное приведенному ниже:
Источник: BlockCypher
Как видите, каждый блок содержит несколько частей информации, включая идентификатор майнера, вознаграждение майнера, количество транзакций, размер блока, корень Меркла (объединенный хэш всех транзакций в этом блоке), биты (которые определяют сложность в шестнадцатеричном формате) и одноразовый номер (измененное значение, которое находит решения для блока).
Что наиболее важно, он также содержит хеш предыдущего блока. Эта строка взаимозависимых чисел представляет собой цепочку блоков.
БлокчейнБиткойн также полагается на ключевое уравнение, позволяющее стабильно вводить новые BTC. Поток недавно отчеканенных BTC контролируется, чтобы гарантировать сбалансированность стимулов для всех пользователей, разработчиков и майнеров. Вот уравнение ниже:
Источник: Кевин Шеллингер
Как показывает уравнение, предложение биткойнов ограничено 21 миллионом.Исходя из этой математической логики, никогда не может существовать более 21 миллиона BTC. По словам Шеллингера, хотя Сатоши никогда публично не разъяснял, почему он выбрал ограничение в 21 миллион, он ограничился простотой и оптимизацией для современных компьютеров. Шеллингер утверждает, что Сатоши первым разработал денежно-кредитную политику, потому что это важно. Уменьшение вдвое вознаграждения за майнинг каждые четыре года означает, что половина всех биткойнов будет создана в течение первого периода, а половина предыдущего периода — в каждый последующий период.
Сатоши также разработал вознаграждение за биткойны за счет быстрого распространения. Самая первая награда за блок начинается с 50 BTC, которая уменьшается вдвое каждые 210 000 блоков. Формула предложения биткойнов (как показано выше) показывает формулу для общего количества биткойнов, добытых за сокращение вдвое с помощью? = эпоха вознаграждений. Добавляя 0-й период к 32-му, мы получаем общее количество биткойнов »21 миллион.
Экономическое влияниеСтоимость каждого биткойна также определяется рыночными факторами, которые можно в определенной степени рассчитать.Хотя эти оценки часто неточны, они предлагают пользователям способ ориентироваться в волатильности рыночной стоимости Биткойна.
Технические аналитики, например, применяют паттерн Фибоначчи, чтобы определить, перепродан или перекуплен BTC. Трейдеры используют эту математическую модель для определения своей стратегии. Уровни Фибоначчи рассматриваются как ключевые уровни для потенциальных областей разворота цены или как ключевые уровни сопротивления и поддержки.
Другая модель, предложенная анонимным пользователем Twitter @ 100TrillionUSD, предлагает использовать соотношение запасов к потоку Биткойна, чтобы определить, был ли токен переоценен или недооценен в любой момент времени.Эта модель также была принята институциональными банковскими гигантами BNY Mellon и Fidelity Digital Assets.
Инвестор в рост Кэти Вуд полагается на другую модель, которая предсказывает возможную стоимость Биткойна на основе того, сколько компаний из S&P 500 приняли его как часть своего баланса. Вот прогноз цены модели:
Источник: Ark Invest: Большие идеи 2021
Основные выводыМатематика Биткойна — это то, что отличает его от остальных.Сатоши Накамото стремился создать альтернативную финансовую систему, которая была бы конечной, в ответ на серьезные проблемы, связанные с централизованными бумажными валютами. Базовая технология, лежащая в основе Биткойн, может показаться сложной, но широкое распространение получает широкое распространение, делая его доступным средством сбережения.
Обеспечение, работоспособность и безопасностьБиткойн жестко запрограммированы в платформе и основаны на неопровержимых цифрах. Хотя не существует простого или эффективного способа прогнозирования его рыночной стоимости с течением времени, Биткойн снабжен исправлениями и механизмами, обеспечивающими его стабильность.Вот почему разработчики и инвесторы полагаются на предпочитаемые ими математические модели при принятии решений.
__________
Оставайтесь на переднем крае добычи биткойнов и сектора цифровых активов, подписавшись на Argo Blockchain в Twitter.
Сколько биткойнов мне нужно иметь? Математический ответ
Многие из нас следили за резким взлетом и стремительным падением биткойнов и криптовалют в целом за последние несколько лет.Некоторые, возможно, полностью списали их со счетов после 80% спада в 2018 году только для того, чтобы увидеть, как они вернутся в коллективное сознание инвесторов в 2020 году. Конечно, за короткие два года настроения изменились — все больше институциональных инвесторов пристально смотрят на криптовалюту, и предыдущие скептики смягчили свои взгляды.
Все это приводит к одному вопросу: Сколько криптовалюты мне нужно иметь?
Математика спешит на помощь
Само собой разумеется, что на этот вопрос сложно ответить.Но мы можем позаимствовать страницу из современных количественных финансов, чтобы прийти к потенциальному ответу. В течение многих лет «кванты» с Уолл-стрит использовали математическую структуру для управления своими портфелями, называемую моделью Блэка-Литтермана. Да, «Блэк» здесь тот же, что и в известной формуле ценообразования опционов Блэка-Шоулза, «Фишер Блэк». А «Литтерман» — это Роберт Литтерман, давний опытный игрок Goldman Sachs.
Не вдаваясь в подробности, модель начинается с нейтрального, «равновесного» портфеля и предоставляет математическую формулу для увеличения ваших активов на основе вашего взгляда на мир.Что удивительно, он включает не только вашу оценку возможного роста инвестиций, но и вашу уверенность в этой оценке и переводит эти данные в конкретное распределение портфеля.
Ваша отправная точка: 0,50%
Модель Блэка-Литтермана использует глобальный рыночный портфель, то есть все активы в мире, в качестве отправной точки для создания портфеля. Это означает, что, если у вас нет других представлений о том, какие инвестиции могут быть лучше или хуже, вам следует рассмотреть возможность владения этим портфелем.
В начале 2021 года мировой рынок акций составил 95 триллионов долларов, а мировой рынок облигаций достиг 105 триллионов долларов. Рынок криптовалют в целом оценивается примерно в 1 триллион долларов. Это означает, что криптовалюта составляет 0,5% мирового рыночного портфеля.
Так же, как есть много аргументов в пользу хранения большего количества криптовалюты, есть также много аргументов в пользу того, чтобы хранить меньше. Однако, с точки зрения модели, 0,5% должно быть вашим стартовым распределением.
Теперь добавьте свои представления
Вот где в игру вступает математическая магия.Для любого заданного темпа роста криптовалюты (или любых инвестиций в этом отношении) модель Блэка-Литтермана вернет сумму, которую вы должны держать в своем портфеле. Более того, вы можете указать свой уровень убежденности в предполагаемых темпах роста, и модель будет соответствующим образом скорректирована.
На приведенной ниже диаграмме показано распределение портфеля в биткойнах, полученное на основе модели Блэка-Литтермана. Эта диаграмма может служить полезным ориентиром при размышлениях о том, сколько криптовалюты вы хотите хранить.
Как использовать: Выберите, насколько, по вашему мнению, биткойн будет превосходить акции, от + 5% до + 40%. Каждому ожидаемому доходу соответствует линия на графике. Например, если вы думаете, что биткойн превзойдет акции на 20%, это соответствует фиолетовой линии. Теперь следуйте по линии влево или вправо, в зависимости от того, насколько вы уверены в себе. Если вы уверены как минимум на 75% (твердое «вероятно»), фиолетовый соответствует 4% -ному распределению биткойнов.
Одна из самых интересных вещей, которую следует отметить, — это то, насколько высока должна быть ваша оценка доходности и насколько вы должны быть уверены в себе, чтобы занять значительную позицию в биткойнах.Например, чтобы модель говорила вам, что вы должны удерживать 10% -ное распределение, вы должны быть абсолютно уверены в том, что биткойн будет опережать акции на 40% каждый год.
Также следует отметить, что не требуется много времени, чтобы довести распределение модели до 0%, то есть без крипто-холдингов. Если вы не думаете, что вероятность того, что биткойн хотя бы немного превзойдет по эффективности, составляет 50/50, модель рекомендует полностью избегать этого.
Как мы сюда попали
Исходные данные для модели Блэка-Литтермана сами по себе рассказывают интересную историю.Основными входными данными в модели являются глобальные рыночные капитализации, волатильность активов и корреляция между активами.
Само собой разумеется, что использование криптовалюты рискованно. За последние пять лет волатильность биткойнов была в шесть раз выше, чем у акций, и в 30 раз выше, чем у облигаций. В худшем случае цифровая монета упала в цене на 80%, в то время как акции упали на 20%. С другими криптовалютами дела обстоят еще хуже.
Если актив является волатильным, и никто не может диверсифицировать эту волатильность, то инвесторам потребуется более высокая норма прибыли на эти инвестиции, в противном случае они предпочтут не инвестировать.Тот факт, что биткойн настолько волатилен, но у него такое небольшое количество инвесторов (по сравнению с акциями или облигациями), предполагает, что многие инвесторы все еще не видят потенциальной прибыли, оправдывающей риски. С другой стороны, криптовалюты по своей сути являются новой технологией, и у новых технологий всегда есть кривая внедрения. Здесь речь может идти не столько об ожидаемой доходности в сравнении с риском, сколько о раннем принятии или массовом обращении.
Последний компонент модели — корреляция биткойна с акциями и облигациями.Ниже вы можете видеть, что биткойн имеет некоторую корреляцию как с акциями, так и с облигациями, а это означает, что, когда акции растут (или падают), биткойн также может делать то же самое. Чем ниже корреляция, тем большую диверсификацию обеспечивает актив для вашего портфеля. Облигации имеют низкую корреляцию с акциями (1,5%), что делает их хорошим балластом против турбулентных рынков. Корреляция с биткойном выше (23,7%), что означает, что он может обеспечить некоторое преимущество диверсификации портфелю, но не в такой степени, как облигации.
Тепловая карта корреляции
Хотя мы не можем сказать вам, станет ли биткойн следующим цифровым золотом, эта математическая модель может помочь вам подумать о том, какой тип распределения криптовалюты может вам подойти и какие предположения о риске и доходности может лежать в основе этого.
Эта статья написана и представляет точку зрения нашего советника, а не редакции Киплингера. Вы можете проверить записи консультантов в SEC или FINRA.Директор по инвестициям, Betterment
Адам Грилиш — директор по инвестициям в Betterment, крупнейшем независимом онлайн-финансовом консультанте в США.S. До прихода в Betterment Адам был вице-президентом отдела фиксированного дохода, валюты и сырьевых товаров в Goldman Sachs, где он отвечал за структурированное корпоративное кредитование и торговлю макрокредитами. Ранее в своей карьере Адам входил в команду по количественному управлению портфелем ценных бумаг в New York Life Investments.
Сможете ли вы решить эту проблему? Сумасшедшая математика криптовалюты | Математика
Сегодняшняя головоломка основана на новаторской математической концепции, которая на прошлой неделе принесла одному из своих пионеров премию Абеля, которая считается Нобелевской премией по математике.
Это концепция доказательства с нулевым разглашением , которая имеет множество приложений в цифровой криптографии . Позвольте мне вкратце пояснить.
Обычно в математике — и в жизни — когда вы хотите доказать истинность утверждения, вам нужно предоставить доказательства, подтверждающие ваше утверждение. Однако с помощью доказательства с нулевым разглашением можно доказать истинность утверждения без раскрытия какой-либо подтверждающей информации.
Например, просто скажите, что я решил чрезвычайно сложную судоку, и я хочу доказать вам, что я решил ее.Доказательство с нулевым разглашением убедит вас, что я решил его, не раскрывая вообще ничего о своем решении.
Сбитый с толку? Вы в хорошей компании. Когда в 1980-х годах впервые появилось доказательство с нулевым разглашением, широкое математическое сообщество было взволновано. Вся идея казалась странной и противоречащей интуиции. В конечном итоге, однако, это стало концептуальной революцией в том, как математики думают о доказательствах, и он нашел фантастические приложения в криптовалютах и криптосистемах, где пользователи хотят установить доверие, но сохранить конфиденциальность важной информации.
Давайте рассмотрим загадку и продолжим обсуждение позже.
Украденная скрепка
Вы работаете в офисе из 100 человек. Однажды украдут вашу любимую скрепку. Вы хорошо представляете, кто это сделал. Ваша коллега Аннабель говорит, что у нее тоже есть неплохая идея.
Вы хотите уточнить у Аннабель, подозреваете ли вы одного и того же человека, но ни один из вас не желает идентифицировать своего подозреваемого на тот случай, если вы думаете о разных людях.(Из-за служебной политики никто не хочет показывать пальцем.)
Подумайте о методе, который позволит вам и Аннабель проверить, являются ли ваш подозреваемый и ее подозреваемый одним и тем же человеком, при этом ни один из вас не раскрывает никакой информации о своих подозреваемых. .
Задача состоит в следующем: можете ли вы с Аннабель договориться о способе сравнения вашей информации, не выдавая ничего? В конце вашего «сравнения» вы либо установите, что ваши подозреваемые — это одно и то же лицо, либо вы установите, что это не так.В последнем случае вы не передадите Аннабель никакой информации, и она не передаст вам ничего. Таким образом, процедура проверки является «нулевым знанием», поскольку никакое знание не разглашается, за исключением истинности или ложности самой проверки.
Согласен, звучит невозможно!
Вот одна вещь, которую вы не можете сделать: вы не можете поделиться с Аннабель ничем, что могло бы идентифицировать вашего подозреваемого. Вы не можете, например, сказать: «Мой подозреваемый приходит поздно по понедельникам», поскольку это раскрывает некоторую информацию об этом человеке.
Обычно в графе я пишу НЕТ СПОЙЛЕРОВ (заглавными буквами!). Но сегодня все по-другому, потому что я прошу вас исказить свой мозг так, как вы, вероятно, никогда не исказили его раньше. И есть много решений, у каждого из которых есть свои сильные и слабые стороны.
Вот один: представьте, что у вас с Аннабель есть хороший друг Дэн, которому вы оба доверяете. Вот метод с участием Дэна, который работает:
ШАГ 1 Вы и Аннабель договариваетесь о способе присвоения каждому в офисе числа от 1 до 100.
ШАГ 2 Вы записываете номер подозреваемого на листке бумаги. Аннабель делает то же самое.
ШАГ 3 Вы передаете Дэну два листка бумаги и просите его сказать вам, совпадают ли числа на обоих листах.
Если Дэн говорит, что числа такие же, значит, подозреваемые такие же. Если числа разные, значит, подозреваемые разные, и ни вы, ни Аннабель не понимаете, кого подозревает другой человек.Работа сделана!
Однако вариант Dan не идеален. Во-первых, он полагается на наличие Дана, то есть независимого и правдивого проверяющего, что может быть не всегда. Что еще более важно, вы оба раскрываете некоторую информацию Дэну. Весь смысл этого упражнения — никогда никому ничего не рассказывать. Есть ли способ, в котором никто больше не участвует?
Не стесняйтесь вносить предложения под строкой о том, как вы могли бы подойти к проблеме. Пожалуйста, не дайте полное решение, если вы знаете , но помогайте друг другу и работайте в группах!
Я вернусь в 17:00 по Великобритании с решением и дальнейшим обсуждением.
ОБНОВЛЕНИЕ: Прочтите решение здесь.
Вверху я упоминал, что Абелевская премия 2021 года была удостоена одного из пионеров доказательства с нулевым разглашением. Его зовут Ави Вигдерсон, ему 64 года, и он был удостоен премии вместе с Ласло Ловасом, 73 года, за их «ведущую роль в превращении [теоретической информатики и дискретной математики] в центральные области современной математики».
В 1980-х годах Вигдерсон вместе с Одедом Голдрайхом и Сильвио Микали показал, что любое истинное математическое утверждение имеет доказательство с нулевым разглашением.В то время этот результат был чисто теоретическим достижением, но в последние годы доказательства с нулевым разглашением нашли важное применение в цифровой безопасности, особенно в криптовалютах и системах аутентификации. Доказательство с нулевым разглашением позволяет двум людям установить доверительные отношения, ничего не раскрывая.
Если вы хотите узнать больше о работе, удостоенной премии Абеля 2021 года, вы можете посмотреть это короткое видео, которое я сделал для Премии Абеля, которое транслировалось во время церемонии объявления.Он дает непрофессиональное резюме работы Ловаса и Вигдерсона и (от 4 минут) дает пример доказательства с нулевым разглашением (которое может быть полезно при попытке решить сегодняшнюю головоломку).
Объяснение доказательства с нулевым разглашением от 4 минутЯ установил загадка здесь каждые две недели в понедельник. Я всегда ищу отличные головоломки. Если вы хотите предложить один, напишите мне.
Я автор нескольких сборников головоломок, последняя из которых — «Книга головоломок для любителей языков».
Почему был выбран 21 миллион BTC
Все в Биткойне основано на математике, определяемой как изучение количества, структуры, пространства и изменений. Количество всегда представляло особый интерес для криптоинвесторов и трейдеров — с точки зрения увеличения количества собственных авуаров и влияния жесткого ограничения количества BTC на его долгосрочную стоимость.
Недавно в Твиттере спросили, почему создатель первой криптовалюты, Сатоши Накамото, выбрал 21 миллион BTC в качестве общего количества, а не другое произвольное число.Ответ, как и все остальное, что связано с Биткойном, можно найти с помощью очень простой математики.
Не секрет, что больше не секрет, формула жестко ограниченного предложения Биткойна
Жестко ограниченная поставкаБиткойн придает ему уникальные атрибуты. Это дает ему слой дефицитных фиатных валют, которых нет, но такие активы-убежища, как золото, хвалят. Это также предотвращает инфляцию, никогда не увеличивая предложение BTC. Мы все понимаем, почему это важно для стоимости Биткойна, но все же — почему 21 миллион BTC?
Ссылки по теме | Может ли древняя математика предсказать следующую вершину биткойнов в 220 тысяч долларов?
В подробном и заставляющем задуматься треде в Твиттере, который начал Саша Флейшман, трейдер из Arca — фирмы по управлению активами, специализирующейся на криптовалютах и блокчейне, — спрашивает, почему создатель Биткойна выбрал 21 миллион Биткойн в качестве общего количества Биткойнов, которое когда-либо существовало.Как и в большинстве случаев, связанных с Сатоши, причина всегда оставалась неизвестной.
После долгого обсуждения Флейшман собрал коллективные мысли и, основываясь на простой математической формуле, возможно, обнаружил причину поставки 21 миллиона BTC.
Это компенсируется так называемой «корректировкой сложности», где «хэш» (случайное сгенерированное число), необходимый для решения блока, корректируется — это происходит каждые 2016 блоков (14 дней). Таким образом, для всех связанных целей безопасным показателем является 6 блоков в час.pic.twitter.com/4DoS3Uev0f
— Саша Флейшман (@ArcaChemist) 30 августа 2019 г.
Теория в основном основана на времени. В качестве переменных использовались часы в день, дни в году, годы в цикле и блоки в час.
Кроме того, в биткойнах жестко запрограммирован тот факт, что добавление каждого нового блока в цепочку блоков занимает около десяти минут. Флейшман указывает, что это значение варьируется на несколько секунд, но в конечном итоге компенсируется при каждой «корректировке сложности», происходящей каждые 14 дней.
Когда вы разбиваете блоки за четыре года по шесть блоков в час, получается примерно 210 000 блоков за цикл деления вдвое.
При следующем уменьшении вдвое его предложение будет сокращено с 12,5 BTC до 6,25 BTC. До этого вознаграждение за блок составляло 25 BTC, а до этого — 50 BTC. Сумма всех размеров вознаграждения за блок составляет 100.
Ссылки по теме | Криптоаналитик: цена биткойна может оставаться в узком диапазоне, пока не упадет вдвое
Когда вы умножаете 100 на 210 000 блоков за цикл деления пополам, вы получаете 21 миллион BTC .По крайней мере, это согласно теории Флейшмана, которая имеет логический смысл.
Хотя все математические расчеты совпадают, это также может быть просто совпадением, и истинный ответ, вероятно, никогда не будет известен, поскольку истинная личность Сатоши Накамото может никогда не быть раскрыта. Пока этого не произошло, эта теория остается одной из самых убедительных.
AMS :: математика и биткойн
Многие транзакции выполняются онлайн, но большинство из них основано на стандартных валютах. Биткойн является одним из примеров цифровой платежной системы или криптовалюты, которая существует только в электронном виде, сохраняет анонимность своих пользователей и не контролирует центрального игрока, такого как банк или правительство.Он полагается на сеть общих компьютеров для обработки и проверки каждой транзакции, каждая из которых шифруется с использованием математических формул и вводится в электронную книгу, называемую блокчейном . Блокчейн связывает транзакции и гарантирует, что владелец биткойна не может потратить одну и ту же единицу стоимости («монету») дважды. У каждого владельца биткойнов есть частный номер, который с помощью математических формул легко использовать, но невозможно обнаружить на практике. Таким образом, хотя биткойны могут показаться менее безопасными, чем твердая валюта, они гораздо менее уязвимы для кражи или подделки, если частный номер хранится в секрете.
Блокчейн — это идея, у которой есть много потенциальных применений, например, судоходство. В настоящее время заполнение и учет налоговых и таможенных документов может стоить столько же, сколько и сама доставка. Кроме того, бумажные документы могут быть подделаны или внезапно исчезнуть. Математика, лежащая в основе блокчейна — например, криптосистемы с открытым ключом, односторонние хеш-функции и вычислительная сложность доказательства работы — позволила бы грузоотправителям не только отслеживать продукт в пути, но и хранить безопасные, цифровые и неизменяемые записи. необходимой документации.И не только крупные компании заинтересованы в использовании блокчейнов. Беженцы, которые часто по понятным причинам не хотят регистрировать свою личность в правительстве, создали свои собственные аварийные идентификаторы, которые записываются в блокчейн, что позволяет разлученным членам семьи подключаться электронно и в конечном итоге физически объединяться, не раскрывая себя потенциально враждебным правительственным организациям.
Питер Дж. Деннинг Военно-морская аспирантура |
|
Для получения дополнительной информации: «Биткойн, возможно, блокчейн, скорее всего», Питер Дж. Деннинг и Тед Г. Льюис, American Scientist , ноябрь – декабрь 2017 г.
Математика, лежащая в основе основ — SD Solutions, LLC
Прочитав наш предыдущий пост в блоге, вы, возможно, поймете, что такое криптовалюты и что такое технология блокчейн.Однако вы также можете узнать об основах того, как они на самом деле работают без контроля со стороны одного центрального органа или сервера. Технология блокчейн основана не только на компьютерном коде. По большей части это сильно связано с математикой. В статье «Блокчейн: краткое введение на четырех страницах» Ян Витте объясняет, что технология блокчейна основана на двух математических концепциях: хэш-таблицах и термине в криптографии (отсюда «криптография» в «криптовалюте»), известном как шифрование с открытым ключом.
Хеш-таблицы и хеш-функции — это термины, в основном используемые в области информатики. Одним из аспектов этой области является изучение методов, используемых для создания списков, в которых хранятся данные, например записи о сотрудниках, на компьютере. Хеш-таблица является одним из таких методов, и обычно он работает следующим образом: элементу в списке, например записи о сотруднике, присваивается уникальное значение, называемое ключом . В идеале этот ключ представляет собой число или строку символов, которую можно преобразовать в число.Когда этот ключ и размер списка становятся входными значениями математической функции, называемой хэш-функцией , результатом является индекс , число, представляющее место в списке (1-е, 2-е, 3-е и т. Д.) . Хеш-функция обычно представляет собой просто приложение оператора модуля; то есть, он получает остаток от деления номера ключа на общее количество элементов, которые могут содержаться в списке. Если новый элемент должен быть добавлен в список, но список очень велик (подумайте о тысячах записей о сотрудниках, продуктах или транзакциях), выполнить небольшую математику для компьютера быстрее, чем искать по всему списку , слот за слотом, пока не будет найден пустой слот.
Шифрование с открытым ключом также связано с математикой, за исключением того, что «ключи» — это функции. В основном это работает так: у каждой стороны есть как закрытый, так и открытый ключ. Чтобы одна сторона могла отправить сообщение другой, они должны зашифровать свое сообщение, используя открытый ключ другой стороны. Другая сторона может расшифровать сообщение, закодированное их открытым ключом, используя свой закрытый ключ. По сути, «общедоступные» и «частные» функции являются инверсиями друг друга, так что если сообщение является входом одной функции, а результат этого вычисления является входом другой функции, результатом , который Расчет — это… Исходное сообщение.Шифрование Ривеста-Шамира-Адлемана (RSA) является ярким примером шифрования с открытым ключом, и, как и хеш-таблицы, в вычислениях участвует оператор модуля.
И шифрование, и хэш-ключи составляют основу «майнинга» или «криптомайнинга» криптовалюты. Хотя мощность, используемая при майнинге криптовалют, может превосходить мощность, используемую при добыче полезных ископаемых, согласно Максу Краузе и Табету Толаймату, чья статья в Nature Sustainability была опубликована в 2018 году, майнинг криптовалют не имеет ничего общего с «настоящим» майнингом.По словам Витте, когда транзакция с криптовалютой инициируется, она должна храниться в цепочке блоков с использованием нового хеш-ключа, который кодирует как данные новой транзакции, так и предыдущий хеш-ключ. Процесс генерации нового хэш-ключа требует специального криптографического числа, называемого «одноразовый номер», и разные компьютеры, занимающиеся крипто-майнингом, соревнуются за то, чтобы первыми его найти. Владелец выигравшего компьютера получает единицы криптовалюты в обмен на помощь в завершении новой транзакции.
Соревнуясь за обработку новых транзакций, каждый «майнер» криптовалюты также является бухгалтером, который поддерживает финансовые аспекты системы. Используя предыдущие хэш-ключи для создания новых, транзакции с криптовалютой объединяются в общую «цепочку». Процесс добавления «блоков» в «блокчейн» не волшебный — он математический и не выходит за рамки понимания тех, кто в первую очередь интересуется бизнес-приложениями технологии блокчейн.
Эван Маллой
Ассоциированный разработчик программного обеспечения в SD Solutions LLC
Эван Маллой был увлеченным программистом с 12 лет.Он любит программировать на самых разных языках, а также изучает новые концепции, связанные с информатикой и кибербезопасностью.