Jump to content

Вопрос по технической стороне блокчейна биткоина


kapkapiton
 Share

Recommended Posts

Добрый день, пытаюсь разобраться с системой блокчейн на различных примерах.

 

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

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

 

Сам кстати пытался разобраться по коду python данной статьи https://proglib.io/p/new-bitcoin/. Там можно запустить кошелек, но единственное  что там можно получить, только список транзакций. Какого-то контроля за балансом я не заметил.

 

Link to comment
Share on other sites

@Old Miner сурово... :)

20 минут назад, kapkapiton сказал:

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

"Цепочка блоков" несет в себе практически 100% ответа на данный вопрос. Генерируемый блок получает отпределенную сумму, которую распределяет между участниками в пропорции (если таковые имеются), это новые деньги. Дальше, любая сумма можете перемещаться сколько угодно и в любых кусках, но всегда есть основной источник, общая сумма которого никогда не изменится "(награда + комса сети) - траты". Если проще, то... вы с другом майнили в соло с равными мощностями, нашли блок 10 лет назад и получили награду в 50 битков, т.е. по 25 на рыло. Через 5 лет нашли еще блок при тех же условиях и получили 25 монет, т.е. по 12.5 на каждого. Итого, у вас есть по 37.5 монет из двух блоков. Если кто-то один из вас захочет потратить 25 монет без комсы, то у того останется только 12.5 со второго блока. А второй чел захочет потратить 12.5 монет без комсы, то у него останется 25 из первого. Тут все яснопонятно. А теперь каждый из вас решил потратить еще по 5 монет, и в результате, у первого будет трата 5 из 12.5 и ему вернется сдача в виде 7.5 монет, а второй, потратив 5 получит сдачу в 20 монет. И каждая такая сделка может быть совершена только с "регистрацией" в очередном найденном блоке. Таким образом, ты не можешь потратить больше, чем у тебя есть, поскольку цепочка одна и парадокс исключен. 
Есть возможность двойной траты, но это несколько другое... это как одной пиписькой сразу в двух бап - единовременно только одна почувствует.

Link to comment
Share on other sites

@Lexis77 сурово... :)

Баланс высчитывается суммированием UTXO адреса на текущий момент.

Потратить можно только их, поэтому больше, чем есть на балансе  -  не потратишь, взять новые, несуществующие UTXO для сборки транзакции просто неоткуда.

Edited by rammendo
Link to comment
Share on other sites

Блокчейн Биткоина построен на архитектуре UTXO - не потраченные выходы транзакций (монеты). Это несколько другая концепция в отличии от Account based архитектуры к которой все привыкли. В системе с аккаунтами мы следим за балансом и проверяем достаточно ли его, перед транзакцией списания. В UTXO, балансом является совокупность всех монет, принадлежащих определенному адресу. При создании транзакции в системе UTXO нет понятия отправитель а есть понятие монета (не потраченный выход транзакции) которая тратиться. Для функционирования такой системы каждая нода должна иметь список всех не потраченных монет и проверять корректность транзакций исходя их данного списка. По это причине у биткоин ноды нельзя запросить баланс произвольного адреса в отличии к примеру от эфириума, где используется система аккаунтов. Баланс всех адресов можно узнать если составить отдельный список не потраченных монет сопоставленных с адресами. Что к примеру делают битокин экплореры.

Link to comment
Share on other sites

49 минут назад, 4_tochka сказал:

у биткоин ноды нельзя запросить баланс произвольного адреса

 

Уже можно. В версии 0.17 Bitcoin Core появился новый RPC-вызов scantxoutset, который позволяет узнать баланс по любому адресу.

Link to comment
Share on other sites

Благодарю всех за ответы, еще пару вопросов, если можно:

 

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

 

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

Edited by kapkapiton
Link to comment
Share on other sites

11 минут назад, kapkapiton сказал:

Благодарю всех за ответы, еще пару вопросов, если можно:

 

1)

17 часов назад, Old Miner сказал:

 

2)

https://forum.bits.media/index.php?/search/

Link to comment
Share on other sites

1 час назад, kapkapiton сказал:

Благодарю всех за ответы, еще пару вопросов, если можно:

hardly. Laziness's detected.

1 час назад, kapkapiton сказал:

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

Тебе с FAQа надо начать. Ноды не участвуют в майнинге. В майнинге участвуют вычислительные машины: компьютеры, видеокарты, процессоры, спецустройства: ASICи, а также могут быть роутеры, калькуляторы, русские счеты, умные холодильники, негры с бумажкой и шариковой ручкой и прочие устройства и приспособления, способные производить алгебраические вычисления.

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

1 час назад, kapkapiton сказал:

или каким образом нода узнает о других

Посредством P2p. Используя интернет, ноды обмениваются тех данными между собой. Используется специализированное ПО. Например, Bitcoin Core.

1 час назад, kapkapiton сказал:

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

Как два пальца. И достаточно только приватного ключа, так как публичный генерируется через приватный. Соответственно и публичный адрес генерируется из приватного ключа.

 

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Topics

    • Panda DAO вынесла на голосование вопрос о закрытии проекта

      Децентрализованная автономная организация Panda DAO сообщила о возможном прекращении деятельности в связи с проблемами внутреннего управления проектом и отсутствием достаточного финансирования. Децентрализованные автономные организации (DAO) предлагают особую модель управления проектом или компанией, которая распределяет права голоса между всеми участниками сообщества. Таким образом, в принятии управленческих решений участвует весь коллектив DAO.    Хотя в теории это звучит справедли

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

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

      Предпосылки.  Цель создания платежной системы ULAM - борьба с бедностью, последствиями экономического кризиса 2020, предотвращению социального напряжения в обществе.   Ценность и принципиально отличие от подобных продуктов. В человеческом обществе самая большая ценность - это человеческая жизнь. Жизнь можно описать по разному, но есть общие описание жизни - это время жизни. Единица времени жизни в платежной системе ULAM - 1 секунда(понятный и известный параметр для челове

      in Поиск блокчейн разработчиков

    • Starlink в России под запретом? Также вопрос по импорту товаров в РФ

      Изучаю спрос на Starlink. Будет ли он востребован в РФ и что там с законами за его использование. Могу купить и привезти под заказ, если это не совсем криминал криминал.   Также ищу разные возможности по импорту чего угодно из Европы. Любые товары, главное, на чем можно сделать прибыль и не будет проблем с рстаможкой. Сам живу во Франции, доставку как минимум до Турции или Казахстана организую

      in Флейм

    • Денис Мантуров: Легализация криптовалют — вопрос времени

      Глава Минпромторга считает легализацию цифровых валют в России неизбежной. Выступая на просветительском марафоне «Новые горизонты», организованном обществом «Знание», министр промышленности и торговли РФ Денис Мантуров, отвечая на вопросы участников, высказал свое мнение, что россиян ждет легализация криптовалют:   «Я считаю, что да. Вопрос – когда это произойдет, как это произойдет и как будет регулироваться. Сейчас и ЦБ, и правительство этим активно занимаются. Но все склонны к пон

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

    • Вопрос к знатокам по трейдинг ботам. BITTIX.com и @bittixbot — обман?

      Всем салам, не знаю правильный раздел я выбрал если нет то перенесите топик в соответствующий раздел. Хотел поинтересоваться у знающих людей на счет трейдинг бота, у знакомого есть в пользовании бот(телеграм)в который заливаются USDT а он потом делает тебе отчисления каждый день $ в зависимости от роста рынка, бывает 30/40 в день а бывает 200/350 дол при вложениях 20к, он уже окупил таким образом первые вложения. Интересно мнение профессионалов а именно как этот бот работает по какому принципу.

      in Флейм

×
×
  • Create New...