Jump to content
Sign in to follow this  
kapkapiton

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

Recommended Posts

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

 

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

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

 

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

 

Share this post


Link to post
Share on other sites

Share this post


Link to post
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 монет. И каждая такая сделка может быть совершена только с "регистрацией" в очередном найденном блоке. Таким образом, ты не можешь потратить больше, чем у тебя есть, поскольку цепочка одна и парадокс исключен. 
Есть возможность двойной траты, но это несколько другое... это как одной пиписькой сразу в двух бап - единовременно только одна почувствует.

Share this post


Link to post
Share on other sites

Благодарю.

Share this post


Link to post
Share on other sites

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

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

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

Edited by rammendo

Share this post


Link to post
Share on other sites

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

Share this post


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

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

Edited by kapkapiton

Share this post


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

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

 

1)

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

 

2)

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

Share this post


Link to post
Share on other sites
1 час назад, kapkapiton сказал:

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

hardly. Laziness's detected.

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

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

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

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

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

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

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

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

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

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

 

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

    • ЦБ Новой Зеландии изучит вопрос выпуска государственной криптовалюты

      В Новой Зеландии стартовали масштабные публичные обсуждения по вопросам будущего финансовой системы страны, в том числе, относительно возможности запуска собственной цифровой валюты. Обсуждения пройдут в несколько этапов. На первом этапе планируется получить обратную связь относительно роли наличных денег и выявить наиболее острые темы для последующих обсуждений. Ассистент управляющего Резервного банка Новой Зеландии Кристиан Хоксби (Christian Hawkesby) сказал:   «Мы определим н

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

    • Биткоин или альты? Ответ на извечный вопрос

      Биток и альты это как царь и народ. Если царь падает, то народ падает сильнее, царь сглаживает свое падение за счет народа, а если царь растет, то народ уже не падает, но всё равно всегда на дне остается, ведь царь растет за счет народа. А если народ бунтует и скидывает царя, то народ в еще большом дне оказывается. Теперь внимание вопрос: каковы нужны условия для роста народа? Нефть по 1000 долларов повысит рубль и зарплаты? Да, но не пропорционально росту нефти, далеко не пропорционально, при н

      in Биткоин

    • Вопрос о торговлЕ на биржАх

      Не смог найти ответ на вопрос в интернете. В одном доме два компьютера, подключенные к одному роутеру.  Можно ли осуществлять трейдинг на разных счетах, разным людям, с разными компьютерами на одной бирже? Или за это могут заблокировать на бирже? Так как интернет, и следовательно ip, получается, один ?

      in Общий

    • Вопрос старожилам про облачный майнинг

      Приветствую коллеги! Шансов конечно мало, но тем не менее интересуюсь, не помнит ли кто из старожил сервис облачного майнинга который был году в 2013 - 2015, адрес сайта был похож на адрес другого пула bitminter.com (что-то такое общее было в названиях) и по дизайну тоже были очень похожи (бело-сине-серый).  Ищу этот сервис, жив ли он сейчас...  Если кто напомнит название, буду очень благодарен ))   

      in Облачный майнинг и агрегаторы

    • Криптобиржи и налоговый вопрос

      Доброго всем дня. Заинтересовал один базовый вопрос, попробовал сам разобраться, но чёткого ответа так и не удалось найти, решил может тут помогут. Сам вопрос: доходит ли на текущий момент информация о торговле на популярных криптобиржах (LocalBitcoins, Coinbase и т.д.) до налоговых структур в странах СНГ? Уточню, что интересует именно ситуация "по умолчанию", то есть когда ты ничем не привлекал внимание налоговиков: (а) не подозреваешься в вопросах криминального характера и (б) не депозитил и н

      in Юридические вопросы

×
×
  • Create New...