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. Блок
В каком формате хранятся блоки? И где можно скачать для примера любой блок, входящий в Бч биткойна или эфира?

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

Edited by Helber
Восстановил прежнее название темы
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

  • Helber 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

    • Ник Картер: «К созданию биткоина приложило руку Агентство национальной безопасности США»

      Популярный криптоэнтузиаст попытался оправдать спорную теорию о том, что Агентство национальной безопасности США (NSA) сыграло решающую роль в создании первой криптовалюты. За годы, прошедшие с момента создания биткоина, у криптосообщества не было недостатка в смелых предположениях и теориях заговора о том, как, кем и зачем был создан BTC.   Есть версия, что Биткоин был придуман Коммунистической партией Китая – предположительно, ради мирового господства. Другие утверждали, что это рабо

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

    • Общие вопросы по майнингу

      Господа "Вовчики"- новички! Ваше желание попав в наше крипто-царство побыстрее начать рубить бабло собственно говоря естественно понятно... И почти для всех кто здесь обитает-материальная составляющая этого увлекательного процесса "майнинга" имеет главное значение! Но! Уж будьте так любезны-попав в нашу многочисленную семью криптообразных начинать свое вхождение не с тупых вопросов про кнопку БАБЛО, а с хотя бы ПОВЕРХНОСТНОГО проглядывания Разделов этого форума и далее заголовков Тем в этих Разд

      in Общие вопросы по майнингу

    • Nasdaq приостанавливает работу по созданию криптовалютной кастодиальной службы

      Американская фондовая биржа Nasdaq отказывается от своих планов по запуску сервиса хранения криптоактивов, запуск которого был анонсирован на конец первого полугодия. В марте старший вице-президент фондовой биржи Nasdaq по цифровым активам Айра Ауэрбах (Ira Auerbach) говорил, что компания находится на стадии создания технической инфраструктуры, призванной обеспечить хранение цифровых активов. С этой целью Nasdaq обратилась в Департамент финансовых услуг Нью-Йорка (NYDFS) за разрешением на с

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

    • Вопросы про электросчетчик и электричество

      Всем привет! 1) Получилось так, что в нужно поменять электросчетчик в частном доме. Счета за электричество при работающей ферме весьма не радуют, по этому я подумал что раз менять, то нужно подойти к делу ответственно и выбрать такой счетчик, который можно было бы легко остановить или замедлить. Собственно вопрос: что какой купить, как остановить, как не спалиться? Почему спрашиваю на этом форуме? Да потому что думаю половина форумчан точно юзает халявное электричество) 2) Вместе со счетчиком

      in Аппаратная часть

    • Грузинские власти привлекли Tether к созданию национальной блокчейн-инфраструктуры

      Стратегическое сотрудничество между эмитентом стейблкоина USDT и правительством Грузии должно сосредоточиться на создании национальной экосистемы, ориентированной на биткоины и одноранговые сети. Выступая с совместным заявлением, компания Tether, стоящая за крупнейшим по капитализации стейблкоином USDT, и правительство Грузии объявили, что основная цель партнерства — превратить страну в глобальный блокчейн-хаб.   На начальном этапе деятельность партнеров будет сосредоточена на развити

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

×
×
  • Create New...