Перейти к содержанию

Вопросы по созданию блокчейна


bcjunior

Рекомендуемые сообщения

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

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

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

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

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

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

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

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

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

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

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

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

Изменено пользователем Helber
Восстановил прежнее название темы
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

 

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

 

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

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

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

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

Изменено пользователем romariogland
Ссылка на комментарий
Поделиться на другие сайты

  • 2 года спустя...

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

  • Helber изменил название на Вопросы по созданию блокчейна

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Similar Topics

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

×
×
  • Создать...