Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
31 марта 2013, 10:43:31 PM   # 1
 
 
Сообщения: 215
Цитировать по имени
цитировать ответ
по умолчанию Re: Простой горнорудной демо образовательный инструмент

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Всем привет,

У меня было свободное время после обеда, и я придумал один сценарий Баш оболочки и один .c источник, который будет генерировать хэши и находит те, с некоторыми «0» в них на фронте.

Суть этого упражнения не преуспеть в скорости & эффективности, а скорее, чтобы показать кому-то, как горные работы и, возможно, увидеть, как трудно добыча на самом деле.

Для начала я использовал SHA256, реализованные в C Брэд Conte (http://bradconte.com/sha256_c). Любая система / BSD Linux компилирует файл sha256.c путем выдачи "CC sha256.c -o sha256", вы можете использовать "CC -O3 sha256.c -o sha256" если вы чувствуете, что дополнительная оптимизация необходима
Если вы используете Windows, я предлагаю загрузки Cygwin (http://www.cygwin.com/) Или MobaXterm, что и я (http://mobaxterm.mobatek.net/) В последнем случае, пожалуйста, не забудьте скачать НКУ & развитие инструменты плагин, который можно найти на странице плагинов. Оба эти инструменты позволят вам комфортно пользоваться куб.см команды, как если бы вы были на Linux.

когда компилируется sha256 будет производить хеш на любом входе сказать:

[Arijan.tosh] → ./sha256 аЬс
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad


или более реалистичный пример ориентирована на добычу полезных ископаемых:

[Arijan.tosh] → ./sha256 Abe_sentto_Bob_1.0BTC
37ee5903b981270f19bdc2a47d5a9a69467d139fe04d0b226240e9b0ff0f1a43


или немного дальше:

[Arijan.tosh] → ./sha256 Abe_sentto_Bob_1.0BTC_noonce = 1
72a7e10d7dcd9354de9c3f3d86b9e130be92121bf26c370e598880242a557ed5

[Arijan.tosh] → ./sha256 Abe_sentto_Bob_1.0BTC_noonce = 2
abe9b13d11e818f7d1fca70d3d6132a6ef74e59e1b1baeb71cab6f0ee3d18832

[Arijan.tosh] → ./sha256 Abe_sentto_Bob_1.0BTC_noonce = 3
470c5e62f576d9412c98260013df8399d2c76482d83282297d026aa8e437e8af

[Arijan.tosh] → ./sha256 Abe_sentto_Bob_1.0BTC_noonce = 300
104068881ee8610653c75d04f785af807c371d7fc776ecf344e2f2e4ebc782b5


пожалуйста, используйте общественность sha256 генератор в качестве эталона, что эти хэши действительно правильно. Google поможет ...

как вы можете видеть изменения произвольного числа в конце упрощенной транзакции полностью меняет хэш. Если бы мы должны были сделать эти изменения достаточно долго, мы нашли бы хэш, который имеет некоторые специальные произвольные определенные характеристики. В случае Bitcoin, что бы есть, что является достаточно низким, то, что есть много в «0» перед ними. Это где "shamine.sh" вступает в игру, как это делает только, что для вас автоматически. Вы можете настроить его, отредактировав несколько строк в начале:

# ЧИСЛО 0, то указать, сколько 0s хэш должен иметь перед, чтобы напечатать
L = 3

# ЧИСЛО хэшей, то есть сколько хэши мы пытаемся от 1 до 100'000
N = 100000

# ЧИСЛО потоков, большинство современных компьютеров имеют более 1 ядро, так почему бы не положить количество ядер здесь просто так скорость вещей мало
TH = 4

# Хэш строки, что является "строка транзакции" что мы хэширования, более реалистичный пример будет выглядеть так: "A_sent_to_B_1BTC_noonce ="
Hstr ="ааа"


образец работать на моем ноутбуке с этими параметрами будет работать в течение примерно 30 минут и будет производить следующий вывод:

[Arijan.tosh] → Время ./shamine.sh
Поиск по SHA256 из "ааа"+ Noonce, где noonce = 1..100000 с 3 ведущими нулями (000) в течение 4-х потоков.
Рабочий 1 0 24999
Рабочий 2 25000 49999
Рабочий 3 50000 74999
работник 4 75000 99999
5992 6664 5248 8420    <------ эти идентификаторы процессов
75076: 00022ca5b45eb72a059c05ceac286c9e4f531820e587bcd0781c1fc17389200e   <--- показывает "noonce" и в результате SHA256 хэш
50651: 0005376009f975e98adcbc1a103b169ed2d5f1c20765c3332d9399a5e1a4dfbb
50998: 000af580951c7ee4083f59ee8203aab62e4368d3b2a224acb790e7e9a9043d83
53334: 0008f75a23614a0b69032efbbd35198f77e2dcdb18f9101ed4296bc17e319f50
4628: 000c4c1ff5dd5c692fdf60f4939e9643c836d80e6d602e233484bfcf61465ae5
29799: 0005a24dea70a97d05e5c581a674f11d5aec4dc3f941e86e4b668d453a092b45
80610: 000cb6eae48517c72b5f933716a15438f5ccfd5a6906355c25f7d57fb9f4cf20
30753: 000135418479ba81f84a0a22d0d57e7620abed881f17f5b1f4a2f85a67aa9561
33108: 000662a7f13f2de4eb937bed8180200c45c11d36ac3ee3d20f4640bd27aa8215
34427: 00098f593bdc7aeecfb6418ccbb73627534e11cbe51739607e8b7df47bcaeb04
85445: 000dddbbbf8e2c57f4e92d85b5b08fe8b1671aa4bf408d5dd83e32fd42013fd1
35492: 000244997febcb7e5c50d900ea83b1b4699d8085610bad9ef9422e66e714b501
36118: 00010173d288439c2ab4f02bfae3d41e20e89aea6e0e9e95d98bb03f39c11e9a
36689: 000602971f51906acb842c1f348ad6788394c959bdb12b51bf9bf4efcdb93546
87391: 0007afcb4e3cf9bbda2c208119ad8e1986530e1ac8be066965474834e0f4020d
64651: 00055c0c37d14ea475a3ab699f8e756d7f13da1fa917b31c4ff0be3b6ba569c6
15766: 0005f99b4f0fc9a94380d18051575cbe557ae96f481a230e859a5733e950fc9c
91226: 000eb2bf26ae2010bfe0c0535ad53a16b1d2d4ffbcff8d933047a02f883754f5
42372: 00016a862ddd1ad5f00a8c744e759c4d6fac7180c1cc5bbfa9767f9fd85578ca
93293: 0003a676aef623b768a3f2b96a54b1c676ad6185cae96476909e15b7a57ef471
93651: 000cbf3fecf2555093149a4aa0d8c8710a3253a01c12b17016dcdbcd23043713
96708: 0007bb61cf5a0aa70d67a939296b7d2a1e043195cd84ed10f2faaecc2fa006f8
97698: 00093644960f08f67fcdc325f732c03e5ea6d0558a8942e6066530fd0fa239c2
74474: 00081786785796b4081fdf51bb9de8f447452a8550f0ef8626ac0b4987570d94
49862: 000ef69f74fba11a4d1fab2f84b43f064f9b5ff16012fc08861310db770187fb
24925: 0004783e8000e5651a930a2c1813da29795e00574daf16f7ceabd2641f4d3cab
Готово.
реальный 21m 16.41s
Пользователь 17m 12.94s
SYS 36м 0.22s


Опять же это примеры будут работать в Linux / BSD и окна (через MobaXterm или аналогичный), поэтому си весьма полезным в качестве демонстрационного инструмента. Обратите внимание, что четыре «0» хэш был найден в первых 100'000 хэшей. Это говорит о том, как трудно найти реальный мир Bitcoin хэша, как этот: 0000000000000274facba8aec660aa8f1cb609017084882f6f0ad861cb17d8ad. Также обратите внимание, что из-за 4 параллельных процессов, запущенных параллельно первой попытке хэши с noonces из 1..24999, второй от 25000 до 49999, и т.д., в результате хэши не сортируются, которые снова имитирует реальный мир Bitcoin хэширования.

Я планирую развивать это немного дальше, если я найду время, мои идеи по этим линиям и, конечно, ваши идеи приветствуются:
- реализовать двойное хэширование так же Bitcoin протокол делает, просто чтобы показать сложность вычислений
- возможно получить "реальный" данные блока, чтобы показать, что noonces в решенных блоках действительно дают низкие хэш с много «0 '.
- с помощью псевдослучайной noonces вместо линейных единиц, чтобы имитировать несколько шахтеров более реалистично.
- ...

Источники ниже, если вы найдете это полезным и достойным пожертвования, не стесняйтесь, чтобы отправить некоторые 19USHJYiFCZvX5mpFSNHPKh3yvJN4yuGN.

Ура!

Код:
#! Баш
#
# shamine.sh

# Num 0
L = 3

# Num хешей
N = 100000

# Количество нитей
TH = 4

# Хэш строки
Hstr ="ааа"

# Инициализационные Нули
ZS =""
для я в `Eval эхо-сигнала {1 .. $ L}`
делать
  ZS = $ ZS"0"
сделанный

# Использование рабочего Nfrom Nto
функция работника
{
  {
    для я в `Eval эхо {$ 1 .. $ 2}`
    делать
      г = $ (./ sha256 `Эхо $ Hstr $ i`)
      если [$ {г: 0: L} = $ ZS]
      тогда
        Эхо $ я":"$ г
      фи
    сделанный
  } &
}

# Основной цикл
эхо "Поиск по SHA256 из \""$ Hstr"\"+ Noonce, где noonce = 1 .."$ N" с "$ L" ведущие нули ("$ ZS") над "$ TH" потоки."
PIDS =""
для я в `Eval эхо {1 .. $ TH}`
делать
  эхо "работник" $ I $ [($ я - 1) * $ N / $ TH] $ [$ я * $ N / $ TH - 1]
  Рабочий $ [($ я - 1) * $ N / $ TH] $ [$ я * $ N / $ TH - 1]
  PIDS ="$ PIDS $!"
сделанный
Эхо $ PIDS
Подождите
эхо "Готово."

Код:
# Sha256.c, оригинал на http://bradconte.com/sha256_c

#включают
#включают
#включают

// Подписанные переменные для слабаков
#define Uchar символ без знака // 8-битовый байт
#define UINT неподписанных долгое // 32-битное слово

// DBL_INT_ADD обрабатывает два беззнаковых целых чисел а и Ь в качестве одного из 64-разрядного целого числа, и добавляет к нему гр
#define DBL_INT_ADD (а, б, в), если (а > 0xffffffff - (с)) ++, б; а + = с;
#define ROTLEFT (а, б) (((а) << (Б)) | ((А) >> (32- (б))))
#define ROTRIGHT (а, б) (((а) >> (Б)) | ((А) << (32- (б))))

#define СН (х, у, г) (((х) & (У)) ^ (^ (х) & (Г)))
#define MAJ (х, у, г) (((х) & (У)) ^ ((х) & (Г)) ^ ((у) & (Г)))
#define EP0 (х) (ROTRIGHT (х, 2) ^ ROTRIGHT (х, 13) ^ ROTRIGHT (х, 22))
#define EP1 (х) (ROTRIGHT (х, 6) ^ ROTRIGHT (х, 11) ^ ROTRIGHT (х, 25))
#define SIG0 (х) (ROTRIGHT (х, 7) ^ ROTRIGHT (х, 18) ^ ((х) >> 3))
#define SIG1 (х) (ROTRIGHT (х, 17) ^ ROTRIGHT (х, 19) ^ ((х) >> 10))

ЬурейиЕ структуры {
   Uchar данные [64];
   UINT datalen;
   UINT bitlen [2];
   UINT состояние [8];
} SHA256_CTX;

UINT к [64] = {
   0x428a2f98,0x71374491,0xb5c0fbcf, 0xe9b5dba5,0x3956c25b, 0x59f111f1,0x923f82a4,0xab1c5ed5,
   0xd807aa98,0x12835b01,0x243185be, 0x550c7dc3,0x72be5d74,0x80deb1fe, 0x9bdc06a7,0xc19bf174,
   0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
   0x983e5152,0xa831c66d, 0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967,
   0x27b70a85,0x2e1b2138,0x4d2c6dfc, 0x53380d13,0x650a7354,0x766a0abb, 0x81c2c92e, 0x92722c85,
   0xa2bfe8a1,0xa81a664b, 0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,
   0x19a4c116,0x1e376c08,0x2748774c, 0x34b0bcb5,0x391c0cb3,0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
   0x748f82ee, 0x78a5636f, 0x84c87814,0x8cc70208,0x90befffa, 0xa4506ceb, 0xbef9a3f7,0xc67178f2
};


недействительный sha256_transform (SHA256_CTX * CTX, Uchar данные [])

   UINT а, б, в, г, д, е, ж, з, I, J, t1, t2, м [64];
     
   для (я = 0, у = 0; я < 16; ++ I, J + = 4)
      м [I] = (данные [J] << 24) | (Данные [J + 1] << 16) | (Данные [J + 2] << 8) | (Данные [J + 3]);
   для (; я < 64; ++ я)
      м [I] = SIG1 (м [I-2]) + т [I-7] + SIG0 (м [I-15]) + т [I-16];

   а = ctx->состояние [0];
   б = ctx->состояние [1];
   с = ctx->состояние [2];
   д = ctx->состояние [3];
   е = ctx->состояние [4];
   е = ctx->состояние [5];
   г = ctx->состояние [6];
   ч = ctx->состояние [7];
   
   для (я = 0; я < 64; ++ я) {
      t1 = H + EP1 (е) + СН (д, е, ж) + к [г] + т [I];
      t2 = EP0 (а) + MAJ (а, б, в);
      ч = г;
      G = F;
      е = е;
      E = D + t1;
      D = C;
      с = Ь;
      B = A;
      а = t1 + t2;
   }
   
   ctx->состояние [0] + = а;
   ctx->состояние [1] + = Ь;
   ctx->состояние [2] + = с;
   ctx->состояние [3] + = д;
   ctx->состояние [4] + = е;
   ctx->состояние [5] + = F;
   ctx->состояние [6] + = г;
   ctx->состояние [7] + = Н;


недействительным sha256_init (SHA256_CTX * CTX)

   ctx->datalen = 0;
   ctx->bitlen [0] = 0;
   ctx->bitlen [1] = 0;
   ctx->состояние [0] = 0x6a09e667;
   ctx->состояние [1] = 0xbb67ae85;
   ctx->состояние [2] = 0x3c6ef372;
   ctx->состояние [3] = 0xa54ff53a;
   ctx->состояние [4] = 0x510e527f;
   ctx->состояние [5] = 0x9b05688c;
   ctx->состояние [6] = 0x1f83d9ab;
   ctx->состояние [7] = 0x5be0cd19;
}

недействительный sha256_update (SHA256_CTX * CTX, Uchar данные [], UINT длина)

   UINT т, I;
   
   для (я = 0; я < Len; ++ я) {
      ctx->Данные [ctx->datalen] = данные [I];
      ctx->datalen ++;
      если (ctx->datalen == 64) {
         sha256_transform (CTX, ctx->данные);
         DBL_INT_ADD (ctx->bitlen [0], ctx->bitlen [1], 512);
         ctx->datalen = 0;
      } 
   } 


недействительный sha256_final (SHA256_CTX * CTX, Uchar хэш [])

   UINT I;
   
   я = ctx->datalen;
   
   // Pad все, что данные остаются в буфере.
   если (ctx->datalen < 56) {
      ctx->данных [I ++] = 0x80;
      в то время как я < 56)
         ctx->данных [I ++] = 0x00;
   } 
   еще {
      ctx->данных [I ++] = 0x80;
      в то время как я < 64)
         ctx->данных [I ++] = 0x00;
      sha256_transform (CTX, ctx->данные);
      MemSet (ctx->Данные, 0,56);
   } 
   
   // Добавление к обивке длине суммарного сообщения в битах и ​​преобразование.
   DBL_INT_ADD (ctx->bitlen [0], ctx->bitlen [1], ctx->datalen * 8);
   ctx->Данные [63] = ctx->bitlen [0];
   ctx->Данные [62] = ctx->bitlen [0] >> 8;
   ctx->Данные [61] = ctx->bitlen [0] >> 16;
   ctx->Данные [60] = ctx->bitlen [0] >> 24;
   ctx->Данные [59] = ctx->bitlen [1];
   ctx->Данные [58] = ctx->bitlen [1] >> 8;
   ctx->Данные [57] = ctx->bitlen [1] >> 16; 
   ctx->Данные [56] = ctx->bitlen [1] >> 24;
   sha256_transform (CTX, ctx->данные);
   
   // Поскольку эта реализация использует мало Endian порядок байтов и SHA использует большой Endian,
   // обратного всех байты при копировании конечного состояния в выходном хэш.
   для (я = 0; я < 4; ++ я) {
      хэш [I] = (ctx->состояние [0] >> (24-я * 8)) & 0x000000ff;
      хэш [I + 4] = (ctx->состояние [1] >> (24-я * 8)) & 0x000000ff;
      хэш [I + 8] = (ctx->состояние [2] >> (24-я * 8)) & 0x000000ff;
      хэш [г + 12] = (ctx->состояние [3] >> (24-я * 8)) & 0x000000ff;
      хэш [г + 16] = (ctx->состояние [4] >> (24-я * 8)) & 0x000000ff;
      хэш [г + 20] = (ctx->состояние [5] >> (24-я * 8)) & 0x000000ff;
      хэш [г + 24] = (ctx->состояние [6] >> (24-я * 8)) & 0x000000ff;
      хэш [г + 28] = (ctx->состояние [7] >> (24-я * 8)) & 0x000000ff;
   } 


