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

Ilya Nenashev

Пользователи
  • Постов

    4
  • Зарегистрирован

  • Посещение

Достижения Ilya Nenashev

Новичок

Новичок (1/3)

3

Репутация

  1. Как новая транзакция записываются в блок? Где и в какой момент и в какие блоки?
  2. Почитал ещё статей, некоторые из вопросов для себя закрыл, а часть осталась открытой. Открытые и новые - выделю жирным: Что именно хранится в wallet.dat? Ваши многочисленные одноразовые "адреса" для привязки транзакций отправки и получения монет, и соответствующие им секретные ключи. Ну и соответствующие публичные тоже, наверное? И ещё что-то? Итоговые суммы монет по транзакциям для каждого такого адреса и кошельку в целом? Или они всегда по транзакциям пересчитываются? Что именно хранится в файлах блоков? Сам блок байтов, хеш которого подошёл под условие, делающее этот блок биткойном, транзакция, начисляющая премию за вычисление этого блока его авторам, и все транзакции, передающие эту премию дальнейшим адресатам. Что-нибудь ещё? Все ли такие транзакции? Именно эти файлы блоков и составляют общедоступную открытую распределённую базу данных платёжной системы bitcoin. На текущий момент они целиком дублируются полновесными программами-кошельками на всех компьютерах пользователей платёжной сети, и синхронизируются в процессе распространения сведений о новых транзакциях. Так? Где и как хранятся мои монеты? В файлах блоков хранятся транзакции, а в транзакциях записаны количества монет, зачисляемые этой транзакцией на адреса получателей. Сумма всех полученных монет минус сумма всех отправленных монет по одному адресу - это остаток по этому адресу. Сумма приходов и расходов транзакций по Вашим адресам - и есть Ваши монеты. Но как полученные на один адрес монеты отвязываются от него и могут быть отправлены с другого адреса, иначе как через публичную транзакцию передачи на этот другой адрес - пока я не понял. А вроде должны, иначе все адреса, с которых потом делается одна транзакция, публично связываются с одним владельцем в единый клубок, и потянув за любую ниточку можно получить весь клубок. И тут конец секретности... И где и как хранится вычисленный остаток по адресам, да и хранится ли, или каждый раз вычисляется по транзакциям? Как монеты размениваются (делятся и объединяются)? Это происходит при передаче получателю путём формирования новой транзакции. Транзакция описывает что у неё на входе, и что на выходе. Она может брать монеты с нескольких предыдущих транзакций одновременно (она берёт все переданные ими монеты), и раздавать их нескольким получателям: в ней описывается кому сколько. (Нераспределённый транзакцией остаток суммы того, что подано ей на вход, считается принадлежащим владельцу стартовой транзакции того блока, в котором транзакция записывается. Эту часть я ещё не очень понял - мне не понятно, как выбирается блок для хранения транзакции). Можно сформировать новую транзакцию, в которой указать, какое количество долей монеты какому адресу приписывается. Как правило чтобы передать адресату часть монет, полученных предыдущими транзакциями, формируют новую, посредством которой нужную часть монет отправляет адресату, а остаток (сдачу) - явно отправляют себе, на какой-нибудь из своих адресов. Как связаны количество монет и найденные майнерами блоки? Результат майнинга оформляется практически так же, как и передачи: как транзакция, которая первой записывается в новый блок, и начисляет соответствующее количество монет на адрес (адреса) авторов этого блока. Как связаны блоки и wallet.dat? Адресами. Транзакции в блоках ссылаются на адреса в wallet.dat. Все транзакции в блоках, которые относятся к адресам в Вашем wallet.dat, относятся к Вам. Любым способом получив wallet.dat с адресами, вы получаете возможность распоряжаться всеми остатками, начисленными через транзакции в блоках на эти адреса - то есть получаете возможность формировать новые транзакции, передающие эти остатки с этих адресов на любые другие адреса. Где хранится история транзакций? В файлах блоков, монеты которого она передаёт (Но как выбирается блок, если транзакция источником берёт несколько других транзакций? Или запись транзакции дублируется во все?) Нужна ли вся история транзакций всей системы для записи новой транзакции, то есть для подтверждения сделки? Похоже, что да. Иначе как проверить, что данные монеты не были переданы уже кому-то ещё?.. Как именно происходит сделка (транзакция)? Тот кто хочет заплатить - узнаёт адреса получателей, (как правило, новые - сделанные ими специально под эту передачу), выбирает у себя с какого адреса будет отправлять (результаты каких транзакций будут использованы как источники передаваемых средств) и с помощью закрытого ключа этих своих адресов формирует новую транзакцию, в которую записывает, каким адресам получателей сколько будет передано этой транзакцией. Далее эту транзакцию отправляет получателю и в сеть - ряду участников, IP-адреса которых знает программа-кошелёк. Кошельки участников её проверяют, и либо рассылают дальше, либо опротестовывают, если транзакция некорректна - например, если по их сведениям, с этого адреса уже эти монеты отправлялись другими транзакциями. Эта проверка занимает некоторое время. Считается, что если несколько узлов сети не отвергли транзакцию, то она, скорее всего, не будет отвергнута и остальными. Минут через десять успешного распространения транзакции по базам "соседних" (известных) узлов, отправитель и получатель как правило считают транзакцию успешной выполняют обязательства, за которые была произведена оплата. Однако, в отдалённом сегменте сети теоретически возможно наличие информации, опровергающей сделку - например, если результаты одной из входящих транзакций уже были использованы другой транзакцией, если там кто-то так же имеет кошелёк с этим же адресом и его публичным и секретным ключом - и тогда приоритет будет отдан более ранней из сделок, более поздняя будет отвергнута, и волна распространения альтернативной транзакции постепенно по сети дойдёт до отправителя и получателя, и они будут неприятно удивлены. Так? Регистрация намайненного блока - может считаться первичной сделкой? Да, так это и регистрируется - как первичная транзакция, записывающая некоторое количество монет на определённые адреса. Записывается эта транзакция в файл этого блока. Можно ли таким образом считать, что система хранит информацию о монетах лишь в виде предмета сделки? Да.. Хотя - вычисленная по транзакциям сумма всех монет по кошельку ведь наверно тоже в кошельке отражается? Что скачивает, хранит и делает программа-кошелёк, кроме wallet.dat? Все файлы всех блоков, содержащие историю всех транзакций за время существования этой платёжной системы. Когда это всё превысит пределы разумного (сейчас это около восьми гигабайт, я правильно понимаю?), программу кошелька сделают не столь самостоятельной, а базу транзакций не будут дублировать целиком везде, а сделают более распределённой. Всё правильно я понял?
  3. почитал, и пока у меня остались следующие вопросы: Где и как хранятся мои монеты? Как монеты размениваются (делятся и объединяются)? Как связаны количество монет и найденные майнерами блоки? Что именно хранится в wallet.dat? Как связаны блоки и wallet.dat? Где хранится история транзакций? Нужна ли вся история транзакций для записи новой транзакции, то есть для подтверждения сделки? Как именно происходит сделка (транзакция)? Регистрация намайненного блока - может считаться первичной сделкой? Можно ли таким образом считать, что система хранит информацию о монетах лишь в виде предмета сделки? Что скачивает, хранит и делает программа-кошелёк, кроме wallet.dat?
  4. Чтобы не передавать файл с флешки на локальный жесткий диск и при этом не трогать настройку путей, можно попробовать сделать на месте wallet.dat символическую ссылку (то, что под виндой называется junction)
  • Последние посетители   0 пользователей онлайн

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