Я был заинтересован в выяснении, что именно происходит, когда один мина Bitcoins, и я думаю, над основой добычи. Извините за мое отсутствие жаргона и знаний, я учусь! Кроме того, у меня связаны много абстрактных идей, что объектно-ориентированного программирования (ООП) Итак, когда я говорю "объект" Я имею в виду все данные, которые включает в себя тип объекта beign называют также. (Ex, объект транзакции держать всю информацию о сделке)
Итак, позвольте мне объяснить, что я думаю, что я знаю.
== Шаг один: Позволяет обменивать друг мой. ==
- Два человека хочет совершить сделку.
- Пользователь 1 имеет 10BTC дать пользователю 2.
- Таким образом, они создают trancsaction "объект" (Ссылаюсь ООП). Этот объект имеет X полей ввода и вывода Х полей.
- Входные поля относятся к прошлым сделкам, которые в основном положить / подавляющие 10BTC в пользователе 1 в бумажнике. (Пользователь один не имеет ничего физического, только согласие от всех остальных (всех остальных узлов), что им позволено я думаю "работать с" 10 BTC).
- Выходы сделки является адрес (ы) (Bitcoin кошелек (ы)), которые теперь могут работать с данным BTC. Один из этих выходов должны относиться к тому же адресу бумажника как "изменение", Фактически каждый пользователь создает транзакцию они momentairly развязывать все BTC они владеют до выхода текущей транзакции не дает им их "изменение" назад. (Не уверен, если это правильно, независимо это возможно)
- Где делает "подписание" вступают в игру?
- В целом это за тэк это? Я пропускаю что-то важное?
== Шаг два: Позволяет уведомить er'one нашего бартера ==
- Пользователь 1 / Пользователь 2 представить свои сделки всем остальным (все остальные узлы). Мы все коллективно поставить эту сделку в "блок" которые при "заминированный" добавляют к "блок цепи",
- Какой пользователь уведомляет кто о сделке? (Т.е. где объект транзакции отправлен?) Является ли это, что и пользователь оповестить всех пользователей, один пользователь уведомляет "ближайший" узел и опирается на узлы близко к тому, чтобы передать сделку?
- Как эта операция добавляется в блок?
== Шаг три: у нас есть блок позволяет получить Au от него ==
- Любой пользователь, который хочет помоему получает информацию от Bitcoin сервера о текущем блоке.
- Пользователь пытается хэш заголовка блока, чтобы получить хэш-значение меньше текущей цели.
- Если им это удастся, они затем уведомить всех, что они нашли одобрению запись хэш заголовка текущего блока, если все согласны с тем, что они получают 25BTC.
- Если не они увеличивают временное значение и повторите попытку.
- Кто / что содержит информацию о текущем блоке? (все?)
- Я понимаю, что хэширования используется для (экономии места в основном), но почему / и как она используется для проверки транзакций? Я не вижу, как хеширования заголовка блока создает "доказательство работы" все сделки ...
- Новый 25BTC приходит откуда? (Они выпускаются для использования ...), наряду с 25BTC победитель также получает любой беспорядок окно от предыдущей сделки правой? (Скажем, кто-то забывает дает себя их "изменение")?
~~ Общие вопросы ~~
- Как мы получаем из многих возможных, однако миллионов операций с использованием "блок"?
:::: Я полагаю "блок" только имеет связанный список объектов транзакций, когда новая транзакция создается она просто appeneded в этот список. Тогда, когда кто-то начинает "мой" этот блок, он / она на самом деле ищет кратчайшее остовное дерево по всем сделкам, если они были в виде графа похожи на эту картину (https://en.bitcoin.it/wiki/File:Transaction.png)? - (Опять же от третьего шага) Как хеширования "заголовок блока" дают нам доказательство того, что нам нужно?
- Что является доказательством того, что нам нужно, что мы на самом деле вычисления, когда мы хэширования заголовок блока?
Я полагаю, что, как я только что сказал выше, что для решения блока-значит, мы находим минимальный остов по всем данным сделкам. Учитывая, что сделка связана как таковые (https://en.bitcoin.it/wiki/File:Transaction.png)
- Что происходит, когда fradulent сделка encoutnered?
- Как мы можем сказать, транзакция fradulent?
- Скажем, два пользователя желают обменять биткойны, пользователь 1 дает пользователю 2 10BTC. Пользователь 1 говорит всем "Я дал 10 BTC пользователю 2, позволяет ему использовать 10BTC на все будущие сделки", С другой стороны, пользователь может попытаться два сказать "Пользователь 1 дал мой 1000BTC для меня, чтобы использовать" Как мы говорим, кто лжет (предположим, что пользователь 1 имеет более 1000BTC)?
END ПРИМЕЧАНИЕ:
- Первое спасибо за чтение моей стены текста и любой ответ, вы можете предоставить.
- Если вы думаете (после ответа на мой Q в) я мог бы еще один, попытаться ответить на этот вопрос тоже.
- Если сильно постараться и ответить на все мои вопросы конкретно попытаться дать мне и обзор и ударил по пунктам вы думаете, мне не хватает больше всего на.