Перейти к публикации
niorix

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

Рекомендованные сообщения

(изменено)

Доброго времени суток, почитал матчать, но все равно остались вопросы.

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

 

Маленькая оговорка, пробу пера я делал на fathercoin'ах, так как биты дорогие чтото). Но так как Это все форки принци должен быть один.

 

Итак начнем с малого - кошелек:

Как я понял в нем просто храняться пары приватный/открытый ключ. При этом из приватного легко можно вычислить открытый ключ (поправте). К консоле командой dumpprivkey мы можем посмотреть приватный ключ, соответсвующий открытому. Ну мы можем импорировать приватный ключ сгенерированный, например, сторонним сервисом и программа вычислит из него открытый ключ, и добави нам его в адреса. Открытый же ключ (или же все таки его хеш HASH(PUB1), так и не понял), мы видем в разделе "принять деньги".

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

В любой момент я могу сгенерировать еще сколько угодно пар ключей.

 

Баланс кошелька:

Когда кто то отправляет на мой адрес денюжку, он создает транзакцию, в которой говорить что такая то сумма теперь принаднежит человеу, у которого HASH(PUB1) такой то.

При этом никто не может понять, кому же всетаки отправили. Но мой клиент знает адрес PUB1 и спокойно может вычислить HASH(PUB1) и понять, денюжка отправлялась мне. Таких транзакций много, и клиент все их запоминает и складывает все полученные деньги в баланс. Точнее он это делает со всеми адресами PUB, которые у меня есть. Получается баланс.

 

Транзакции

А вот тут больше всего вопросов.

Итак, условимся для простоты что адрес у меня один и на него было 3 поступления по 1 BTC (да, это много по нынешнему курсу, просто для примера).

Я хочу отправить кому то 2.5 BTC.

Я говорю:
"Все помнят что бало 3 транзакции на HASH(PUB1)? Ну так вот мой PUB1 такой то и HASH(PUB1) вы можете легко вычислить, так что поступления были мне. Теперь я хочу что бы 2.5 BTC от этих транзакций (входы, в нашем случае 3), принадлежали человеку HASH(PUB2). Мой приватный ключ, PRIV1, из него вы легко можете получть PUB1 так что деньги, которые поступали, мои. А сдачу прошу вернуть..."

 

А вот тут я совсем запутался. Я не просто так упомянал про 100 заранее созданых, согласно статьи, адресах, и думал что поле отправки, один из этих адресов должен был отобраться как новый адрес в разделе "Получить деньги". Но нет, адрес остался оди и не поменялся.

 

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

Мне что теперь забить на остаток (а он может быть большим) создать новый адрес и сообшить 1000 человек, которые за что то платят мне, что "на старый не отправляйте, отправляйте на новый". И оббежать десяток пулов и сменить там реквизиты?

Понимаю что это нереально и я просто гдето не догнал... Прошу пояснить!

Спасибо всем тем кто дочитал мою ахинею, и еще большее спасибо тем кто мне будет помогать разобраться.

Изменено пользователем niorix

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

.... А я уже запалил приватный ключ. 

...

- с чего ты взял, что спалил свой приватный ключ от первого адреса? Когда клиент (bitcoin-qt.exe) подписывает транзакцию приватным ключом, он его не светит.

Изменено пользователем Geo_log

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Быть может я не совсем понимаю процесс подписи конечно. Но как тогда понимать отправку сдачи на "незасвеченный адрес"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Но как тогда понимать отправку сдачи на "незасвеченный адрес"?

В кошельке изначально есть 100 публичных адресов. Сдача отправляется на любой из них, ранее не использовавшийся. Приватный ключ при этом нигде не светится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Но как тогда понимать отправку сдачи на "незасвеченный адрес"?

В кошельке изначально есть 100 публичных адресов. Сдача отправляется на любой из них, ранее не использовавшийся. Приватный ключ при этом нигде не светится.

 

- хуже. Если изначально клиента не запустить с ключом -keypool=<n>, то в кошельке окажется 100 пар публичный+приватный ключ. Это важно знать новичку, т.к. если он потеряет свой изначальный как бы пустой кошелёк, но продолжит пользоваться его копией, то вновь полученных монет он лишится, если враг завладеет старым (как бы пустым) кошельком и паролем к нему.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Но как тогда понимать отправку сдачи на "незасвеченный адрес"?

В кошельке изначально есть 100 публичных адресов. Сдача отправляется на любой из них, ранее не использовавшийся. Приватный ключ при этом нигде не светится.

 

Возьмем пару ключей. PUB 18DKKX5kXSYEzvCpG5y9dR9PTDCzx7pCV8, PRIV 5JyJw51hiwH1SyVyno69a5dPjLFvQubPjAbCCZfchFx87Eksjdn (сгенерил на bitadress.org). Я так понял зная PRIV мы можем вычислить PUB. Так?

Адрес получения 18DKKX5kXSYEzvCpG5y9dR9PTDCzx7pCV8 - это и есть публичный адрес?

В кошельке их 100, а вижу я один, и для каждого публичного есть свой приватный? Или же одному приватному может соответствовать много публичных (я всегда думал что берется PRIV, хешируется и получается PUB, а значит он только один)?

Тогда я не понимаю почему бы не вернуть сдачу прямо на адрес 18DKKX5kXSYEzvCpG5y9dR9PTDCzx7pCV8

Изменено пользователем niorix

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Адрес получения 18DKKX5kXSYEzvCpG5y9dR9PTDCzx7pCV8 - это и есть публичный адрес?

Да

 

 

 

В кошельке их 100, а вижу я один, и для каждого публичного есть свой приватный? Тогда я не понимаю почему бы не вернуть сдачу прямо на адрес 18DKKX5kXSYEzvCpG5y9dR9PTDCzx7pCV8

Читаем пост выше и пытаемся понять, там дан ответ проще некуда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По поводу сдачи и засвечивания приватного ключа разобрался более мение. Остается один момент: можно ли как то посмотреть эти сгенерированные 100 пар ключей?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Адрес - это не PUB, адрес - это HASH из PUB и вычислить PUB из HASH невозможно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Но как тогда понимать отправку сдачи на "незасвеченный адрес"?

В кошельке изначально есть 100 публичных адресов. Сдача отправляется на любой из них, ранее не использовавшийся. Приватный ключ при этом нигде не светится.

 

- хуже. Если изначально клиента не запустить с ключом -keypool=<n>, то в кошельке окажется 100 пар публичный+приватный ключ. Это важно знать новичку, т.к. если он потеряет свой изначальный как бы пустой кошелёк, но продолжит пользоваться его копией, то вновь полученных монет он лишится, если враг завладеет старым (как бы пустым) кошельком и паролем к нему.

 

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

 

а как можно продолжить пользоваться копией?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×