Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
8 марта 2013, 7:09:23 AM   # 1
 
 
Сообщения: 134
Цитировать по имени
цитировать ответ
по умолчанию Re: Как именно Транзакции работают в Bitcoin сети?

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я читал о сделках на вики здесь:

https://en.bitcoin.it/wiki/Transactions

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

Как это связанно с простым примером в Bitcoin сети, такие как:

"в этот самый момент, когда все узлы в сети Bitcoin работают, чтобы закончить новый блок, скажем, Брюс посылает 1 BTC в Линды Bitcoin Адрес",

Что же происходит сейчас?

Как формат Bitcoin сделка будет выглядеть? Что будет входы и выходы?

Я пытаюсь соотнести его с тем, что упоминается на Wiki о сделках.

Будет ли эта информация (Брюс послал 1 BTC к Линде), будет объявлено ко всем узлам в сети Bitcoin?
Как именно другие узлы в сети проверить это сделка?

Пример из вики:

Код:
Входные данные:
Предыдущая ТХ: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6
Индекс: 0
scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501

Вывод:
Значение: 5000000000
scriptPubKey: OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d
OP_EQUALVERIFY OP_CHECKSIG

Если кто-то может соотнести его, это было бы здорово.
NeonFlash сейчас офлайн Пожаловаться на NeonFlash   Ответить с цитированием Мультицитирование сообщения от NeonFlash Быстрый ответ на сообщение NeonFlash


Как заработать Биткоины?
Без вложений. Не майнинг.


8 марта 2013, 8:34:10 AM   # 2
 
 
Сообщения: 2352
Цитировать по имени
цитировать ответ
по умолчанию Re: Как именно Транзакции работают в Bitcoin сети?

Получил 1806 Биткоинов
Реальная история.





Что же происходит сейчас?

Как формат Bitcoin сделка будет выглядеть? Что будет входы и выходы?

[Edit: Most] все, что нужно знать о сделках, вы можете узнать из Blockchain.info.  

Вот некоторые случайные транзакции вытащили из недавнего блока:

котировка
ВХОДЫ:
1PvFignfc4H1hvUJU8EuoeUNMh7WtdJPgp 247,495 BTC

ВЫХОДЫ:
1Gd2SRTE7GC6GHwtSaAeV7d1xhJ7t5iYJ6 245,614 BTC
1CF7wTZM7FmXrioP6ZhSjVuk77CNyPJe2T 1,88 BTC
Платежи 0.001 BTC

 - http://blockchain.info/tx/9f0003404687772167a216a8939c7bd77cd75b6e5ce607a872c7c5e62e78d975


Скажем, это был платеж Брюса Линды. Там нет никакого способа узнать, если 1,88 был платеж Линде или 245.614 BTC была оплата. Произвольно давайте выбрать 1,88 BTC как оплата, и 245,614 BTC было изменение назад на новый адрес в бумажнике Брюса.

Чтобы увидеть сценарии, Blockchain.info дает ссылку "Показать скрипты & coinbase", После нажатия кнопки, что, прокрутите вниз, чтобы увидеть скрипты.

Чтобы увидеть предыдущие выходы для оплаты Брюса, в самом низу вы увидите Дополнительно: Enable, нажмите Включить. Тогда рядом с входом 1PvFignfc4H1hvUJU8EuoeUNMh7WtdJPgp Брюса, вы увидите ссылку Output, которая приведет вас к сделке, в которой Брюс получил 247.495 BTC.

Это должно дать вам обо всем, что вам нужно знать, чтобы иметь общее представление о Bitcoin сделок. Есть дополнительные детали, такие как, как BTCS не существует ... Есть только Satoshis. (Например, 188000000 Satoshis = 1,88 BTC). И другие сценарии, которые могут быть использованы, и т.д.
Стивен Gornick сейчас офлайн Пожаловаться на Stephen Gornick   Ответить с цитированием Мультицитирование сообщения от Stephen Gornick Быстрый ответ на сообщение Стивен Gornick

8 марта 2013, 8:40:50 AM   # 3
 
 
Сообщения: 2352
Цитировать по имени
цитировать ответ
по умолчанию Re: Как именно Транзакции работают в Bitcoin сети?

Тогда для того, как эта транзакция используется (по мере получения в blockchain), см:



 - http://i.imgur.com/DKa2T7q.jpg  <--- Полный размер JPG, 1871 X 1420.


Таким образом, в примере Линды получающего 1,88 BTC, эта сумма будет добавлена ​​к балансу проявленной ее клиенту, пока она не провела эту сделку.
Стивен Gornick сейчас офлайн Пожаловаться на Stephen Gornick   Ответить с цитированием Мультицитирование сообщения от Stephen Gornick Быстрый ответ на сообщение Стивен Gornick