ИНТ основной (интермедиат ARGC, символ ** ARGV) {
    если (ARGC > 1) {
// Е ("SizeOf (UINT) =% d \ п", SizeOf (UINT));
// Е ("ARGV [1] = \"% S \"знак равно", ARGV [1]);
       SHA256_CTX CTX;
       sha256_init (&CTX);
       UINT I;
       для (я = 0; ARGV [1] [I]; я ++);
// Е ("% .2x", (UINT) ARGV [1] [I]);
// Е ("\ п");
       sha256_update (&CTX, ARGV [1], я);
       Uchar хэш [32];
       sha256_final (&CTX, (Uchar *) хэш);
       для (я = 0; я < 32; я ++)
           Е ("% 02x", Хэш [I]);
       Е ("\ п");
    }
   
    Возвращение (0);
}
кубиты сейчас офлайн Пожаловаться на кубиты   Ответить с цитированием Мультицитирование сообщения от кубиты Быстрый ответ на сообщение кубиты


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


31 марта 2013, 11:43:58 PM   # 2
 
 
Сообщения: 215
Цитировать по имени
цитировать ответ
по умолчанию Re: Простой горнорудной демо образовательный инструмент

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





Слегка изменен shamine.sh немного быстрее, так как я удалил старый кусок кода, используемого для отладки:

Код:
#! Баш

# Num 0
L = 4

# Num хешей
N = 200000

# Количество нитей
TH = 8

# Хэш строки
Hstr ="Abe_sentto_Bob_1.0BTC_noonce ="

# Инициализационные Нули
ZS =""
для я в `Eval эхо-сигнала {1 .. $ L}`
делать
  ZS = $ ZS"0"
сделанный

# Использование рабочего Nfrom Nto
функция работника
{
  {
    для я в `Eval эхо {$ 1 .. $ 2}`
    делать
      г = $ (./ sha256 $ Hstr $ я)
      если [$ {г: 0: L} = $ ZS]
      тогда
        Эхо $ я":"$ г
      фи
    сделанный
  } &
}

# Основной цикл
эхо "Поиск по SHA256 из \""$ Hstr"\"+ Noonce, где noonce = 1 .."$ N" с "$ L" ведущие нули ("$ ZS") над "$ TH" потоки."
PIDS =""
для я в `Eval эхо {1 .. $ TH}`
делать
  эхо "работник" $ I $ [($ я - 1) * $ N / $ TH] $ [$ я * $ N / $ TH - 1]
  Рабочий $ [($ я - 1) * $ N / $ TH] $ [$ я * $ N / $ TH - 1]
  PIDS ="$ PIDS $!"
сделанный
Эхо $ PIDS
Подождите
эхо "Готово."

Он производит следующий результат:


[Arijan.tosh] → Время ./shamine.sh
Поиск по SHA256 из "Abe_sentto_Bob_1.0BTC_noonce ="+ Noonce, где noonce = 1..200000 с 4 ведущих нулей (0000) в течение 8 потоков.
Рабочий 1 0 24999
Рабочий 2 25000 49999
Рабочий 3 50000 74999
работник 4 75000 99999
работник 5 100000 124999
Рабочий 6 125000 149999
работник 7 150000 174999
работник 8 175000 199999
3484 7968 5776 6452 984 5332 8024 8148
75127: 0000825ea95a41c68a7fc3e4aa43e34377cb51644496eb6ec33ff7a9a1d6b446
150156: 000015c122346ed9c1bf7971ea74e867d4fe8e8df85da2b228b7980192e404f8
53569: 0000d125978869aef0b6eceddb9b8a0c774fdca45343fba0e3d6936d79b85e2c
10492: 0000cb6a6cb6df5d3abe045d4c454b1a0aa5ab3361a946bb10dabea97a6ec46a
40296: 0000f60757fa9b3b8921751eb889c409483511cc3173f7e1ca5e8b473b5b2b0b
169376: 00001efa1eb0fa593c2fbf2c0a21447a40bfb8b0c4f6da2a090595e6652edea5
199332: 0000310918747d3ee431e4c2e68b89f7883695d6f1c21e0252fb0ea3d19c5bc9
Готово.
реальный 26м 3.19s
Пользователь 21m 38.69s
SYS 44М 59.68s


мы можем проверить результат с:


[Arijan.tosh] → ./sha256 Abe_sentto_Bob_1.0BTC_noonce = 150156
000015c122346ed9c1bf7971ea74e867d4fe8e8df85da2b228b7980192e404f8
кубиты сейчас офлайн Пожаловаться на кубиты   Ответить с цитированием Мультицитирование сообщения от кубиты Быстрый ответ на сообщение кубиты

1 апреля 2013, 12:23:44 AM   # 3
 
 
Сообщения: 215
Цитировать по имени
цитировать ответ
по умолчанию Re: Простой горнорудной демо образовательный инструмент

Интересно, что об этом последнем примере, что мы просили 4 ведущих «0 'в хэш и из 200k образцов мы получили 7 положительных результатов, однако ожидание было получить только 2 ^ (4 * 4) / 200k ~ = 3, поэтому мы везло. Если мы делаем только одно небольшое изменение в строке мы хэширования, добавив _ в sent_to мы получаем только 4 положительных результатов в 200k попыток, но мы также получаем результат один 5 «0»:

Поиск по SHA256 из "Abe_sent_to_Bob_1.0BTC_noonce ="+ Noonce, где noonce = 1..200000 с 4 ведущих нулей (0000) в течение 8 потоков.
Рабочий 1 0 24999
Рабочий 2 25000 49999
Рабочий 3 50000 74999
работник 4 75000 99999
работник 5 100000 124999
Рабочий 6 125000 149999
работник 7 150000 174999
работник 8 175000 199999
4428 4912 2900 9016 8896 5892 7968 9116
35987: 00008be2fad58980ccb07770cb6fdcd5738ea8e01001c3d2dd3f5aebcc952051
168822: 00004854a5ea7532713f69d7e5cb1052277f3e47e86886710a4abe748a86525f
170766: 000002b6c8dcbc65b363de776bd856a77f113652b0e209e402ad2135d7724296
145679: 0000563da0da65d1c6559e176e3e8a5022f8d37fba483b95af54bb714ed629ce
Готово.
реальный 26м 42.37s
Пользователь 22m 7.97s
SYS 46М 40.64s


В целом нам нужно 2 ^ (4 * # _of_lead_0s) пытается получить один положительный результат. Таким образом, для:

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW