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

Bitcoin протокол - вопросы


PindosoBritHunter

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

1. Каким образом биткойн кошелек и/или протокол биткойн рассчитывает сколько у меня денег/достаточно ли денег: каждый раз он вынужден пробегать по цепочке blockchain и считать сумму всех транзакцией моего кошелька?

 

2. сообщение о моей транзакции, как я понимаю, сопровождается моим публичным ключем для подтверждения идентичности. Значит в пакете каждой транзакции биткойнов содержится еще и публичный ключ?

 

3. проверка получателем, действительно ли отправитель имеет деньги:

Боб не просто идет вперед и принимает сделку. Вместо этого, он передает сообщение Алисы всей сети. Другие члены сети проверяют, имеет ли Алиса этот инфокоин. Если это так, они передают сообщение «Да, Алиса владеет инфокоином 1234567, теперь он может быть передан Бобу».Как только достаточное количество людей распространят этот послание в сети, все обновят свои цепочки блоков, которые будут показывать, что инфокоин 1234567 теперь принадлежит Бобу, и сделка завершена

 

а) Т.е. если у нас в сети 100тыс человек, то все они проверяют мою транзакцию?

б) что значит "достаточное кол-во людей"? Сколько это?

в) В какой момент эти остальные люди меняют цепочку блоков у себя? : вот кто-то получает запрос на проверку, ок, проверил - совпало и что сразу обновлять? А что если у нескольких других не совпадет?

г) Что случится если в сети появятся ну например 50тыс ботов на 100 тыс реальных пользователей, у которых будет совершенно своя история транзакций?

д) если предположить, что в сети появился миллион или даже 10 миллионов ботов, которые бессмысленно посылают друг-другу минимальную сумму биткойнов, то получим аналог Dos атаки и сеть просто встанет?

 

4

"Существует способ избежать этой проблемы, используя идею, известную как доказательство правильности работы (proof-of-work). Идея парадоксальна и включает в себя сочетание двух других идей: (1) (искусственно) сделать подтверждение транзакций затратными для пользователей сети в виде компьютерных вычислений; и (2), вознаградить их за помощь проверки транзакций.

...

Дэвид проверяет свою копию цепочки блоков, и видит, что каждая сделка годна. Он хотел бы помочь, отправив новость о годности сделок для всей сети.

 

Тем не менее, прежде чем сделать это, как часть протокола проверки, Дэвиду требуется решить непростую вычислительную задачу — доказательство правильности работы. Без решения этой задачи, остальная часть сети не будет принимать его проверку сделок."

 

Таким образом схематично мы имеем некую коробку в которой есть неподтвержденные транзакции и эта коробка закрыта неким шифром, который надо подобрать, прежде чем подтвердить транзакции. Соответственно возникают следующие вопросы:

 

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

б) Получается что если подтверждает только майнер, то если у нас есть свои 2 бота которые подтвердят сфальсифицированную транзакцию то все ее примут?

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

г) откуда берется вознаграждение за поиск ключа? Получается что в программе майнера стоит простое условие: если результат == ключу то баланс+=25 монет?? Если это так, то ведь ничего не мешает хакнуть такую программу. 

 

д) Кто "создает" и "запечатывает" в коробку транзакции пользователей и "выдумывает" для них ключ?

 

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

 

 

 

 

5) если в цепочке "коробок" появляется разветвление, то берется то, которое длиннее и оно считается правильным.

Как строится цепочка? - пакет имеет id на предыдущий пакет и тд. 

В таком случае если злоумышленник сгенерирует более длинную цепочку, то его цепочка и будет считаться правильной, разве нет?

 

 

 

 

 

6) Предположим Алиса имеет 1 биткойн с номером серийным 123456

Боб имеет 0.5 биткойна с серийным номером 98765

Алиса пересылает Бобу 0.5 биткойна.

Таким образом, если я прав, в заключении у Алисы:

0.5 биткойна с серийником 123456

А у Боба:

0.5 биткойна с серийником 123456 и 0.5 биткойна с серийником 98765

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

 

 

 

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

Мне интересно, вы зачем дали ссылку если ее, очевидно, сами не читали? Указанная ссылка не отвечает ни на 1 из вопросов заданных мной!

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

1. Каждый раз при синхронизации пробегается по цепочке

2. Да

3. Майнинг обеспечивает защиту транзакций от подделки путём сложности вычислений хеша нового блока, который состоит из хеша предыдущего блока и хеша входящих и исходящих транзакций. При нахождении нескольких блоков(обычно 6и) после этого будет доказательством правильности данного блока(который принимается сетью). То есть не все пользователи проверяют транзакции, а только те кто занимаются майнингом - поддержкой сети

4. Дальше у вас какая-то каша.., даже вникать не стал. Вознаграждение даётся за майнинг - нахождение хеша блока транзакций соответствующего определённой сложности

 

Стесняюсь спросить, с какой целью пытаетесь вникнуть в протокол Bitcoin?

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

Стесняюсь спросить, с какой целью пытаетесь вникнуть в протокол Bitcoin?

 

Пытаюсь разобраться в деталях работы протокола. Буду признателен если сможете ответить детально на все вопросы

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

1. Каждый раз при синхронизации пробегается по цепочке

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

 

2. Да

