Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
22 августа 2011, 12:53:56 PM   # 1
 
 
Сообщения: 1708
Цитировать по имени
цитировать ответ
по умолчанию Re: Firstnames | Сочетание имен людей с Firstbits для коротких адресов Bitcoin

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я думаю, все согласны, что сырые адреса Bitcoin недружелюбны для широкой публики.
Это сообщение описывает алгоритм, который сочетает в себе имена людей с идеями Firstbits, что решает эту проблему.

(Firstbits - www.firstbits.com - это элегантный способ сокращения Bitcoin адресов с использованием blockchain.)


Результаты
Вот некоторые примеры того, что Bitcoin адреса выглядят, как с помощью этого алгоритма:
Andreas.za
Mike.2j
Sam.r7
Jim.xh
google.rq

Поскольку они основаны на Firstbits я назвал их «Firstnames».


Алгоритм
Вот шаги алгоритма:
Вызвать текст, который вы в поиске ПгвЬЫата для целевой строки.

1) Возьмите первые три символа целевой строки. В приведенных выше примерах это было бы: «А», «Mik», «Сэм», «Джим», «бездна».

2) строчные их, сделать некоторые настройки, чтобы сделать с алфавитом Base58 и префиксом с «1». Это дает: 'й', '1mik', '1Цар', '1jim', '1goo'.

3) Создание ключей и вычислить его адрес. Строчной адрес и посмотреть, если первый четыре символа соответствует результату шага 2.

4) Повторите шаг 3 до тех пор, пока не найдете подходящую пару ключей (или отказаться от попыток!). Теперь у вас есть пара ключей, которая будет основой вашего FirstName.

5) Допустим, вы ищете FirstName для «Google» и адрес для пары ключей вы найдете в "1GoorQmSabgRFTSF2dGban7RqyhEXapziB. По выскабливание firstbits.com вы работаете, что firstbits для этого адреса '1goorq. Вы сдирать «1goo» (который вы уже знаете), а затем объединить целевую строку с остатком «RQ». В этом случае Firstname является "google.rq. (Вы должны разделитель выделить дополнительные символы - я использовал «»)

Вы можете работать с firstbits непосредственно из FirstName:

Andreas.za -> 1andza
Mike.2j -> 1mik2j
Sam.r7 -> 1samr7
Jim.xh -> 1jimxh
google.rq -> 1goorq

Используя firstbits вы можете посмотреть полный адрес Bitcoin.

6) Для того, чтобы претендовать на firstbits / Firstname вам нужно отправить несколько биткойнов по адресу, так что он попадает на blockchain.


Представление
Основные расходы, очевидно, поиски пары ключей. Для того, чтобы получить firstnames описанные выше (за исключением Sam.r7) взяли соответственно 12000, 3000, 43000, 26000 и 42000 итераций. Выбор с помощью первых 3-х символов, чтобы соответствовать был обусловлен числом итераций.
2 слишком легко, 4 слишком трудно. Этот алгоритм похож на vanityGen (который я предполагаю, был использован, чтобы найти 1samr7), но намеренно ограничена первыми тремя буквами адрес, чтобы ускорить его.


Псевдонимность и неформальность
Потому что вы используете только первые 3 символа в целевой строке, и вы делаете в нижнем регистре, все они эквивалентны:
Jim.xh
Джим Burton.xh
jimmyB.xh
Вы можете разнообразить свою псевдонимность и уровень официальности - суффикс остается неизменным.

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

Какие буквы и цифры вы можете использовать?
Потому что вы подходите по нижнему регистру строк, которые вы можете использовать все 26 буквы алфавита в целевой строке. Для экземпляра Firstname для 'Polly' является 'Polly.bt' (адрес = 1PoLBtjvtwxYXQQB8to6f3XWPNHebCLH5f, '1polbt' firstbits =). Строчный «л» не является допустимым Base58, но «L» есть. Для того, чтобы получить круглую «ноль» быть недопустимое Base58, она отображается в «о» для адреса соответствия. Это делает все номера действительны в FirstName.


А как насчет более коротких имен, чем 3-х символов?
Для краткости я не описал граничное условие о том, когда у вас есть короткое имя, например «Джо». Вы получаете firstnames как «Jo.zqy». Немного больше после сепаратора. Вы можете увидеть, как это рассматривается, глядя на демо-коде, который я произвел.


Демо-код
Я написал демо-код, который генерирует ПгвЬЫат из целевой строки. Это написано в Java с использованием библиотеки bitcoinj. Он доступен по адресу:
https://github.com/jim618/multibit/blob/master/multibit/src/org/multibit/firstname/FirstNameGenerator.java .   
Он является открытым исходным кодом - лицензия MIT.

Если вы хотите, чтобы запустить его напрямую без использования IDE, я включил классы в многоразрядных загрузки (Я ведущий разработчик Multibit).
Если вы загрузите и установите Multibit из http://www.multibit.org/download.html Есть два файла включено:
(Windows) generateFirstName.bat
(Mac / Linux) generateFirstName.sh
Эти побегать утилиты командной строки, в которой вы вводите в целевой строке и он ищет FirstName. Он печатает пару ключей он находит, но вам придется потратить свои собственные биткойны претендовать на ПгвЬЫате. 🙂

Я проверил их на Mac и Windows XP, но не Linux. Вам придется сделать "CHMOD 777" на Mac / Linux, чтобы запустить его.


Отзывы и комментарии
Ваше мнение по этому алгоритму ценится. 
Я думаю, что Bitcoin адрес, сгенерированный прост для запоминания и просты в использовании.
jim618 сейчас офлайн Пожаловаться на jim618   Ответить с цитированием Мультицитирование сообщения от jim618 Быстрый ответ на сообщение jim618


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


22 августа 2011, 3:10:43 PM   # 2
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Firstnames | Сочетание имен людей с Firstbits для коротких адресов Bitcoin

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





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

22 августа 2011, 4:31:25 PM   # 3
 
 
Сообщения: 1708
Цитировать по имени
цитировать ответ
по умолчанию Re: Firstnames | Сочетание имен людей с Firstbits для коротких адресов Bitcoin

Мне нравится это.
Да - потому что глубина поиска для целевой строки фиксирована, вы можете в значительной степени искать все пространство (даже в Java, и даже на моем Macbook). Вы можете получить любой текст слева от разделителя.

Если вы хотите быть Элвиса, я только что нашел: Elvis.cs (1ELVcSSiUSme2uGkkpFxMayMbLou4bhRSq)

Согласно Википедии, есть 25000 Элвис имитаторов в мире. 25000 варианты могут быть закодированы в 3-х символов firstbits адрес, чтобы каждый Элвис на планете может иметь адрес вида:
   Elvis.xxx


jim618 сейчас офлайн Пожаловаться на jim618   Ответить с цитированием Мультицитирование сообщения от jim618 Быстрый ответ на сообщение jim618

22 августа 2011, 4:53:01 PM   # 4
 
 
Сообщения: 1372
Цитировать по имени
цитировать ответ
по умолчанию Re: Firstnames | Сочетание имен людей с Firstbits для коротких адресов Bitcoin

В то время как мы в этом, почему бы просто не взять имя провешивание понятия от Namecoin и построить его в блоке цепь?

Таким образом, если бы я хотел "уничтожить" некоторые BTC (что увеличивает стоимость всех других BTC), я мог бы владеть оплаты псевдоним "Mike Caldwell" 12000 блоков, предполагая, что я являюсь первым, чтобы получить его. Возможно, "уничтожены BTC" не будет действительно потеряны навсегда, а не будет выплачивать шахтер медленно, то следующие N блоков в виде платы за сделки, которые помогли бы платить за шахтер в шахту, как награда создания блока уменьшается.
casascius сейчас офлайн Пожаловаться на casascius   Ответить с цитированием Мультицитирование сообщения от casascius Быстрый ответ на сообщение casascius

22 августа 2011, 5:11:39 PM   # 5
 
 
Сообщения: 1708
Цитировать по имени
цитировать ответ
по умолчанию Re: Firstnames | Сочетание имен людей с Firstbits для коротких адресов Bitcoin

Для тех, кто не знаком с работой Namecoin (в том числе и я!) Здесь главный Namecoin нить:



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

24 августа 2011, 1:54:03 PM   # 6
 
 
Сообщения: 322
Цитировать по имени
цитировать ответ
по умолчанию Re: Firstnames | Сочетание имен людей с Firstbits для коротких адресов Bitcoin

При случае нечувствительной буквенно-цифровой, у вас есть пространство ключей составляет всего несколько десятков миллионов. Я не думаю, что это будет масштабироваться, в частности потому, что энтропия на реальных именах является низкой. Если я не ошибаюсь, там может быть только тысячи Johns, Майкс, Джим, Мар, Али, Мох, или любой другой Firstname.
Netrin сейчас офлайн Пожаловаться на Netrin   Ответить с цитированием Мультицитирование сообщения от Netrin Быстрый ответ на сообщение Netrin

24 августа 2011, 5:31:42 PM   # 7
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: Firstnames | Сочетание имен людей с Firstbits для коротких адресов Bitcoin

При случае нечувствительной буквенно-цифровой, у вас есть пространство ключей составляет всего несколько десятков миллионов. Я не думаю, что это будет масштабироваться, в частности потому, что энтропия на реальных именах является низкой. Если я не ошибаюсь, там может быть только тысячи Johns, Майкс, Джим, Мар, Али, Мох, или любой другой Firstname.

Да, похоже, просто способ переписать небольшую часть возможных firstbits.

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

24 августа 2011, 8:46:18 PM   # 8
 
 
Сообщения: 1708
Цитировать по имени
цитировать ответ
по умолчанию Re: Firstnames | Сочетание имен людей с Firstbits для коротких адресов Bitcoin

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

"Строчные буквенно-цифровой" пространство имеет KeySize из 35 (как «ноль» получает отображается на «O»). Так две буквы firstbits дать вам KeySize 35 * 35 = 1225. Я округлить вниз мысленно тысячу раз легче для чисел.


Если взять любое имя, скажем, Мартин.

Есть 35 firstnames, которые имеют вид:

    Martin.a

(Где «а» является firstbit характер)

Есть 1000 (приблизительно) firstnames по форме:

   Martin.ab

(Опять же «а» и «б» являются любые firstbit характер)

В том числе более первых битовых символов вы получите:
   35000 формы: Martin.abc
   1000000 формы: Martin.abcd
   35000000 формы Martin.abcde
   1 миллиард формы: Martin.abcdef


Вы правы, что энтропия в именах мала - Я считаю, что первые три firstbits, которые получают представленные в названии только исследуют около 1000 имен, т.е. два первых бита стоит энтропии, как вы упомянули.

Потому что люди могут вспомнить имена более легко (особенно их собственное имя), чтобы вспомнить, как ПгвЬЫат:

   Martin.kw4p

«Чувствует себя» только запоминание 4-х символов, но это дает вам стоит около 6 персонажей энтропии.

Когда вы думаете, что почтовые индексы в Великобритании 6+ символов и штырьки 4 Я думаю, что это делает возможным для Джона и Джейн Доу запомнить их Bitcoin адрес.

Для этого примера "Martin.kw4p" в firstbits является "1markw4p", Вы всегда можете сопоставить с FirstName в течение firstbits, но не в обратном направлении.   "1markw4p" может быть "Mark.kw4p", "Martina.kw4p" и т.п.




jim618 сейчас офлайн Пожаловаться на jim618   Ответить с цитированием Мультицитирование сообщения от jim618 Быстрый ответ на сообщение jim618

24 августа 2011, 8:55:38 PM   # 9
 
 
Сообщения: 1708
Цитировать по имени
цитировать ответ
по умолчанию Re: Firstnames | Сочетание имен людей с Firstbits для коротких адресов Bitcoin

О, я хотел бы добавить:
Я намеренно искал в демо-коде с минимальной длиной firstbits 5, даже если там на самом деле было firstbits длина 4.

Я хотел формат Firstname всегда иметь по крайней мере один суффикс, как символ, то пользователь должен написать:

<имя>,<по крайней мере один символ>


Причина, что она это делает возможным иметь только одно поле ввода для всех регулярных Bitcoin адресов, firstbits и firstnames следующим образом:

1. Если длина адреса больше или равна длине firstbits обрезания (который я забыл) -> это обычный адрес Bitcoin.
2. Если адрес короче и не имеет разделителя -> это firstbits адрес.
3. Если адрес короче и имеет сепаратор -> это firstnames адрес.

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW