Jump to content

Recommended Posts

Posted

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

 

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

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

 

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

 

Posted

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

Posted (edited)

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

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

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

Edited by rammendo
Posted

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

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

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

 

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

Posted (edited)

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

 

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

 

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

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

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

hardly. Laziness's detected.

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

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

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

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

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

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

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

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

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

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

 

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Topics

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

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

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

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

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

      in Биткоин

    • Digital Currency: В США 20% избирателей колеблющихся штатов считают криптовалютный вопрос решающим

      Согласно данным социологического опроса, опубликованного венчурной блокчейн-платформой Digital Currency Group, более чем пятая часть избирателей шести так называемых колеблющихся штатов считает, что позиция кандидатов в президенты по отношению к криптоактивам может сыграть решающую роль в победе на предстоящих осенью выборах. Digital Currency Group (DCG) провела онлайн-опрос в Мичигане, Огайо, Монтане, Пенсильвании, Неваде и Аризоне.   «Результаты опроса показывают, что криптовалюта

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

    • Экс-кикбоксер Эндрю Тейт задал подписчикам каверзный вопрос о биткоинах

      Бывший кикбоксер и скандально прославившийся блогер задал своим подписчикам в соцсети Х вопрос: стоит ли ему купить больше биткоинов? Причем поставленная перед читателями задача оказалась с подковыркой. Эндрю Тейт (Andrew Tate) задал вопрос в лоб: стоит ли ему купить 10 000 000 BTC прямо сейчас. Предложив два варианта ответа, и оба: «Да». Что-то вроде намека: инфлюэнсер питает слабость к первой криптовалюте и будет покупать независимо от мнения пользователей.   Buy 10,000,000 of bit

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

    • Управляющий Банка Кореи: «ЦБ должны срочно рассмотреть вопрос о внедрении CBDC»

      Управляющий ЦБ Южной Кореи Ри Чан Ён назвал внедрение цифровых валют центральных банков (CBDC) неотложной задачей, поскольку стейблкоины могут создать проблемы для мировой кредитно-денежной политики. На конференции по цифровым валютам в Сеуле Ри Чан Ён (Rhee Chang-yong) заявил, что широкое распространение таких стейблкоинов, как USDT и USDC, создает новые проблемы для операций центральных банков. Растущая популярность стейблкоинов может снизить эффективность денежной политики не только в Юж

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

×
×
  • Create New...