Не совсем. Если очень упрощенно, то там особым образом сформированный хэш от открытого ключа, коим является адрес Bitcoin.

 

3. Клиент по своему блокчейну может сам проверить транзакцию. Если транзакция кривая, то она и по сети даже не разойдется. Там куча проверок при каждом получении. И если транзакция совсем кривая - то у нее нет шансов распространиться. Если не совсем кривая, то все равно есть шанс дабл-спенда, поэтому требуются подтверждения от всей сети. Это означает, что эти узлы не примут потом альтернативную версию траты этих же монет. Количество подтверждений может выбирать продавец, как ему удобнее. По-умолчанию GUI кошелек ждет 6 подтверждений при получении транзакции. Насчет миллионов ботов - их количество не важно, для атаки нужно быстрее честной сети строить блокчейн. То есть злоумышленник должен обладать огромными вычислительными мощностями. Для гарантированно успешного исхода атаки - больше, чем у всей честной сети. Так как принимается не просто более длинная цепочка, но наиболее сложная цепочка, т.е. на которую затрачено больше ресурсов. И то там есть нюансы, чужими монетами все равно не воспользуешься, да и в кошельке захардкожены некоторые чекпоинты блокчейна. Стоимость атаки не сможет быть покрыта профитом от нее.

 

Дальше объяснять в -цатый раз уже несколько утомительно, рекомендую к ознакомлению:

Bitcoin F.A.Q

Биткоин изнутри для непонимающих

Адреса Bitcoin. Часть I, теория.

Адреса Bitcoin. Часть II, практика.

Транзакции Bitcoin

F.A.Q по майнингу

 

Да, поверьте. что эти вопросы задаются постоянно. И много людей уже разобрались. Если найдете моменты. которые не разобраны нигде еще - пишите, я с удовольствием напишу материал. Может у меня глаз замылен, но я нее знаю. что еще не разжевано.

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

https://bitcoin.org/bitcoin.pdf

https://bitcoin.org/en/developer-documentation

https://en.bitcoin.it/wiki/Protocol_specification

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

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

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

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

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

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

Войти

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

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

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

    • Курс Bitcoin (только про Bitcoin)

      В данной ветке предлагаю вести обсуждение курса Bitcoin Для желающих безнаказанно оффтопить был создан топик Курсы криптовалют в разделе флейма, там можно уходить в рассуждения сколь угодно далеко от основной темы, так что велком! Также у нас есть ветка по обсуждению "справедливого курса" Bitcoin     Несколько полезных инструментов для отслеживания курса: bitcoin.clarkmoody отображает стакан Mt.Gox и строит в реалтайме японские свечи bitcoinchain сравнение курсов на разных биржах н

      в Биткоин

    • Комиссии Bitcoin

      Попытался собрать воедино информацию по комиссиям Биткоина:   Где посмотреть текущую комиссию Биткоина? Вот утилита для расчета комиссий Биткоина. Ее обсуждение и лог разработки здесь. Кто назначает комиссию в Биткоине? Комиссию назначает пользователь самостоятельно при отправке. Чем больше комиссия- тем выше приоритет у транзакции.   Что такое комиссия в техническом плане? Комиссия в сети Биткоин - это разница между фактически отправленной суммой и раз

      в Биткоин

    • [Top-10 Bitcoin Майнинг пул] [emcd. Mining pool] - FPPS, комиссия 1.5%, без мин. порога на вывод

      Экосистема для майнеров и пользователей криптовалют, в которой можно добывать криптовалюту с низкой комиссией, хранить добытые монеты с выгодой до 12% годовых и экономить на выводе в фиатные валюты внутри одного приложения. Майнинг-пул  Добывай BTC, LTC, DOGE, ETC и другие монеты с высоким хешрейтом и минимальной комиссией 1,5%. Накопительный счёт  Безопасно храни криптовалюту и получай пассивный доход до 12% годовых.  Быстрый вывод  Выводи активы на карту - Visa, Maste

      в Пулы совместного майнинга

    • Coinbase запустит торговлю фьючерсами на Dogecoin, Litecoin и Bitcoin Cash

      Американская криптовалютная биржа Coinbase направила Комиссии по торговле товарными фьючерсами (CFTC) три письма, в котором сообщила о планах запуска фьючерсов на Dogecoin, Litecoin и Bitcoin Cash с 1 апреля. Выбор Dogecoin представители Coinbase объяснили «преодолением пределов мемкоина» и растущей популярностью этой криптовалюты. То есть, по мнению руководства биржи, DOGE давно вышла за пределы «криптовалюты-шутки» и стала одним из основополагающих элементов криптоиндустрии.   Фьюч

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

    • Суд присяжных признал владельца криптомиксера Bitcoin Fog Романа Стерлингова виновным

      Роман Стерлингов, основатель и оператор миксера Bitcoin Fog, был осужден Окружным судом США за отмывание $400 млн в период с 2011 по 2021 годы. 12 марта суд присяжных Окружного суда округа Колумбия вынес обвинительный приговор в отношении владельца криптомиксера Bitcoin Fog Романа Стерлингова. Присяжные согласились с доказательствами обвинения, что Стерлингов владел и управлял миксером Bitcoin Fog с октября 2011 года по апрель 2021 года, а также содействовал отмыванию денег преступников, ст

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

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