Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
28 января 2013, 7:56:55 AM   # 1
 
 
Сообщения: 7
Цитировать по имени
цитировать ответ
по умолчанию Re: Что знает мой клиент, и как она может проверить ввод транзакций?

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


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

Здравствуй,

Я новичок в Bitcoin, найти его увлекательным, и пытаюсь понять, как работают все части. Вот несколько вопросов, которые я боролся с ...

Когда я начал клиент Bitcoin впервые он провел несколько часов загрузки (я думаю) все блоки. Что именно было это скачивание? Был ли это полные данные для каждого блока с каждой зафиксированной транзакции когда-либо? Или это было что-то меньше, как, может быть, только несколько важных полей из блока? И связанные с этим, сколько от того, что скачал мой клиент сделал это сохранить? (Например, это скачать много деталей, проверить его, а затем сохранить только некоторый хэш это, как говорят дерево Меркла?)

На соответствующую записку, как делает мой клиент проверить, что сделка является хорошей (если это вообще возможно для нее это сделать)? Я знаю, что есть много частей к проверке, но конкретный момент я задаюсь вопросом о том, как это подтверждает, что конкретный входной транзакции в действительности выход более ранней сделки. Это, кажется, делает это мой клиент должен либо иметь (1) все содержимое блока сторон исходного; или (2) полное Мерклы дерево блока входного в; или (3) корень Меркл блок на входном + в ветви Merkle сделки ввода. (1) представляется маловероятным, так как много данных (я считаю, что это то, что «полный узел» имеет). (3) не представляется возможным, потому что AFAICT протокол для транзакции не позволяет в том числе филиал Меркле. Так что я думаю, то это либо (2) или что-то совсем другое.

Спасибо за вашу помощь!
scrumbly сейчас офлайн Пожаловаться на scrumbly   Ответить с цитированием Мультицитирование сообщения от scrumbly Быстрый ответ на сообщение scrumbly


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


28 января 2013, 8:40:55 AM   # 2
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Что знает мой клиент, и как она может проверить ввод транзакций?

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





Когда я начал клиент Bitcoin впервые он провел несколько часов загрузки (я думаю) все блоки. Что именно было это скачивание? Был ли это полные данные для каждого блока с каждой зафиксированной транзакции когда-либо?

Да. Если вы не работаете в какой-либо другой программы, в этом случае я понятия не имею, как работает программное обеспечение.

На соответствующую записку, как делает мой клиент проверить, что сделка является хорошей (если это вообще возможно для нее это сделать)? Я знаю, что есть много частей к проверке, но конкретный момент я задаюсь вопросом о том, как это подтверждает, что конкретный входной транзакции в действительности выход более ранней сделки. Это, кажется, делает это мой клиент должен либо иметь (1) все содержимое блока сторон исходного; или (2) полное Мерклы дерево блока входного в; или (3) корень Меркл блок на входном + в ветви Merkle сделки ввода. (1) представляется маловероятным, так как много данных (я считаю, что это то, что «полный узел» имеет). (3) не представляется возможным, потому что AFAICT протокол для транзакции не позволяет в том числе филиал Меркле. Так что я думаю, то это либо (2) или что-то совсем другое.

Это звучит, как вы знаете, как сделки проверяются. Входы ищутся в индексе хранятся только для этой цели.

Каждый узел с использованием опорного клиента является "полный узел" с полной историей blockchain. Но, оказывается, что вам нужно всего лишь подмножество blockchain для большинства вещей, включая проверку сделки. Вы можете отказаться от сделки после того, как они расходуются и просто держать неизрасходованные них *. Множество неизрасходованных выходов относительно небольшой, как пара сотен мегабайт, а не несколько ГБ для истории полного блока.

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

* Ну, что вам нужно откатить историю тоже.
kjj сейчас офлайн Пожаловаться на kjj   Ответить с цитированием Мультицитирование сообщения от kjj Быстрый ответ на сообщение kjj

28 января 2013, 3:53:22 PM   # 3
 
 
Сообщения: 7
Цитировать по имени
цитировать ответ
по умолчанию Re: Что знает мой клиент, и как она может проверить ввод транзакций?

Спасибо за разъяснение.

Каждый узел с использованием опорного клиента является "полный узел" с полной историей blockchain. Но, оказывается, что вам нужно всего лишь подмножество blockchain для большинства вещей, включая проверку сделки. Вы можете отказаться от сделки после того, как они расходуются и просто держать неизрасходованные них *. Множество неизрасходованных выходов относительно небольшой, как пара сотен мегабайт, а не несколько ГБ для истории полного блока.

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

* Ну, что вам нужно откатить историю тоже.

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

28 января 2013, 4:28:07 PM   # 4
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Что знает мой клиент, и как она может проверить ввод транзакций?

Спасибо за разъяснение.

Каждый узел с использованием опорного клиента является "полный узел" с полной историей blockchain. Но, оказывается, что вам нужно всего лишь подмножество blockchain для большинства вещей, включая проверку сделки. Вы можете отказаться от сделки после того, как они расходуются и просто держать неизрасходованные них *. Множество неизрасходованных выходов относительно небольшой, как пара сотен мегабайт, а не несколько ГБ для истории полного блока.

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

* Ну, что вам нужно откатить историю тоже.

Если у вас был такой легкий клиент, который может потребовать частичных блоков, то кажется, что было бы в состоянии проверить наличие входа транзакции (например, путем проверки ветви Меркле и убедившись, что хэши работают), но есть ли способ, что это может проверить, что вход еще не были потрачены (то есть, в каком-то блоке, что клиент не имеет копию)?

Неа. Как вы отмечаете, он не имеет доступа к этой информации, так что, по определению, не может ничего об этом сказать. Для этого вам нужно что-то еще.

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

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW