Перейти к содержанию

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


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

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

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

  • 1 месяц спустя...

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

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

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

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

  • 4 недели спустя...

 

 

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

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

 

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

 

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

 

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

 

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

  • 3 года спустя...

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Similar Topics

    • Trust Wallet - мультивалютный мобильный кошелек от Binance

      Дата написания обзора: октябрь 2020 г.   Trust Wallet — так называется мультивалютный кошелек, создание которого было начато в 2017 году Виктором Радченко (позже к нему присоединилось еще несколько разработчиков, и образовалась компания Trust Wallet, в 2018 году поглощенная Binance).      Примечание 31.08.22 - перед созданием или импортом кошелька ОБЯЗАТЕЛЬНО сохраняйте сид-фразу. Новые версии могут быть кривые и глючные. Известен случай, когда  багануло так, что бесследно

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

    • OWNR Wallet - мультивалютный некастодиальный кошелек

      OWNR Wallet разработан как криптоэкосистема, которая охватывает большинство транзакций с криптовалютой и подходит для новичков, профессиональных трейдеров, разработчиков и бизнеса.   Криптоэкосистема OWNR включает: ·        Мультифункциональный HD кошелек, доступный для iOS, Android, Windows, Mac OS, Linux; некоторые функции доступны в веб-версии ·        Криптовалютный платежный шлюз ·        Предоплаченные карты Visa для физических и юридических лиц ·    

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

    • https://t.me/kingyGmbot - проект который платит сразу на ваш кошелек

      ⚡️Мы ждали,проект который платит сразу же⚡️   🔥Нажимаем клейм каждый день , получаем свой мем на TON SPACE 🔥   По моей ссылки получаем плюшки к бустам   ЗАМОНЕТАМИСЮДА - https://t.me/kingyGMbot/GMGM?startapp=ref_19240

      в Раздачи монет

    • TronLink — кошелек для TRX и его токенов

      Давно хотел написать полноценный обзор по кошельку TronLink, которым пользуюсь давно.  Но никак не могу собраться и наверняка не скоро еще соберусь. Пусть здесь пока побудет хоть данный «огрызок» от темы, просто со ссылками для скачивания и некоторой дополнительной информацией.   В кошельке поддерживаются TRX и все токены на его сети TRC-20 (видимо, через ввод контракта можно добавить и те токены, которых нет в обширном списке). Также есть поддержка сети TRC-10. В целом, имхо,

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

    • BitStage - некастодиальный BTC/USDT кошелек в Telegram

      От лица команды разработчиков, хочу представить наш крипто-кошелек BitStage!   BitStage - некастодиальный сервис с поддержкой BTC и USDT[TRC20], построенный по принципу AllInOne, работающий прямо в Telegram   Основные фичи:   🔆 Поддержка BTC|USDT|TRX 💳 Покупка и продажа без P2P заморочек 💳 Платежи VISA|MC|Мир любых РУ банков 🖱 Работает прямо в Телеге с лаконичным и понятным интерфейсом ⏱ Доступ к средствам 24/7 без KYC и AML 🔒 Доступ к seed-

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

×
×
  • Создать...