Jump to content
niorix

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

Recommended Posts

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

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

 

Маленькая оговорка, пробу пера я делал на 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 человек, которые за что то платят мне, что "на старый не отправляйте, отправляйте на новый". И оббежать десяток пулов и сменить там реквизиты?

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

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

Edited by niorix

Share this post


Link to post
Share on other sites

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

...

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

Edited by Geo_log

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

 

 

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

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

Share this post


Link to post
Share on other sites

 

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

 

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

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

 

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

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

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

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

Edited by niorix

Share this post


Link to post
Share on other sites

 

 

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

Да

 

 

 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

 

 

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

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

 

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

 

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

 

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

 

Share this post


Link to post
Share on other sites

:)

Edited by ydaha

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Topics

    • Выбираем кошелек для криптовалют

      Выбор кошелька для криптовалют: https://www.cryptocompare.com/wallets/#/overview https://1bitcoin.wiki/wallets/ https://forum.bits.media/index.php?/topic/52991-сколько-сейчас-весят-кошельки-криптовалют/ Выбор кошелька для Bitcoin [BTC] - https://forklog.com/bitkoin-koshelki-sravnili-po-48-kriteriyam-najdite-svoj/ Советы: https://bits.media/bitcoin-wallets/ https://bitcoin.org/ru/choose-your-wallet топик форума -  https://forum.bits.media/index.php?/topic

      in Кошельки для криптовалют

    • Кошелёк Coinbase

      Всем привет! Завел кошелек на Coinbase, вроде все понятно за исключением одного. Каждый раз меняется номер адреса кошелька (при перезагрузке страницы) запрашиваю адрес, выдается адрес, я там даже рядом с ним галочку ставлю. Но захожу снова и опять адрес уже другой. Как быть? Подскажите пожалуйста. Спасибо!

      in Кошельки для криптовалют

    • Онлайн кошелек blockchain.com

      Официальный сайт | Twitter | Facebook | Linkedin   Для тех, кто переходит из blockchain.com в Электрум: Внимание! Скачивайте только последнюю версию с официального сайта Электрум. Версии ниже 3.3.4 - уязвимы - потеряете все биткоины из кошелька ! Ни в коем случае не обновляйте старую версию Электрума по всплывающему баннеру из самого Электрума - это фишинг. В теме действуют все Правила форума! Перед тем как задать вопрос, посмотрите НОВИЧКИ Bits.

      in Кошельки для криптовалют

    • [МАССОВЫЕ ЖАЛОБЫ]Кошелек Криптонатор

      Криптонатор - самый популярный в России мультикриптовалютный онлайн кошелек, который позволяет работать с различными криптовалютами, такими как Биткоин и другими. Вы можете безопасно хранить, быстро и просто получать, отправлять и обменивать Биткоин и другие криптовалюты используя свой персональный счет. Доступ к персональному мультивалютному счету доступен круглосуточно, из любой точки планеты, как с компьютера, так и со смартфона.   Мультивалютный счет Управляйте различными крипт

      in Кошельки для криптовалют

    • Atomic, мультивалютный кошелек

      Мультивалютный кошелёк с закрытым исходным кодом. Основан на технологии "Atomic Swap" Официальный сайт I Репозиторий на github I F. A. Q. технологии "Atomic Swap" на данном кошельке:  ссылка Atomic wallet - приложение для настольных компьютеров, которое предоставляет пользователям полный контроль над их криптовалютными сбережениями. Некоторые особенности кошелька: Приватные ключи и транзакционные данные хранятся на компьютерах пользователей, а не на серверах. Огромный асс

      in Кошельки для криптовалют

×
×
  • Create New...