Jump to content

Блокчейн


Recommended Posts

Всем привет! Мой первый пост, поэтому прошу не судить строго, если запостил не в тот раздел, но вроде как финтех - самых подходящий.

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

Краткая предыстория: про блокчейн слышал давно, но как-то не сталкивался. Недавно решил вникнуть более подробно, после чего появилось стойкое желание создать свой блокчейн с блекджеком и ... Ну, вы поняли.

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

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

1. Принцип авторизации.
У меня, как у владельца кошелька есть приватный ключ и публичный (собсно т.н. "кошелек"). Предположим, я решил произвести платеж. Для авторизации мне необходимо ввести где-то свой приватный ключ. ГДЕ я должен это сделать и ПОЧЕМУ я должен доверять тому ресурсу, где я его ввожу? Ведь по сути я вверяю все средства на кошельке тому, на чьей странице или в чьем приложении ввожу эти данные. Правильно я понимаю, что вводя данные в каком-то приложении-кошельке типа MetaMask и т.п. я просто полагаюсь на порядочность той конторы, которая создала этот кошелек? Аналогично тому, что если я ввожу данные карточки, включая CVV в какой-нибудь Интеркассе, я полагаюсь на то, что Интеркасса - надежная контора и не будет химичить с моей карточкой, а переведет нужную сумму по счету, возьмет свою комиссию и благополучно про меня забудет? Или я что-то не понимаю и это как-то иначе работает? И если я принципиально не пользуюсь кошельками, созданными третьими лицами, где я авторизуюсь в этом случае и главное - почему я доверяю тому месту, где ввожу свои данные?
То же самое и при регистрации. Где я регистрирую кошелек и почему верю тому, где регистрирую.
Если посмотреть, например, вебмани - там все понятно - если на каком-то сайте выбрать оплату в вм, то тебя переносит на сайт вм, где ты собсно и авторизуешься, не опасаясь, что твой логин/пароль могуть быть скомпрометированы. Здесь же система децентрализована и я не совсем пойму, как гарантируется, что мои данные не будут украдены?

2. UTXO
Зачем это вообще нужно? Это так и было задумано, или это неизбежные издержки самой технологии? Если я правильно понял - если Петя пришлет мне 1 биток, а я решу отдать Васе 0,3 битка, то я как бы отошлю ему 1 биток и получу сдачу 0,7 битка. А если у меня было несколько вхождений, то возможно, что в исходящем платеже будет уже куски нескольких входящих платежей и с какого-то я получу сдачу. Но зачем? Почему бы просто не получить 1 биток, отдать 0,3 и получить в сухом остатке просто 0,7 битка? Какой смысл иметь информацию о том, из каких именно входящих платежей остались деньги на моем счете? Ведь каждый биток неуникален. Зачем вести такие сложные расчеты? В чем их смысл?
Как я понял, отсюда еще и возникает проблема т.н. "атаки криптопылью", хотя я тоже, честно говоря, так и не понял, в чем его смысл, как это помогает отправителю следить за историей транзакций получателя? Ведь его транзакции и так доступны всем. 

3. "Красивые" хеши блоков - насколько они важны и нужны?
Нет, я конечно понимаю, в чем их смысл и сила - невозможно подделать большое количество блоков, так как возникнет необходимость пересчитать каждый последующий блок и подобрать к нему "красивый" хеш. Дешевле купить битка по-чесноку, чем попытаться провернуть такое, так как финансовые затраты и время, необходимое на такую махинацию заоблачны. Мне непонятно другое: действительно ли существует необходимость в такой валидации? Ведь сотни тысяч экземпляров истиного БЧ хранятся на сотнях тысяч устройств по всему миру. Соответственно, подделка БЧ на одном, или даже сотне компьютеров не даст никакого результата. Предположим, что блоки просто хешируются без выкрутаса по поиску "красивого" хеша и пересчитать хеши и переделать всю цепочку дело нескольких минут или часов. Как это поможет злоумышленнику, если по-прежнему на сотнях тысяч компьютеров хранится сотня тысяч правильных БЧ? В каком случае сеть решит, что именно его Бч единственно верный, а не БЧ сотен тысяч других ппользователей? Единственный смысл в данной операции - сделать так, чтобы генерация каждого блока происходила примерно раз в 10 минут? Но это такое себе достижение как по мне. Ведь чем быстрее работает БЧ, тем лучше. Разве нет? Мне кажется, что Сатоши просто не представлял себе масштабов трагедии, которая возникнет в связи с ростом сети. Иначе он бы отказался от такого варианта, или я чего-то не понимаю, или упускаю?
Насколько уязвимее стал бы биткойн, если бы в нем вдруг стали использовать обычные хеши?

