Современная реальность
А на каком уровне вы 🤔?Чтобы не было глупых вопросов , доход в месяц .
А на каком уровне вы 🤔?Чтобы не было глупых вопросов , доход в месяц .
На волне постов @AlexRadio, стали появляться также посты про то, что происходит с рынком, ценами и ритейлом от других авторов. Считаю, что как экономист могу внести лепту и рассказать о том, что происходит и как на нас, простых потребителях это отразится.
Дисклеймер
Я хочу рассмотреть ситуацию с точки зрения обычного потребителя на нижней границе среднего класса и не претендую на полный анализ экономической ситуации.
Что случилось?
Я бы хотел рассмотреть ситуацию с точки зрения исключительно экономики. Курс рубля сильно укрепился, в стране недостаток наличной ликвидности (об этом ниже), закрыт или минимизирован легальный импорт многих товаров и нарушены логистические цепочки. На этом все факты, никакой политики.
И что мне с этим делать?
Давайте по порядку. Будет несколько отдельных постов и я начну с денег. А именно с ликвидности и валютных курсов.
Все заметили, что курс, который мы видим на бирже, курс, который есть в обменниках и курс по которому мы покупаем импортные товары и услуги не равны между собой.
На момент написания поста курс доллара на бирже 63 рубля, в обменниках в Москве 69, при покупке товаров и услуг 65-300 (да).
Почему так? На бирже курс неправильный? Нас обманывают?
Нет никакого правильного курса или неправильного - всегда есть и было несколько курсов, которые иногда почти равны между собой.
На бирже курс самый динамичный и точнее всего отражает баланс импорта/экспорта. В страну поступает очень много безналичной валюты, экспортеры имеют обязательство продавать выручку. Ранее эту выручку поглощали население (через банки) и банки. Банки в свою очередь везли наличные доллары и евро самолетами в страну. Получался фактически обмен нефти и газа на бумажную наличность. Грубо в стране накопилось более 100 млрд. долларов бумаги, обмененной на газ и нефть. Классно придумано, да? Ликвидность электронной валюты поддерживалась этой массой и этими самолетами.
А что сейчас? Что изменилось?
Бумажные деньги официально не завозятся и запрещен их вывоз в размере более 10к за раз на человека. Цена бумажных денег внутри страны подскочила. Ранее курсы на бирже и в обменниках были примерно равны с учетом комиссии на обмен (грубо стоимости доставки бумаги). Сейчас бумагу нужно еще доставить серыми путями. И официально сделать это не получается. Стоимость бумаги стала больше, процентов на 12-15%.
Так лучше покупать безналичные на бирже, как и было?
Было лучше. Сейчас нет. С безналичными долларами вы не сможете сделать почти ничего. Дело в том, что ограничение на снятие валюты в 10к от ЦБ как-то совершенно случайно совпало с уходом мастер-кард и визы из России.
Исключая совсем экзотические моменты с безналичными долларами и евро можно сделать только четыре вещи:
1. Продать купленные на бирже по 63 уже по 59, например. Глупо.
2. Снять в другой стране местную валюту с долларового счета по карте МИР (Беларусь, Турция, далее по списку) и надеяться на хороший курс ПС МИР.
3. Аналогично расплатиться картой МИР, привязанной к валютному счету в одной из этих стран.
4. Купить на них на Бинансе USDT с потерей 10-12%.
Все остальные истории типа вывести через SWIFT на счет в иностранном банке и там снять мы не рассматриваем по причине конских комиссий, тяжести прохождения переводов сейчас и прочих ограничений, что явно превышает риски комиссий из п. 4.
То есть купить вы доллар по 63 можете, а сделать с ним (почти) ничего нельзя.
Стоп, а что с наличной валютой?
Как я выше писал, наличной валюты в стране очень много и она продолжает завозиться. Но она дороже, так как более ликвидна. С наличной валютой можно купить товары и услуги в любой стране (обменяв на местную или просто), что гораздо выгоднее, чем обменивать на месте рубли (см. курс в Беларуси, например). Чаще всего рубли обменять невозможно.
Именно ликвидность определяет в том числе и стоимость активов.
Сейчас «пирамида ликвидности» выглядит следующим образом:
Безналичная валюта в банке РФ < Наличная валюта <= Безналичная валюта на карте банка НЕ РФ.
Что? Откуда тут другие банки? И почему больше или равно?
Сервисы и бренды ушли, а потребность оплачивать что-то осталось. Поэтому 50 долларов в кошельке круто, конечно, но 50 долларов на карте банка не РФ иногда круче, так как ими можно отель на букинге оплатить, например или подписку на PS (или что там у вас). Реклама, в том числе и на Пикабу говорит о разнице в 10-40% на оплату подписки.
То есть…?
Да. Теперь доллар на сайте условного Амазона стоит для вас на 20-40-60% дороже, независимо от курса (пусть хоть 30 будет). И так будет, скорее всего, долго. Привет посредникам, помогалам и прочим добрым людям. Имея запас долларовой ликвидности, можно неплохо ее продавать.
Но ты писал про чуть ли не 300 в начале поста?
Да, а теперь умножим все издержки на сложность логистики. И имеем условный набор Лего в Европе за 30 евро и за 10 тыс. руб. в Москве (в наличии).
Да, теперь евро в условном универмаге Европы стоит на 50-500% дороже для вас, если вам это в Россию доставили.
Так что делать? Тратить? Покупать?
Все правильно пишут другие авторы. Сейчас очень дорогой рубль, который выгодно тратить и (почти) выгодно занимать внутри страны. Поэтому рубли нужно либо конвертировать в валюту (ТОЛЬКО наличную), либо тратить на импортные товары, желательно по нормальному курсу (техника, косметика, электроника, автомобили, брендовая одежда и т. п.). На мой взгляд премия посредникам может быть 20-25% от цены в стране происхождения, не больше. Именно это и надо брать. Глупо что-то брать в ЦУМе или официальном ритейле. Мудро взять что-то, привезенное напрямую. Автомобили также имеет смысл рассмотреть не на рынке в РФ.
Также мудро покупать за рубли то, что стоит в валюте. Например, бронировать отели заграницей с оплатой с рублевой картой через небезызвестное приложение. Курс будет неплохим.
Тратим, обмениваем на бумагу. Впрочем, ничего нового.
Что точно не надо делать?
Точно не стоит досрочно гасить ипотеку, особенно если она у вас по 3-5-7-9 годовых. Поверьте, лучше потратить эти деньги или конвертировать. Точно не стоит досрочно закрывать кредиты, взятые менее, чем под 14% годовых. Рубль будет дешеветь быстрее.
Мой телеграм-канал — подписывайтесь;)
Я иногда поражаюсь некоторыми пассивным инвесторами, которые излучают из себя позитив 89 lvl. Их ничем не испугать. Просадка? Ничего страшного, отрастет! Акции забанили? Ну это же на неопределенный срок, точно разбанят! Не растет? Да просто нужно покупать дивидендные акции. Особенно в нынешних условиях, когда максимально свободно можно торговать лишь российскими акциями. И очень любопытно, что будет с портфелями, наполненными акциями, купленными на Мосбирже. Они что, реально отрастут?
Я, конечно, занимаюсь инвестициями не так давно и непрофессионально, лишь учусь, но то ли у меня критическое мышление развито, то ли мой я пессимист, то ли прагматичный реалист, но давайте лучше посмотрим, как всё всегда растет. Вдруг не всё, и стоит держать в голове подобный сценарий?
Nikkei 225 уже 33 года не обновлял исторический максимум, при этом 20 лет тренд был нисходящим.
Видим экономический пузырь в Японии с 1986 по 1991 год, характеризовавшийся многократным ростом цен на рынке недвижимости и фондовом рынке. Сдувание пузыря продолжалось около 20 лет, индекс Nikkei 225 упал в 5 раз: 29 декабря 1989г. = 38 957,33, 10 марта 2009г. = 7 054,98. К концу 1989 года P/E Nikkei 225 = 80, дивидендная доходность составила всего 0,38%. Подробнее об этом прекрасном восточном кейсе тут.
Индекс Мосбиржи раньше восстанавливался, но было такое, что ему на это требовалось 8 лет.
Впрочем, мы уже близки к тому самому максимуму 2008 года, а если бы нерезидентов не отключили, то, возможно, уже и до 1998 года добрались бы.
В первую очередь всегда росли американцы. Но все равно не всегда. S&P 500 с 2000 по 2012 не рос от слова совсем. 12 лет — солидный срок, и это еще нерезидентов не банили. Пузырь доткомов 2000 года запомнился не всем.
Пузырь доткомов лопнул 10 марта 2000 года, когда произошло обвальное падение индекса высокотехнологичных компаний NASDAQ Composite. Перед этим он достиг своего максимума в 5048, тем самым удвоив показатели годичной давности. Большинство компаний-доткомов лопнуло вместе с американской биржей акций. Подобрее тут.
Индекс UK 100 сегодня близок к максимуму 1999 года. По красоте.
Купившие на хаях в 1999 году до сих пор катаются (зачеркнуто) не стали миллионерами (впрочем, мы тоже).
Корейские боковики (не путать с вьетнамскими флешбеками) длинной в 25 и 15 лет тоже могут кого-то смутить.
Серьезно. 25 лет, Карл!
За крипту вообще сложно приводить аргументы. Еще недавно она она «бесконечно росла», но сегодня как-то даже и нет. Биток может обновить свой максимум исключительно за счет силы веры в него. Но это не точно.
А сколько коинов взлетели (или даже не взлетели), упали в ноль и так там и остались? F.
Что там у Мосбиржи?
Но вернемся к российским акциям. Иностранные инвестиции мы на какое-то время потеряли. Возможно, будут новые потоки из других стран. Но разве закончились риски? Нет.
Чтобы индекс рос, в акции из индекса должны вливаться деньги, причем в больших количествах. Дополнительным стимулом всегда были дивиденды, но в этом году компании массово отказываются от выплат (что логично, конечно, но некоторые сначала обещают, а потом такие: сорян, всем спасиб).
Да, конкретно сегодня вообще валится многое. Но готовы ли частные российские инвесторы к тому, что ждать роста индекса Мосбиржи придется неизвестно сколько лет? И ладно если 10, а если больше 30?
Выбор сегодня ограничен, СПБ Биржа ищет новые возможности, но вместе с Мосбиржей они не выглядят привлекательными для инвесторов. У зарубежных брокеров доступ ко всем акциям открыт, но с оговорками. Крипта валится. Недвижимость всегда растет (но это не точно).
Сохранить в первую очередь
Всегда остаются наименее рискованные варианты: вклады и облигации. Лично я для себя решил, что консервативные инструменты мне подходят больше, поэтому туда больше, а в акции меньше.
То, что происходит сейчас, еще не происходило никогда, а это значит, что впереди нас может ждать еще много сюрпризов. Которые тоже не происходили никогда. Так что в моей стратегии сегодня: вклады, облигации и до 15% акций. Пока российских. Нет гарантий, что не заморозят и другие иностранные.
Диверсификация
Про диверсификацию скажу буквально пара слов. Когда доступ был ко всем бумагам, многие гуру/эксперты/блогеры говорили, что в российский рынок не стоит класть более 10-15%. Сегодня все чаще слышу про 50%+. А то и все 100%.
Сорян, гайз, что-то изменилось в позитивную сторону? Раньше не было таких рисков даже на горизонте, и было 10-15%, а теперь 50%? Только из-за того, что риски по акциям США и Европы возросли? Лично я скептически смотрю на такое. Боковик на 20 лет + отсутствие или падение дивов — вероятная история? А почему нет? Точно так же, как и рост на 100%? Вероятно. Очень бы не хотелось на 20 лет застрять в 50% руакций.
Естественно, может случиться и обратное. Индекс Мосбиржи пойдет туземун, потому что арабские хипстеры понесут деньги с завтраков в акции Сбербанка и Газпрома. Или ЦБ решит провести интервенцию в акции. Скажет Набиуллина — надо, значит надо.
Дзен
Инвесторы со стажем говорят, что дзен в инвестициях — это одна из важных составляющих. Сложно не согласиться. Истеричные телодвижения уже привели многих к покупке баксов по 120-150, скупке золота на хаях, перекладыванию рублей в биток через доллары при курсе от 100 с последующим падением битка. Многие пассивные инвесторы переобулись в пассивных (зачеркнуто) истеричных инвесторов. Почему? Рынок непредсказуем.
Лучшее действие — это бездействие. Не всегда, но когда паника, лучше уехать в глухой лес, где словить можно только белку, но не интернет с новостями и котировками.
И еще про раз риски
Высокая доходность — это не только ценный мех, но и 3-4 килограмма легкоусвояемого риска. Чем выше потенциальная доходность, тем выше риски (читай потенциальная отрицательная доходность). Как их можно снизить?
Нивелирование рисков достигается через диверсификацию (по странам, отраслям, компаниям, активам), ребалансировку и крепкие нервы. Не через усреднение, не через веру в ракеты и не через фигуры технического анализа.
Кто не рискует, тот не пьет шампанское. Но не все, кто рискуют, его пьют с черной икрой. Каждому свое, каждому самому решать, на какие риски он готов. Рисков сегодня стало больше. Спасибо.
Подписывайтесь на мой телеграм-канал, если интересно. В нем я рассказываю про то, как изучаю инвестиции, инвестирую, провожу различные финансовые эксперименты и коплю на квартиру в Сочи.
В этом видеоматериале мы научимся тому, как в большом количестве данных проверить баланс монет Биткоина используя для этого Python-скрипт bitcoin-checker py
Так же мы научимся конвертировать публичный ключ Биткоина PUBKEY (HEX) в Биткойн Адрес (Base58) всю эту большую работу делает Python-скрипт pubtoaddr pyВ итоге мы с особой легкостью будем проверять баланс Биткоина, сканируя Блокчейн в терминале Google Colab
«Автомашину куплю с магнитофоном, пошью костюм с отливом и в Ялту».
Именно этот фрагмент из фильма «Джентльмены удачи» я себе представлял, когда совет директоров компании Газпром рекомендовал к выплате рекордные в истории дивиденды в размере 52,53 рубля на акцию. Но, к сожалению, не случилось.
Главный акционер компании в лице государства принял решение, что автомашина с магнитофоном и Ялта смогут подождать (дивиденды не выплачивать) и что государству эти деньги сейчас нужнее (забрать эти деньги себе, введя повышенный налог на добычу полезных ископаемых по сумме практически равный сумме рекомендованных дивидендов).
Я не смог равнодушно отнестись к этому событию, так как буквально пару недель назад продал все доллары по 56 рублей (при средней цене покупки 72 рубля) и переложил всю сумму в акции компании Газпром, рассчитывая получить 17% дивидендной доходности на вложенную сумму.
Но обещать не значит жениться. Дивиденды было решено не выплачивать, после чего акции Газпром за один день упали на 30%.
Вся боль заключается в том, что в марте, мысленно переводя имеющиеся 12000$ в рубли по курсу 120₽, я получал 1.440.000₽. Продав доллар по 56 рублей две недели назад, я переложил 680.000₽ в акции Газпром по 315 рублей. После решения не выплачивать дивиденды, цена акций упала до 192 рублей, а сумма моих вложений скукожилась до 400.000₽.
Синдром упущенной выгоды (FOMO) постучал в мою дверь… дважды.
Ошибкой было направлять всю сумму от продажи долларов на покупку акций только одной компании. Я отошел от прописных истин, наплевал на диверсификацию, сделал крупную ставку и она не сыграла. Что ж, рынок в очередной раз наказал тех, кто решил его обыграть. Или правильнее сказать государство?
Мой портфель РФ «Июнь 2022»
В этом месяце российская часть инвестиционного портфеля выглядит следующим образом:
Статистика портфеля FIRE (RU) - 'Июнь 2022'
• Общие вложения в акции РФ: 1 636 710,66 ₽
• Стоимость портфеля в настоящий момент: 1 093 841,06 ₽
• Срок с момента начала ведения портфеля: 10 месяцев
• Прибыль (рост стоимости акций + дивиденды): -542 869,60 ₽
• Общий прирост портфеля в %: -33,4%
Коротко о том, как я сохраняю свои деньги от инфляции: 9 из 10 месяцев — отрицательный рост! Только 1 компания из 11 показывает символический плюс, все остальные в глубоком минусе.
Газпром. Эмоции
Для начала процитирую Нассима Талеба (книга «Черный лебедь. Под знаком непредсказуемости»):
Представьте себе индюшку, которую кормят каждый день. Каждый день кормежки будет укреплять птицу в убеждении, что в жизни существует общее правило: каждый день дружелюбные представители рода человеческого, «заботящиеся о ее благе», как сказал бы политик, насыпают в кормушку зерно. Накануне Дня благодарения с индюшкой произойдет нечто неожиданное. Это нечто повлечет за собой пересмотр убеждений.
С точки зрения индюшки отсутствие кормежки в тысяча первый день – это Черный лебедь. Но не с точки зрения мясника: он ожидал того, что произошло. Отсюда вывод: Черный лебедь – это проблема лоха. Иными словами, ее наличие зависит от ваших ожиданий. Вам понятно, что вы можете истребить Черного лебедя с помощью науки (если это вам по силам) или широкого взгляда на вещи. Конечно, при помощи науки Черного лебедя можно и создать: достаточно уверить всех, что Черный лебедь им не грозит – вот так наука превращает разумных граждан в лохов.
А теперь давайте посмотрим на процесс кормежки индюшек на примере компании Газпром.
► В конце мая совет директоров «Газпрома» рекомендовал выплатить рекордные за всю историю рынка РФ дивиденды за 2021 год — 52,53 руб. на акцию.
► В середине июня глава ЦБ заявила о необходимости вернуть доверие разочарованных инвесторов.
► На сайте «Газпрома» в разделе «Акционерам и инвесторам» нам рисуют красивейшие картинки с рекомендованными дивидендами:
► За день до решения по дивидендам «Газпром» публикует в YouTube фильм «Люди Газпрома».
А 30 июня настал День благодарения…
И меня вместе с вами 🙂
Конечно, чувство довольно поганое, что тут ещё сказать. Подозреваю, что веру в российский фондовый рынок в очередной раз очень сильно подорвали. Но я почти уверен, что через время на рынок придет новая партия непуганых инвесторов и все повторится вновь.
Проверка на прочность
Я вполне осознанно принял на себя такой риск, удостоив Газпром слишком большой части в своем портфеле. Я всегда говорил, что морально готов к рыночным просадкам и что мой горизонт инвестирования составляет 10-15 лет, поэтому продажу акций из-за существенной просадки не рассматриваю.
Сейчас отличная возможность на практике проверить свою устойчивость к различным потрясениям, которые могут встретиться на пути частного инвестора. Одно дело читать теорию и АБСОЛЮТНО другое — прочувствовать всё это на практике.
Хочу поделиться тем, как я отношусь к текущей потере части капитала за столь короткий отрезок времени, иными словами: как я себя успокаиваю.
Поиск ложки меда в бочке дегтя
Во-первых, ничего страшного не произошло. Моя повседневная жизнь абсолютно никак не поменялась. На улице все так же поют птички и светит солнце. Отсутствие долгов и наличие подушки по-прежнему придает некоторую уверенность в завтрашнем дне.
Во-вторых, если не продал акции, значит прибыль или убыток не зафиксировал. Очень сильно радоваться бумажной прибыли и также сильно расстраиваться из-за бумажного убытка, на мой взгляд, бесполезное занятие.
Я часто замечал за другими инвесторами, как они измеряют свой бумажный убыток в домах, квартирах, машинах и даже яхтах.
«Вот Газпром упал на 30%. А ведь я мог на эти деньги купить BMW X6 из салона в максимальной комплектации».
Самое интересное, что покупка авто даже не входила в их планы, а те же рекомендованные дивиденды от Газпрома планировалось отправить обратно в рынок на покупку акций других компаний. Выходит, что потенциальные дивиденды в уме реинвестируем, а бумажные убытки почему-то измеряем в материальных вещах, которые не купили.
Если речь о действительно долгосрочном инвестировании, то воспринимать просадку даже в 50-90% следует, как вполне ожидаемое и даже закономерное событие. Конечно, если речь не о хайповых NFT-кроссовках от StepN и их токенах GST, которые упали и уже точно не вырастут до прежних значений.
В-третьих, обычная диверсификация, в том числе и по классам активов, уберегла бы от подобного сценария (но это не точно).
Ещё я очень рад, что не занимаюсь инфоцыганством, не продаю курсы, не провожу платные консультации, не зазываю в платный VIP-канал и не являюсь автором какой-нибудь стратегии автоследования. Я рискую только собственной шкурой, стараясь открыто рассказывать об этом в блоге. Бумажный убыток или даже реальная потеря собственных денег меня не сильно пугает, чего нельзя сказать о ситуации, где я беру ответственность (даже в неявном виде) за финансовый результат других людей, с которых я взял деньги.
И последнее: потеря здоровья и/или трудоспособности — вот что действительно страшно. На этом фоне даже полное обнуление — всего-лишь небольшая неприятность, а точнее опыт.
Выводы
Недавно один из моих друзей спрашивал: стоит ли купить акции Газпром на деньги, которые были отложены на летний отпуск. Я сообщил о высоком риске и отговорил его, не смотря на то, что сам такой риск взять не побоялся.
Вывод №1. Не стоит НИКОГДА и НИКОМУ давать никаких советов в части «куда вложить деньги». Этот вывод я сделал для себя уже давно, но сейчас в очередной раз убеждаюсь в его правильности. Здесь, конечно, не все так однозначно. Если близкий человек услышал про очередной StepN и пожелал вложиться, то лучше все-таки отговорить)
Вывод №2. Не стоит надеяться на фундаментальный и технический анализ или на разбор компании инвестиционными блогерами. Что толку от того сколько денег заработал Газпром и какие дивиденды рекомендовал к выплате? Если не ты владелец казино (т.е. мажоритарный инвестор), то будь готов к изменению правил игры «на лету». Если что-то кажется дешевым, то, скорее всего, существуют риски, которые ты не замечаешь или не хочешь замечать. Вспоминаем вечную недооценённость российских компаний (низкий P/E).
Вывод №3. Риск — это то, что остается, когда вроде бы все просчитал и ко всему подготовился.
Вывод №4. Никогда не стоит пренебрегать диверсификацией, даже когда кажется, что рисков нет или они незначительны. При существенных суммах по возможности не держать более 10% в одном активе.
Вывод №5. Всё-таки на пути к FIRE в России стоит делать «сохранения» и фиксировать несгораемые суммы, например покупая недвижимость. Если процесс накопления экстремальный и предполагает отказ от желаемого комфорта, то разумно пересмотреть свой подход к норме сбережений, чтобы в случае безвозвратной потери капитала или существенной его части не было так обидно и горько.
Вывод №6. Капитал — это хорошо. Но гораздо важнее иметь способность генерировать/зарабатывать деньги. Недавно делал небольшую заметку на эту тему.
Вывод №7. Жизнь — штука хрупкая. Не стоит откладывать свою идеальную версию жизни на после потом. FI/FIRE — это всего-лишь ачивка, которую можно получить во время прохождения игры под названием жизнь и вряд ли стоит делать финансовую независимость глобальной целью всей жизни. Чрезмерная и неоправданная экономия, как и чрезмерное потребление — крайности, которых следует избегать.
Если говорить про финансовые потери, то Данила Козловский в фильме Духless говорил, что это всего-лишь бабки, с*ка, бабки:
2022 год насыщен событиями, вероятность осуществления которых была крайней мала. Прилетел черный лебедь и сработал эффект домино. Сейчас главное не упасть духом, приспособиться к новым правилам игры и продолжать свой путь.
Непобедимость заключена в себе самом, возможность победы заключена в противнике.
Сунь-цзы. Искусство войны.
************
На протяжении трех лет я открыто пишу о своем инвестиционном (в данный момент горьком) опыте и о том, как собрался накопить на раннюю пенсию в России в своем блоге: https://t.me/wkpbro, иногда дублируя посты на Пикабу.
В этой статье мы поговорим о извлечение значений подписи ECDSA R, S, Z из блокчейна Биткойн, но для начало вспомним о самой первой серьезной уязвимости в транзакции блокчейн которую обнаружил Нильс Шнайдер (Nils Schneider он же – tcatm)
Биткоин-разработчик и владелец "BitcoinWatch" & "BitcoinCharts".
25 декабря 2012 года Нильс обнаружил потенциальную слабость в некоторых транзакциях блокчейна Биткойна.
Посмотрите на эту транзакцию:
transaction: 9ec4bc49e828d924af1d1029cacf709431abbde46d59554b62bc270e3b29c4b1
input script 1:
30440220d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad1022044e1ff2dfd8102cf7a47c21d5c9fd5701610d04953c6836596b4fe9dd2f53e3e0104dbd0c61532279cf72981c3584fc32216e0127699635c2789f549e0730c059b81ae133016a69c21e23f1859a95f06d52b7bf149a8f2fe4e8535c8a829b449c5ff
input script 2:
30440220d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad102209a5f1c75e461d7ceb1cf3cab9013eb2dc85b6d0da8c3c6e27e3a5a5b3faa5bab0104dbd0c61532279cf72981c3584fc32216e0127699635c2789f549e0730c059b81ae133016a69c21e23f1859a95f06d52b7bf149a8f2fe4e8535c8a829b449c5ff
Эта транзакция имеет два входа и один выход.
Если вы внимательно посмотрите на два входных скрипта, то заметите, что в начале и в конце есть довольно много одинаковых байтов.
Эти байты в конце представляют собой закодированный в шестнадцатеричном формате публичный ключ адреса, на который расходуются монеты, так что в этом нет ничего плохого.
Однако первая половина скрипта — это фактическая подпись (r, s):
r1: d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad1
r2: d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad1
s1: 44e1ff2dfd8102cf7a47c21d5c9fd5701610d04953c6836596b4fe9dd2f53e3e
s2: 9a5f1c75e461d7ceb1cf3cab9013eb2dc85b6d0da8c3c6e27e3a5a5b3faa5bab
Как видите, r1 равно r2. Это огромная проблема.
Мы сможем восстановить закрытый ключ на этот публичный ключ:
04dbd0c61532279cf72981c3584fc32216e0127699635c2789f549e0730c059b81ae133016a69c21e23f1859a95f06d52b7bf149a8f2fe4e8535c8a829b449c5ff
Для этого мы можем воспользоваться простой формулой из школьной алгебры ;)
private key = (z1*s2 - z2*s1)/(r*(s1-s2))
Нам просто нужно найти z1 и z2
Это хэши выходов, которые нужно подписать. Давайте получим выходные транзакции и посчитаем их (вычисляется OP_CHECKSIG):
z1: c0e2d0a89a348de88fda08211c70d1d7e52ccef2eb9459911bf977d587784c6e
z2: 17b0f41c8c337ac1e18c98759e83a8cccbc368dd9d89e5f03cb633c265fd0ddc
Далее упакуем все эти значение в один Python-скрипт: vulnerabilityR.py
Python-скрипт: vulnerabilityR.py
p — это всего лишь порядок G, параметра кривой secp256k1, используемой Биткойном.
Создадим поле для наших вычислений:
K = GF(p)
K((z1*s2 - z2*s1)/(r*(s1-s2)))
Запускаем скрипт:
python3 vulnerabilityR.py
Далее наш скрипт: vulnerabilityR.py вычислит закрытый ключ в этом поле:
ADDR: 1BFhrfTTZP3Nw4BNy4eX4KFLsn9ZeijcMm
WIF: 5KJp7KEffR7HHFWSFYjiCUAntRSTY69LAQEX1AUzaSBHHFdKEpQ
hex: c477f9f65c22cce20657faa5b2d1d8122336f851a508a1ed04e479c34985bf96
Проверяем закрытый ключ на сайте bitaddress
Закрытый ключ найден!
Конечно же, разработчики Биткоина устранили эту уязвимость внедрив детерминированные функции.
Эта функция RFC 6979 вносит в подпись Биткоина элемент случайности, что усиливает криптостойкость транзакции ECDSA
Document [PDF]: RFC 6979: Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)
Как мы знаем на практике в блокчейне Биткоина есть совершено другие уязвимые транзакции.
Ранее мы опубликовали статью: «Одна слабая транзакция в ECDSA в блокчейне Биткоина и с помощью Lattice Attack мы получили Private Key к монетам BTC»
Теперь давайте самостоятельно получим публичный ключ Bitcoin ECDSA и значение R, S, Z из файла «RawTX.json» (который мы получили в 01BlockchainGoogleDrive )
Для этого воспользуемся Терминалом для Google Colab [TerminalGoogleColab]
Ранее я записывал видеоматериал: «TERMINAL в Google Colab создаем все удобства для работ в GITHUB»
Давайте перейдем по репозитории «CryptoDeepTools» для детального криптоанализа и разберем в детали работу Bash-скрипта: getsign.sh
И так давайте разберем в детали всю работу Bash-скрипта: getsign.sh
cat RawTX.json > index.json
Делаем копию файла RawTX.json в новый файл index.json
for run in {1..4}; do
Открываем ЦИКЛ так как в файле index.json 4 строк берем {1..4}
export LINE=1 ; sed -n "${LINE}p" index.json > index2.json
Утилита export берет строку №1 и сохраняет в новом файле index2.json
sed -i '1d' index.json
Утилита sed удаляет строку №1 из файла index.json
Утилита echo создает нам Python-скрипт fileopen.py
python3 fileopen.py
Запускаем Python-скрипт fileopen.py и с успешно создает новый Bash-скрипта: signscript.sh
chmod +x signscript.sh
./signscript.sh
Получаем права на Bash-скрипт: signscript.sh
В результате запускается Python-скрипт breakECDSA.py который в итоге извлекает из RawTX значение R, S, Z и публичный ключ Bitcoin
Все это сохраняется в файл: "signatures.json"
rm signscript.sh
rm fileopen.py
Утилита rm удаляет Python-скрипт fileopen.py и успешно создает новый Bash-скрипта: signscript.sh
done
В итоге все завершится после 4-х циклов
rm index.json
Цикл закрывается и утилита rm удаляет index.json
Bash-скрипт: getsign.sh Завершает работу!
Теперь мы научились:
- Получать публичный ключ Bitcoin из ECDSA
- Получать значение R, S, Z из ECDSA
- Применить это для криптоанализа
Исходный код: https://github.com/demining/CryptoDeepTools/blob/main/02BreakECDSAcryptography
Telegram: https://t.me/cryptodeeptech
Видеоматериал: https://youtu.be/BYd-cuFRZmM