|
7 января 2013, 11:40:38 AM | # 1 |
Сообщения: 725
цитировать ответ |
Re: Как wallet.dat работает?
Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru Таким образом, в wallet.dat есть частные ключи для разблокировки биткойна посланные на адрес. Но как это работает? Что шифрование алго используется?
|
7 января 2013, 3:18:08 PM | # 2 |
Сообщения: 2002
цитировать ответ |
Re: Как wallet.dat работает?
Получил 1806 Биткоинов
Реальная история. . . . Что шифрование алго используется? Не уверен, что вы спрашиваете здесь.Bitcoin использует цифровую подпись криптографическую функцию (secp256k1 ECDSA) к "знак" сделка с закрытым ключом. Чтобы быть действительной подпись, частный ключ, используемый должен соответствовать открытому ключу, который был хэш для создания адреса, что Bitcoins ранее затрачиваемого на. Все это делается с хэш и цифровыми подписями (типы криптографических функций) Единственное, что я могу думать о том, что это "зашифрованная" это частные ключи в вашем бумажнике. Если вы решили зашифровать свой кошелек, Bitcoin-Qt будет использовать функции EVP_Encrypt от OpenSSL для шифрования закрытых ключей, используя тип aes_256_cbc () (я думаю). |
7 января 2013, 3:35:13 PM | # 3 |
Сообщения: 1218
цитировать ответ |
Re: Как wallet.dat работает?
Верный. Я хотел бы добавить, что шифрование бумажника использует тысячи раундов SHA-256, чтобы преобразовать ключевую фразу в ключ AES.
Так О.П., когда вы говорите, что шифрование используется, важно уточнить, что вы спрашиваете. Какие алгоритмы делает Bitcoin использовать для проверки транзакций? Сделки подписываются частными ключами с использованием ECDSA и проверки шахтерами с использованием соответствующих открытых ключей для проверки подлинности против Какие алгоритмы действительно использует клиент для защиты закрытых ключей? Клиент использует алгоритм SHA-256 (для генерации ключа) и AES_256 для шифрования / расшифровок секретного ключа части бумажника с использованием ключевой фразы, переданной пользователем. |
8 января 2013, 5:42:40 PM | # 4 |
Сообщения: 725
цитировать ответ |
Re: Как wallet.dat работает?
Хорошо, я говорил о ECDSA, так что в кошельке имеется несколько сделок с закрытым ключом, чтобы доказать, что я владеть ими? Когда я доказать, что у меня есть монеты? Когда я провожу их я собираю, но как?
|
8 января 2013, 5:46:36 PM | # 5 |
Сообщения: 1372
цитировать ответ |
Re: Как wallet.dat работает?
Хорошо, я говорил о ECDSA, так что в кошельке имеется несколько сделок с закрытым ключом, чтобы доказать, что я владеть ими? Когда я доказать, что у меня есть монеты? Когда я провожу их я собираю, но как? Когда вы проводите монеты, клиент передает сообщение объявляя новый владелец монет - в частности, хэш открытого ключа нового владельца, который является то, что закодировано в адрес Bitcoin. Это сообщение подписано с помощью закрытого ключа на запись, как быть "текущий владелец" (Это вы, и это то, что делает монеты вашими в первую очередь). В сообщении также включает в себя копию открытого ключа, так как остальная часть сети может не иметь его (так как операции идентификации нового владельца только хэш). Оба эти были получены при создании адреса в первую очередь, возможно, и раньше. Сеть принимает открытый ключ, если его хэш совпадает запись каждый знает. |
8 января 2013, 5:55:43 PM | # 6 |
Сообщения: 2002
цитировать ответ |
Re: Как wallet.dat работает?
. . . так что в кошельке имеются несколько сделок. , , Я считаю, что транзакции хранятся в blockchain, не wallet.dat. . . с закрытым ключом, чтобы доказать, что я их владельцем ?. , , Секретные ключи хранятся в wallet.datТаким образом, ваша программа-клиент (я предполагаю, что вы используете Bitcoin-Qt?) Использует информацию в wallet.dat искать через blockchain для операций, которые соответствуют известным частным ключам. . . . Когда я доказать, что у меня есть монеты? Когда я провожу их я собираю, но как? Да, вы не можете обновить blockchain с новой транзакцией без первого доказательства того, что у вас есть личные ключи предыдущих операций, которые вы хотите использовать в качестве входных данных для вашей новой транзакции. Использование цифровых подписей вы показываете, что у вас есть закрытый ключ, связанный с адресами, используемыми в предыдущих операциях, и при этом вы назначить новый адрес значение, которое будет связано с. Другие узлы и шахтеры проверки подписи и передать транзакцию. В конце концов шахтер включает транзакцию в блоке в blockchain. |
8 января 2013, 6:24:09 PM | # 7 |
Сообщения: 1218
цитировать ответ |
Re: Как wallet.dat работает?
Простой вариант. Wallet.dat содержит только ваш закрытый ключ *. Вы регистрируетесь в собственности монет ** посланных на ваши адреса к новому владельцу. Сделка регистрирует передачу права собственности. Для того, чтобы предотвратить кого-то другого (говорят мне) от передачи монет для вас (в моем бумажнике) сети проверяет, что сделка подписывается закрытым ключом вашего адреса (ов).
Каждый из ваших адресов имеет соответствующий закрытый ключ. Магия ECDSA (и все открытый / закрытый ключ шифрования), что вы можете разделить открытый ключ и сохранить личный ключ в тайне. Это позволит обеспечить только вы можете подписывать сообщения с закрытым ключом, но каждый может проверить эти сообщения с помощью открытого ключа. Вы на самом деле не когда-либо отправить или получить монеты, вы объявляете в мире изменения собственности. Любопытный нравится цифровой эквивалент: котировка "Внимание всем в мире, это 1 BTC монет (см, как безотзывное и абсолютное доказательство владения этим перед заявлением [предыдущий владелец]), пусть это будет известно навсегда, что я передал право собственности на него в D&Т, о и кстати вот цифровая подпись, которая доказывает мне, и только мне, Rupy мог это заявление сделал. Спасибо, что все, пожалуйста, все в мире сохранить копию этого объявления навсегда." позже, когда я провожу его: котировка "Внимание всем в мире, это 1 BTC монет (см, как безотзывный и абсолютное доказательство владения это до объявления Руби), пусть это будет известно навсегда, что я передал право собственности на нее, чтобы DannyHamilton (почему нет), о и кстати здесь цифровая подпись, которая доказывает мне, и только мне D&T, возможно, это заявление сделал. Спасибо, что все, пожалуйста, все в мире сохранить копию этого навсегда." * Технически он содержит больше, но это просто, чтобы предотвратить необходимость воссоздавать бумажник на каждом запуске. Частные ключи, что не могут быть заменены. Они секретная часть. Если вы удалите wallet.dat и не имеете резервное копирование это потерянные личные ключи, которые вы будете плачете. Там нет монет в вашем бумажнике, ваши монеты "безопасно" единственная проблема, не имеет доступа к закрытым ключам вы никогда не будете иметь возможность передавать / тратить их. Вы можете навсегда просматривать их на blockchain, если вам нравится. ** Монеты фактически абстракция. Сеть работает на концепции входов и выходов. Все операции (за исключением новоиспеченных монет) имеют в качестве входа выхода предварительной сделки. Когда ваш кошелек говорит "у вас есть 20 BTC" что это действительно означает, "Я сделал исчерпывающий поиск в blockchain и Комбинированной сумму стоимости всех unpsent выходов, назначенных адресов, для которых я имею доступ к секретному ключу общего 20 BTC", |
8 января 2013, 6:28:16 PM | # 8 |
Сообщения: 2002
цитировать ответ |
Re: Как wallet.dat работает?
. . . это 1 BTC монет. , , пусть это будет известно навсегда, что я передал право собственности на нее, чтобы DannyHamilton (почему нет). , , Ницца. |
9 января 2013, 9:56:28 AM | # 9 |
Сообщения: 725
цитировать ответ |
Re: Как wallet.dat работает?
Я думаю о сделках, как атомные, так что у вас есть 3x1BTC входящие на один адрес (adr1) и 2x1BTC на другом (adr2) и 1x5BTC исходящего (платеж), то роя знает, что вы имеете 5BTC (потому что они могут проверить сумму на адреса у вас есть как 5?) это значит вы говорите "Я владелец ADR1 и adr2 теперь дают право собственности 5BTC обратиться XXX и здесь является открытым ключом, чтобы доказать, у меня есть частные ключи adr1 и adr2"?
|
9 января 2013, 2:07:56 PM | # 10 |
Сообщения: 1372
цитировать ответ |
Re: Как wallet.dat работает?
Я думаю о сделках, как атомные, так что у вас есть 3x1BTC входящие на один адрес (adr1) и 2x1BTC на другом (adr2) и 1x5BTC исходящего (платеж), то роя знает, что вы имеете 5BTC (потому что они могут проверить сумму на адреса у вас есть как 5?) это значит вы говорите "Я владелец ADR1 и adr2 теперь дают право собственности 5BTC обратиться XXX и здесь является открытым ключом и подпись чтобы доказать, у меня есть закрытые ключи для adr1 и adr2"? За исключением незначительной коррекции выше, вы совершенно правы. На самом деле, одна незначительная деталь, если это имеет значение: там будет одна подпись на входящей транзакции вы разблокировать, а не на адрес. Так эта сделка будет иметь 5 подписей - 3 из первого ключа, 2 из второй. |
9 января 2013, 6:04:18 PM | # 11 |
Сообщения: 1302
цитировать ответ |
Re: Как wallet.dat работает?
Я предлагаю это в надежде, что это поможет кому-то найти способ, чтобы думать о внутренней работе Bitcoin в таким образом, что это полезно для них.
Там нет адреса. Там нет противовесов. Bitcoin представляет собой цепь / сетка сделок. Эти сделки идут многими различными названиями, иногда "входные" или "выходы", иногда "Vins" или "vouts", иногда "монеты", Мне нравится думать о них как "монеты", Но это требует специальных метафор. Ваш кошелек коллекция "монеты", Каждый из которых имеет определенное значение. Чтобы усложнить вещи, иногда мы думаем о единице, что значение выражается как "монеты" тоже, но стараюсь не делать этого на некоторое время. Если вы хотите потратить, вы выбираете кучу ваших "монеты" таким образом, что их значение равно или больше, чем сумма, которую вы хотите потратить. Затем вы доказать, что вы "своя" эти монеты, подписывая их *, и объединять их вместе и задать один или несколько выходов, каждый из которых имеет определенное значение. Думайте об этом как тающий мешок "монеты" различных значений и чеканки их в новый мешок "монеты", С проверкой сети, чтобы убедиться, что вы не пытаетесь сделать значение выходного мешка больше, чем значение входного мешка. Конечно, это не реально "монеты", Есть не вещь, оказывается воздействие. Эти абстракции, построенные на абстракции. * Техническое примечание, как правило, подпись вычисляется на основе подмножества всего события (сделки), а не просто подписывать вход сам по себе. Это происходит потому, что вы обычно больше заботятся о том, где проводят происходит, чем когда она пришла. |
9 января 2013, 6:18:23 PM | # 12 |
Сообщения: 2002
цитировать ответ |
Re: Как wallet.dat работает?
. . . Это один споткнулся меня, когда я узнавал, как это работает. Я не мог понять, почему пэр не мог изменить адрес в выходных данных, прежде чем ретрансляция сделки. Я полагал, что был подписан вход (или, вернее, хэш входа), так что любой равному могли делать все, что они хотят с выходом. Тогда он объяснил мне (как вы только что сделали здесь), что вся сделка подписана (или, скорее, хэш всей транзакции). Изменение выходного сигнала приведет к изменению подписи, и без секретного ключа пэр не может сгенерировать правильную подпись. Лампочка идет и все это имеет смысл.* Техническое примечание, как правило, подпись вычисляется на основе подмножества всего события (сделки), а не просто подписывать вход сам по себе. Это происходит потому, что вы обычно больше заботятся о том, где проводят происходит, чем когда она пришла. |
15 января 2013, 11:05:00 AM | # 13 |
Сообщения: 725
цитировать ответ |
Re: Как wallet.dat работает?
Но как же тогда адреса работы:
1) Я не 1Eu6P1eRSewoqf8GZcYoBtMtXG1865Umjh, он никогда не получал никаких денег. Как доказать право собственности на этот адрес? Почему не может кто-то просто претендовать на владение этот адрес? 2) Если я получаю деньги по этому адресу, не имея Bitcoin клиента работает, будет, что деньги просто волшебно появляются, когда я запускаю Bitcoin клиента в будущем (IE является его право собственности на адрес, который хранится в кошельке или сделок / монет ?) |
15 января 2013, 12:35:07 PM | # 14 |
Сообщения: 1302
цитировать ответ |
Re: Как wallet.dat работает?
Но как же тогда адреса работы: 1) Я не 1Eu6P1eRSewoqf8GZcYoBtMtXG1865Umjh, он никогда не получал никаких денег. Как доказать право собственности на этот адрес? Почему не может кто-то просто претендовать на владение этот адрес? 2) Если я получаю деньги по этому адресу, не имея Bitcoin клиента работает, будет, что деньги просто волшебно появляются, когда я запускаю Bitcoin клиента в будущем (IE является его право собственности на адрес, который хранится в кошельке или сделок / монет ?) Любой человек может претендовать на собственный адрес. Но если у вас действительно есть закрытый ключ для него, только вы можете потратить монеты, отправленные на него, и только вы можете подписывать сообщения, используя этот ключ. Это на самом деле то же самое. Сделка Bitcoin действительно только специальное сообщение, которое будет подписано. Да. Важно то, зная закрытый ключ. Путь клиент работает внутри не так уж важен, но в основном эти монеты являются вашими, как только сделка подтверждаются. Когда ваш клиент получает обратно онлайн и догоняет на блок-цепи, то он будет обновлять баланс, который он показывает вам. |
15 января 2013, 5:42:39 PM | # 15 |
Сообщения: 725
цитировать ответ |
Re: Как wallet.dat работает?
поэтому в основном, при создании адреса есть закрытый ключ создан, который хранится в кошельке? как создаются адреса?
|
15 января 2013, 6:00:30 PM | # 16 |
Сообщения: 938
цитировать ответ |
Re: Как wallet.dat работает?
поэтому в основном, при создании адреса есть закрытый ключ создан, который хранится в кошельке? Да. как создаются адреса? На самом деле, частный ключ создается первый. Это в основном только 256-битное случайное число. Затем открытый ключ ECDSA, соответствующий этому секретному ключу генерируется. Открытый ключ может быть использован для проверки подписи. Таким образом, вы можете доказать, что у вас есть закрытый ключ, без необходимости открыть его. Открытый ключ затем хэшируются пару раз с использованием различных алгоритмов и украшено номер версии и контрольная сумма для получения адреса, что делает его легко отличить Bitcoin адреса (например, из теста сетевых адресов) и очень трудно создать обоснованную один за ошибка (например, опечатка). |
15 января 2013, 6:03:06 PM | # 17 |
Сообщения: 1302
цитировать ответ |
Re: Как wallet.dat работает?
поэтому в основном, при создании адреса есть закрытый ключ создан, который хранится в кошельке? как создаются адреса? Во-первых, вы молитесь. Затем вы тянете 256 бит в случайном порядке из источника энтропии, что вы просто помолились. Эти 256 битов закрытого ключа. Вы убедитесь, что закрытый ключ не превышает модуля поля, которое сделало бы небезопасно, если вы начать все сначала. В противном случае, секретный ключ, кодируются (вы включили шифрование, верно?) И хранится в вашем бумажнике. Затем, операция называется EC пункт умножение делается с помощью этого секретного ключа и хорошо известной константы. Результат этого умножения является парой 256 битовых чисел (х и у), пары вместе известные как открытый ключ. * Открытый ключ помещаются в специальную изобразительную форму и хранится в кошельке. Наконец, представление Публичного хешируется, а затем хэшированное снова. Второй хеш затем кодируется с контрольной суммой (более хешами!), И результатом является адресом. * Примечание стороны, у-координата может быть восстановлено, так что не нужно, и может быть отброшено, но мы должны хранить 2 разных флаги. Это изменяет представление, и, таким образом, хэш, а это означает, что закрытый ключ может иметь два разных адреса. Один флага маркер вместе с закрытым ключом, говоря программное обеспечение, которое из двух возможных адресов для использования, а другой флагом является признаком четности, закодирован в ключевое представление общественности разрешить неоднозначность квадратичного используются для восстановления у. |
15 января 2013, 6:22:44 PM | # 18 |
Сообщения: 725
цитировать ответ |
Re: Как wallet.dat работает?
Хорошо, спасибо! Я думаю, что я все о Bitcoin сейчас
Но так должно быть шанс в одном Gazillion, что два частных ключей генерировать тот же хэш открытого ключа нет? |
15 января 2013, 6:29:41 PM | # 19 |
Сообщения: 2002
цитировать ответ |
Re: Как wallet.dat работает?
Хорошо, спасибо! Я думаю, что я все о Bitcoin сейчас Это намного больше, чем Gazillion. Это настолько маловероятно, что вы действительно можете рассмотреть это невозможно. 160-разрядное число намного больше, чем большинство людей могут обернуть их умы вокруг. Но да, единственное в Bitcoin, что предотвращает две попытки генерации адреса из генерируя тот же адрес является крайней маловероятностью это происходит.Но так должно быть шанс в одном Gazillion, что два частных ключей генерировать тот же хэш открытого ключа нет? |
15 января 2013, 6:36:13 PM | # 20 |
Сообщения: 476
цитировать ответ |
Re: Как wallet.dat работает?
Хорошо, спасибо! Я думаю, что я все о Bitcoin сейчас Но так должно быть шанс в одном Gazillion, что два частных ключей генерировать тот же хэш открытого ключа нет? Да, шансы 1 в 2 ^ 256, однако, что на самом деле важно то, что шансы двух открытых ключей, продуцирующие тот же адрес (который является 160bit хэш открытого ключа с другими мета-данные, такие как версия и контрольная сумма) являются 1 в 2 ^ 160 , Обратите внимание, даже 1 в 2 ^ 160 является очень небольшим количеством, и для всех практических целей можно считать 0%. |