4. Мемпул
Он один? Если да, то я не совсем понимаю, почему в теории у разных майнеров могут быть разные наборы транзакций, которые они решают включить в блок? Ведь если мемпул один и каждый адекватный майнер хочет получить максимальное вознаграждение за свою работу - почему их блоки могут отличаться? По идее у них будут одни и те же транзакции включены. Или разговор о том, что разница в начале формирования блока у них разная и поэтому могли появиться какие-то транзакции в мемпуле с бОльшей оплатой? Или еще какие-то причины есть?

5. Выкладывание скрипта работы блокчейна на гитхаб.
99% блокчейнов выложены их разработчиками на гитзабе. Зачем? Это не вопрос жадности - если бы я создал нормальный блокчейн, я бы им поделился. Но меня смущает другой вопрос: выкладывая свой проект на гитхабе разработчики своими собственными руками передают в руки зловредов самое мощное оружие, которое только могли дать - свой код. Бери и экспериментируй, ищи дыры и юзай, пока они есть. Понятно, что на гитхабе огромное комьюнити, которое может на эти самые дыры указать и помочь их залатать. Но во-первых не факт, что зловреды не окажутся проницательнее и как быть, если проект уже запущен? То есть по факту, разраб выкатывает код в паблик, имея все шансы на то, что после этого проект, работающий на этом БЧ имеет все шансы быть взломаным.

6. Блок
В каком формате хранятся блоки? И где можно скачать для примера любой блок, входящий в Бч биткойна или эфира?

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

Link to comment
Share on other sites

27 минут назад, bcjunior сказал:

появилось стойкое желание создать свой блокчейн с блекджеком и ... Ну, вы поняли.

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

 

Ваши вопросы про приватные ключи, UTXO и мемпул не имеют отношения к блокчейну - это всё отдельные подсистемы криптовалют. Судя по набору ваших вопросов, вас на самом деле интересует вопрос: Как работает Bitcoin? Поэтому, вам бы лучше сперва почитать книгу про Bitcoin, там есть ответы на многие ваши вопросы.

 

45 минут назад, bcjunior сказал:

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

А это, вообще, фундаментальный вопрос безопасности, не имеющий отношение исключительно к криптовалютам. Принцип сокрытия реализации алгоритма ради безопасности называется Security through obscurity и не считается эффективным. Хуже того, сокрытие деталей реализации алгоритма рождает недоверие к разработчику: А не встроил ли он в алгоритм бэкдоры? Доверие к разработчику очень важно в мире криптовалют, ведь, если пользователь потеряет свои криптовалютные средства по причине косяков в коде, разработчик ничего возмещать не будет.

Link to comment
Share on other sites

11 часов назад, bcjunior сказал:

Писать решил с нуля

Почитал вопросы. ИМХО, пока вы не осилите. 

Я бы посоветовал вам:

- для старта почитать то, что указали выше - это даст вам модель того, как всё задумывалось и как работает изнутри + исходники BTC (вы же хорошо разбираетесь в коде, в тч чужом, так как амбициозно хотите писать с нуля?). В исходниках, причём, с самого первого релиза, есть ответы на все ваши вопросы, в том числе на то, что вы называете "авторизацией"

- сделать клон проекта любой монеты (не для гитхаба), внести правки в код, касающиеся сети и для логгирования - уровня инфо

- запустить у себя эту сеть с 3-4мя нодами, ну и разбираться

Для простоты эксперимента отлично пойдут старые релизы BTC Core, но их будет проблематично собрать на современных ОСях. Современные версии собираются легко, но сходу может быть решаемая проблема с BerkeleyDB, правда, для ноды без кошелька она не нужна (так или иначе , в этой сети будет нужна пара собранных кошельков с необходимыми правками)

Edited by romariogland
Link to comment
Share on other sites

  • 2 years later...

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

Link to comment
Share on other sites

6 часов назад, mihmurashko сказал:

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

Простейший блокчейн своими руками

Пишем свой блокчейн

Link to comment
Share on other sites

  • rammendo changed the title to Блокчейн

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Topics

    • Испанца Алехандро Као де Бенос арестовали за блокчейн-конференцию для северокорейцев

      Гражданин Испании арестован у себя на родине за организацию конференции о блокчейне и криптовалютах на территории КНДР. Мероприятие способно помочь Северной Корее уклоняться от санкций, уверены правоохранители. Алехандро Као де Бенос (Alejandro Cao de Benos) был задержан на железнодорожном вокзале Мадрид-Пуэрта-де-Аточа. Как утверждает Министерство юстиции США, в апреле 2019 года Бенос продемонстрировал северокорейским чиновникам, как государство может использовать новейшие технологии для о

      in Новости криптовалют

    • Британский бренд New Look будет использовать блокчейн для отслеживания поставок одежды

      Модный британский бренд одежды New Look объявил о сотрудничестве со стартапом TrusTrace для отслеживания с помощью блокчейна процесса изготовления и поставки товара. Логистический проект называется Kind to our Core и, уверяют создатели, должен сделать процесс создания и продажи одежды экологичнее. По данным New Look, на долю швейной индустрии приходится до 20% промышленного загрязнения воды. Блокчейн поможет хотя бы частично решить проблему, надеется руководство управляющей компании бренда.

      in Новости криптовалют

    • МФТИ запустит публичный блокчейн совместно с другими университетами

      Московский физико-технический институт заявил о планах по запуску первого в России публичного блокчейна. Новая сеть сможет использоваться как в коммерческих, так и некоммерческих проектах. Помимо МФТИ в проекте участвуют и другие ведущие российские университеты. О планах по запуску публичного блокчейна представители физико-технического института заявили на третьем конгрессе молодых ученых.   «Развитие блокчейна в России зависит от двух факторов: наличия общедоступных сетей и их деце

      in Новости криптовалют

    • Блокчейн vs экономика: когда биткоин сможет стать новой мировой резервной валютой

      Резервная валюта существует, чтобы страны могли торговать между собой. Биткоин, формально, подходит для этих целей, но могут ли люди и государства признать BTC резервной валютой? Каковы шансы, что это произойдет в ближайшее время? Сейчас достаточно много валют являются резервными: доллар, евро, фунт стерлингов, франк и так далее. Американский денежный знак является доминирующим при формировании резервов. Это не касается отдельных юрисдикций вроде России, на которую с 2022 года наложены бесп

      in Новости криптовалют

    • Запущена блокчейн-игра Undeads Rush

      Команда Undeads запускает игру Undeads Rush, созданную для владельцев Undeads Metaverse NFT. Undeads Rush предваряет выпуск ААА-игры на блокчейне, релиз которой произойдет в ближайшие полтора года. Как отмечает команда проекта, блокчейн-игра Undeads Rush — знак признательности владельцам NFT Undeads Metaverse. Игра позволяет использовать возможности NFT, чтобы разблокировать захватывающий игровой процесс и прибыльные награды. Отслеживать свой прогресс и достижения можно в таблице лидеров на

      in Новости криптовалют

×
×
  • Create New...