8 марта 2013, 9:55:03 AM   # 4
 
 
Сообщения: 134
Цитировать по имени
цитировать ответ
по умолчанию Re: Как именно Транзакции работают в Bitcoin сети?

Благодаря Стивен для деталей. Я считаю blockchain.info очень полезным.

Я понял, что-то сейчас (мне было интересно вчера, почему есть 2 адреса на выходе. Таким образом, это означает, что один из них был сумма отправляется получателю, а другой суммы было возвращено другой Bitcoin адрес отправителя) ,

Я пытаюсь понять более подробно, то, что происходит, прежде чем все это?

Принимая тот же пример дополнительно.

скажем, Брюс хотел отправить 1,88 BTC Линде.

В его бумажнике, он войдет в Bitcoin адрес Линды и нажмите кнопку отправить.

Давайте предположим, что Брюс имеет два Bitcoin адреса (1PvFignfc4H1hvUJU8EuoeUNMh7WtdJPgp и 1Gd2SRTE7GC6GHwtSaAeV7d1xhJ7t5iYJ6). Оба эти адреса были получены с использованием закрытого ключа его Bitcoin Кошелька.

Для того, чтобы отправить 1,88 BTC Линде, сначала клиент Bitcoin на машине Брюса, должно сканировать весь блок цепь и найти все операции, соответствующие 1 из вышеуказанных 2 Bitcoin Адреса, где Брюс получил некоторую сумму.

Он будет использовать последнюю транзакцию в истории, соответствующей Брюс Bitcoin адрес.

Эта сделка будет иметь выход (который имеет значение и Bitcoin адрес, хранящийся в нем?)

здесь значение соответствует балансу Брюс Bitcoin Адреса и Bitcoin Адрес собственной Bitcoin Брюс Адреса?

Теперь, когда клиент Bitcoin обосновалась последняя транзакция в блоке цепи, где Брюс получил некоторое количество, он будет генерировать сценарий ввода, чтобы доказать, что Брюс является владельцем этого BTC, как указан в выходе сделки, правильно?

Этот сценарий ввода, будет использовать открытый ключ (соответствующий Кошелек Брюса) и подпись (сгенерированный с помощью своего секретного ключа). Он также будет иметь индекс, ссылающийся на выход Сделки (где Брюс получил некоторое количество).

Теперь, выходной сценарий, будет убедиться, что Брюс действительно владелец БТД, как указано в выходной части сделки. так, Брюс может требовать их и использовать их, чтобы отправить Линде?

Таким образом, входные и выходные сценарии используются только для проверки того, что Брюс является владельцем БТД и могут претендовать на них. Затем эта сумма направляется непосредственно к Линде?
NeonFlash сейчас офлайн Пожаловаться на NeonFlash   Ответить с цитированием Мультицитирование сообщения от NeonFlash Быстрый ответ на сообщение NeonFlash

8 марта 2013, 11:21:13 AM   # 5
 
 
Сообщения: 2352
Цитировать по имени
цитировать ответ
по умолчанию Re: Как именно Транзакции работают в Bitcoin сети?

Давайте предположим, что Брюс имеет два Bitcoin адреса (1PvFignfc4H1hvUJU8EuoeUNMh7WtdJPgp и 1Gd2SRTE7GC6GHwtSaAeV7d1xhJ7t5iYJ6). Оба эти адреса были получены с использованием закрытого ключа его Bitcoin Кошелька.

Wallet.dat содержит коллекцию частных ключей. Каждый закрытый ключ дает уникальный адрес Bitcoin. Так что бумажник не имеет ни одного закрытого ключа, он имеет много закрытых ключей, и каждый из них может быть хэшируются придумать соответствующий Bitcoin адреса.

Для того, чтобы отправить 1,88 BTC Линде, сначала клиент Bitcoin на машине Брюса, должно сканировать весь блок цепь и найти все операции, соответствующие 1 из вышеуказанных 2 Bitcoin Адреса, где Брюс получил некоторую сумму.

Ну клиент Bitcoin-Qt будет смотреть на все неизрасходованные сделки Брюса (то есть, по любому адресу в его бумажнике) и выбрать один или более на основе набора правил (которые включают в себя сведение к минимуму количества изменений, к примеру).

Эта сделка будет иметь выход (который имеет значение и Bitcoin адрес, хранящийся в нем?)

Таким образом, два выхода Адрес Линды (с суммой 1,88 BTC), а затем клиент тянет неиспользуемый адрес из keypool и добавляет, что в качестве второго выхода (с количеством быть общей сумма входного сигнала (ов) меньше 1,88 BTC Линды меньше плата дать шахтера).

Теперь, когда клиент Bitcoin обосновалась последнюю транзакцию в блоке цепи, где Брюс получил некоторое количество,

Не обязательно последняя. Конкретная неизрасходованная сделка будет использоваться независимо один клиент выбрал на основе набора правил клиента. Это отличается для разных клиентов. Bitcoin-Qt использует один метод для выбора монет, Оружейный использует свой собственный, и т.д.

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

Нет. Для этого "передать Bitcoin адрес" действие, каждый выход просто:

котировка
OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG
- http://en.bitcoin.it/wiki/Transactions#Principle_example_of_a_Bitcoin_transaction_with_1_input_and_1_output_only

Там нет ничего в каждом ВЫХОДЕ кроме инструкции вывода и хэша открытого ключа - специально ripemd160 (SHA256 (Публичный)). И нет ничего, что указывало бы, что один из адресов происходит с адресом, который из собственного кошелька Брюса.

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

котировка
scriptSig входного и scriptPubKey ссылочного выходных в оцениваются (в указанном порядке), с scriptPubKey с использованием значений, оставшихся в стеке scriptSig. Вход правомочно, если scriptPubKey возвращает истину
- https://en.bitcoin.it/wiki/Transactions#Verification

[Я не очень хорошо разбираюсь в сделках на уровне сценария, так что я может описывать это неправильно, так что если у кого есть исправления или комментарии, не стесняйтесь поделиться.]
Стивен Gornick сейчас офлайн Пожаловаться на Stephen Gornick   Ответить с цитированием Мультицитирование сообщения от Stephen Gornick Быстрый ответ на сообщение Стивен Gornick

8 марта 2013, 1:24:41 PM   # 6
 
 
Сообщения: 134
Цитировать по имени
цитировать ответ
по умолчанию Re: Как именно Транзакции работают в Bitcoin сети?

Я пытался понять процесс проверки делается с помощью ввода и вывода сценариев.

Таким образом, для сделки между Брюсом и Линдой, эти сценарии должны выглядеть следующим образом:

Код:
Входные данные:
Предыдущая ТХ: <Хэш неизрасходованного сделки Брюса>
Индекс: 0 <Это указывает на выход из указанной выше сделки>
scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501 (содержит Публичный Брюс вместе с подписью сообщения)

Вывод:
Значение: 188000000
scriptPubKey: OP_DUP OP_HASH160
OP_EQUALVERIFY OP_CHECKSIG

на вики для "передать в Bitcoin адрес", У меня есть следующие вопросы:

Q # 1. "Адресный Bitcoin только хэш, поэтому отправитель не может обеспечить полный открытый ключ в scriptPubKey."

Здесь отправитель Брюс? Который "полный открытый ключ" мы говорим здесь? Открытый ключ, соответствующий закрытый ключ Брюса? или открытый ключ, соответствующий закрытый ключ Линды?

Q # 2. "Когда выкупать монеты, которые были отправлены в Bitcoin адрес, получатель обеспечивает как подпись и открытый ключ."

В нашем примере это будет Линда обеспечение подписи и открытый ключ? Это сбивает с толку, когда он говорит, "redeemng монеты, которые были отправлены на Bitcoin адрес",


Вопрос # 3. Скрипт проверяет, что при условии открытого ключа делает хэш хэш в scriptPubKey, а затем он также проверяет подписи против открытого ключа.

Этот текст действительно не ясно для меня

Я думал, что я понял это, но я не думаю, что так.
NeonFlash сейчас офлайн Пожаловаться на NeonFlash   Ответить с цитированием Мультицитирование сообщения от NeonFlash Быстрый ответ на сообщение NeonFlash

11 марта 2013, 7:16:07 PM   # 7
 
 
Сообщения: 1764
Цитировать по имени
цитировать ответ
по умолчанию Re: Как именно Транзакции работают в Bitcoin сети?

Я пытался понять процесс проверки делается с помощью ввода и вывода сценариев.

Таким образом, для сделки между Брюсом и Линдой, эти сценарии должны выглядеть следующим образом:

Код:
Входные данные:
Предыдущая ТХ: <Хэш неизрасходованного сделки Брюса>
Индекс: 0 <Это указывает на выход из указанной выше сделки>
scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501 (содержит Публичный Брюс вместе с подписью сообщения)

Вывод:
Значение: 188000000
scriptPubKey: OP_DUP OP_HASH160
OP_EQUALVERIFY OP_CHECKSIG

на вики для "передать в Bitcoin адрес", У меня есть следующие вопросы:

Q # 1. "Адресный Bitcoin только хэш, поэтому отправитель не может обеспечить полный открытый ключ в scriptPubKey."

Здесь отправитель Брюс? Который "полный открытый ключ" мы говорим здесь? Открытый ключ, соответствующий закрытый ключ Брюса? или открытый ключ, соответствующий закрытый ключ Линды?

паб ключ Линды.

