Jump to content
Sign in to follow this  
bcjunior

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

Recommended Posts

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

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

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

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

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
27 минут назад, bcjunior сказал:

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

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

 

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

 

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

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

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

Share this post


Link to post
Share on other sites
11 часов назад, bcjunior сказал:

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

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

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

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

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

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

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

Edited by romariogland

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Topics

    • Antminer. Все модели. Вопросы, помощь, обсуждение

      В этой теме обсуждается вся линейка продукции компании BITMAIN. А также все вопросы, связанные с использованием, настройкой, модернизацией и прочие околоANTовые вопросы.   Основные продукты:     Antminer S7 Он и правда существует!!! - https://forum.bits.media/index.php?/topic/18603-antminer-s1-s2-s3-s3-s4-s5-c1-s7-voprosy-pomosch-obsuzhdenie/page-542?p=309969&do=findComment&comment=309969   Прошивки официальные:   Образы прошивок для всех майнеров с BB

      in ASIC/FPGA майнеры

    • МВФ: «действия Сальвадора по легализации биткоина поднимают правовые и экономические вопросы»

      Представитель Международного валютного фонда (МВФ) заявил, что решение Сальвадора сделать биткоин законным средством платежа в стране поднимает «правовые и экономические» вопросы. Сальвадор стал первой страной в мире, которая признала биткоин в качестве законного платежного средства. Инициативу предложил президент страны Найиб Букеле (Nayib Bukele), а спустя всего пару дней Законодательная ассамблея Сальвадора одобрила законопроект. Власти страны надеются привлечь криптовалютные компании,

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

    • Базовые вопросы об адресах и ключах

      Добрый день. Совсем недавно начал разбираться в крипте, есть некоторые вопросы. В частности заметил, что если сделать dumpwallet в Bitcoin Core, то в итоговом файле увижу все свои ключи. И их там много. Объясните, пожалуйста, зачем это сделано так?? В смысле почему при создании кошелька сразу создается куча публичных ключей и адресов? Ведь смысл как раз в том, чтобы они не повторялись, а создание большого количества сразу может привести к тому, что когда-то повторятся. А еще объясните, пожа

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

    • Банк Японии призвал к созданию общих правил по выпуску государственных криптовалют

      По мнению высокопоставленного чиновника Банка Японии, семь крупнейших мировых центральных банков должны объединиться для разработки общих правил по выпуску государственных криптовалют. Глава департамента Банка Японии, курирующего разработку цифровой валюты, Казусиге Камияма (Kazushige Kamiyama) высказался относительно значения государственных криптовалют для разных стран.    По его словам, роль цифровых валют центральных банков будет отличаться для развитых стран с надежной банков

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

    • Grayscale ищет специалистов по созданию ETF

      Компания по управлению криптоактивами Grayscale опубликовала девять вакансий для развития направления ETF. Это говорит о намерении фирмы запустить биржевые фонды на криптовалюты. Компания Grayscale опубликовала в своем Твиттере ссылку на страницу с вакансиями компании, где указано, что фирма ищет специалистов по ETF. Ранее Grayscale никогда не заявляла о своем намерении запустить ETF на биткоин или другие криптовалюты, и не подавала соответствующие заявки в Комиссию по ценным бумагам и б

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

×
×
  • Create New...