котировка
Q # 2. "Когда выкупать монеты, которые были отправлены в Bitcoin адрес, получатель обеспечивает как подпись и открытый ключ."

В нашем примере это будет Линда обеспечение подписи и открытый ключ? Это сбивает с толку, когда он говорит, "redeemng монеты, которые были отправлены на Bitcoin адрес",

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

котировка
Вопрос # 3. Скрипт проверяет, что при условии открытого ключа делает хэш хэш в scriptPubKey, а затем он также проверяет подписи против открытого ключа.

Этот текст действительно не ясно для меня

Я думал, что я понял это, но я не думаю, что так.

Брюс должен предоставить свой ключ паба, когда расходы из своего адреса. скрипт выполняет хэш этого ключа паба, чтобы убедиться, что он соответствует адресу.
cypherdoc сейчас офлайн Пожаловаться на cypherdoc   Ответить с цитированием Мультицитирование сообщения от cypherdoc Быстрый ответ на сообщение cypherdoc

13 марта 2013, 4:21:23 AM   # 8
 
 
Сообщения: 2352
Цитировать по имени
цитировать ответ
по умолчанию Re: Как именно Транзакции работают в Bitcoin сети?

Q # 1. "Адресный Bitcoin только хэш, поэтому отправитель не может обеспечить полный открытый ключ в scriptPubKey."

Здесь отправитель Брюс? Который "полный открытый ключ" мы говорим здесь? Открытый ключ, соответствующий закрытый ключ Брюса? или открытый ключ, соответствующий закрытый ключ Линды?

паб ключ Линды.

клиент Брюс не знает открытый ключ Линды. Брюс знает Bitcoin адрес Линды.

В вики-статье говорится "", Я считаю, что могут быть использованы взаимозаменяемо с Bitcoin адреса. Но это не Public Key.
Стивен Gornick сейчас офлайн Пожаловаться на Stephen Gornick   Ответить с цитированием Мультицитирование сообщения от Stephen Gornick Быстрый ответ на сообщение Стивен Gornick

13 марта 2013, 5:14:23 AM   # 9
 
 
Сообщения: 1764
Цитировать по имени
цитировать ответ
по умолчанию Re: Как именно Транзакции работают в Bitcoin сети?

Q # 1. "Адресный Bitcoin только хэш, поэтому отправитель не может обеспечить полный открытый ключ в scriptPubKey."

Здесь отправитель Брюс? Который "полный открытый ключ" мы говорим здесь? Открытый ключ, соответствующий закрытый ключ Брюса? или открытый ключ, соответствующий закрытый ключ Линды?

паб ключ Линды.

клиент Брюс не знает открытый ключ Линды. Брюс знает Bitcoin адрес Линды.

В вики-статье говорится "", Я считаю, что могут быть использованы взаимозаменяемо с Bitcoin адреса. Но это не Public Key.

верный. неон спросил кто ключ паба не может быть предоставлен в scriptPubKey. Ответ: Линда.

так что вместо Брюс подписывает свои монеты к hash160 = Bitcoin адрес Линды.
cypherdoc сейчас офлайн Пожаловаться на cypherdoc   Ответить с цитированием Мультицитирование сообщения от cypherdoc Быстрый ответ на сообщение cypherdoc

17 апреля 2013, 2:24:19 PM   # 10
 
 
Сообщения: 546
Цитировать по имени
цитировать ответ
по умолчанию Re: Как именно Транзакции работают в Bitcoin сети?

У меня есть один вопрос, связанный с этим: Как проверить шахтер действительности всех сделок, которые он вкладывает в свой новый блок? Что делать, если Брюс написать свой собственный кошелек, который может послать больше монет, чем принадлежать?
wingding сейчас офлайн Пожаловаться на wingding   Ответить с цитированием Мультицитирование сообщения от wingding Быстрый ответ на сообщение wingding

17 апреля 2013, 5:06:31 PM   # 11
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: Как именно Транзакции работают в Bitcoin сети?

У меня есть один вопрос, связанный с этим: Как проверить шахтер действительности всех сделок, которые он вкладывает в свой новый блок? Что делать, если Брюс написать свой собственный кошелек, который может послать больше монет, чем принадлежать?

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

Если Брюс пытается отправить сделку по его подключенным узлам, attemtps провести выходной хэш, который не существует в blockchain (или список неподтвержденных транзакций), или попытку провести выходной хэш, что он не может обеспечить надлежащую подпись за каждый всмотреться он связан с откажет принять и передать сделку. Сделка не будет, следовательно, не делает его свой компьютер в сеть.
DannyHamilton сейчас офлайн Пожаловаться на DannyHamilton   Ответить с цитированием Мультицитирование сообщения от DannyHamilton Быстрый ответ на сообщение DannyHamilton



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW