Bitcoin Forum
May 02, 2024, 10:56:17 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 [64] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 ... 116 »
1261  Local / Альтернативные криптовалюты / Re: Аналитика, анализ, прогнозы. on: February 22, 2019, 03:15:11 PM
Кто помешает разрабам Bitcoin Core продать свои битки, потом объявить об увеличении эмиссии

Объявлять они могут всё что угодно, но разрабы не майнят блоки, а значит их эмиссия останется только на бумаге. Можно вспомнить с каким скрипом внедрялся SegWit, а тут святая святых - эмиссия.
1262  Local / Кодеры / Re: Casascius python как добавить сюда ещё и генерацию адре on: February 22, 2019, 02:45:59 PM
нужна скорость

Если требуется быстрый подбор приватных ключей для заранее известного списка адресов, тогда нужно привести вашу задачу к виду, пригодному для работы с BitCrack.

Если стоит какая-то другая задача, тогда возникают дополнительные вопросы:
Список мини-ключей у вас уже готовый в файле или вы его генерируете случайным образом на лету?
Что вы делаете с полученным списком адресов? Проверяете его на вхождение в какой-то другой список адресов?

Quote
есть одно но он генерирует рандомно а мне нужно от мини-кеев ( по правилу миникеев )

Но ведь мини-ключи в скрипте, который я редактировал, тоже генерируются случайным образом. Случайно сгенерированные мини-ключи в формате Base-58 преобразуются при помощи операции хеширования SHA-256 в 256-битное число, которое и является приватным ключом. Так не проще ли сразу перебирать 256-битное число?

Проблема в том, что вы показываете только середину вашей задачи, не показывая при этом её начало - исходные данные и конечную цель.
1263  Local / Кодеры / Re: Casascius python как добавить сюда ещё и генерацию адре on: February 22, 2019, 10:09:08 AM
просто если запустить скрипт тот что я дал с википедии то выходит 1 миллион записей в 4 минуты а скрипт что вы дали выше за несколько часов только справится с 1 миллионом

Для получения адреса из приватного ключа требуется выполнить три криптографических операции. Не удивительно, что программа значительно замедлилась.

Quote
Скажите есть ещё варианты генерации?

Если бы вы сформулировали задачу, а главное - цель, в более общем виде, варианты (может быть!) бы нашлись.
1264  Local / Кодеры / Re: Casascius python как добавить сюда ещё и генерацию адре on: February 21, 2019, 07:08:31 PM
Уж не знаю, зачем вам эти мини-ключи понадобились, но держите:

Code:
import random
import hashlib
import codecs
import ecdsa

BASE58 = '23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'

def Candidate():
    """
    Generate a random, well-formed mini private key.
    """
    return('%s%s' % ('S', ''.join(
        [BASE58[ random.randrange(0,len(BASE58)) ] for i in range(29)])))

def GenerateKeys(numKeys = 10):
    """
    Generate mini private keys and output the mini key as well as the full
    private key. numKeys is The number of keys to generate, and
    """
    keysGenerated = 0
    totalCandidates = 0
    while keysGenerated < numKeys:
        try:
            cand = Candidate()
            # Do typo check
            t = '%s?' % cand
            # Take one round of SHA256
            candHash = hashlib.sha256(t).digest()
            # Check if the first eight bits of the hash are 0
            if candHash[0] == '\x00':
                privateKey = GetPrivateKey(cand)
                print('\n%s\nSHA256( ): %s\nsha256(?): %s\nUncompressed address: %s\nCompressed address: %s' %
                      (cand, privateKey, candHash.encode('hex_codec'), generate_address(privateKey), generate_compressed_address(privateKey)))
                if CheckShortKey(cand):
                    print('Validated.')
                else:
                    print('Invalid!')
                keysGenerated += 1
            totalCandidates += 1
        except KeyboardInterrupt:
            break
    print('\n%s: %i\n%s: %i\n%s: %.1f' %
          ('Keys Generated', keysGenerated,
           'Total Candidates', totalCandidates,
           'Reject Percentage',
           100*(1.0-keysGenerated/float(totalCandidates))))

def GetPrivateKey(shortKey):
    """
    Returns the hexadecimal representation of the private key corresponding
    to the given short key.
    """
    if CheckShortKey(shortKey):
        return hashlib.sha256(shortKey).hexdigest()
    else:
        print('Typo detected in private key!')
        return None

def CheckShortKey(shortKey):
    """
    Checks for typos in the short key.
    """
    if len(shortKey) != 30:
        return False
    t = '%s?' % shortKey
    tHash = hashlib.sha256(t).digest()
    # Check to see that first byte is \x00
    if tHash[0] == '\x00':
        return True
    return False

def generate_address(private_key):
    public_key = __private_to_public(private_key)
    address = __public_to_address(public_key)
    return address
       

def generate_compressed_address(private_key):       
public_key = __private_to_compressed_public(private_key)
address = __public_to_address(public_key)
return address
   

def __private_to_public(private_key):
    private_key_bytes = codecs.decode(private_key, 'hex')
    # Get ECDSA public key
    key = ecdsa.SigningKey.from_string(private_key_bytes, curve=ecdsa.SECP256k1).verifying_key
    key_bytes = key.to_string()
    key_hex = codecs.encode(key_bytes, 'hex')
    # Add bitcoin byte
    bitcoin_byte = b'04'
    public_key = bitcoin_byte + key_hex
    return public_key
       
def __private_to_compressed_public(private_key):
    private_hex = codecs.decode(private_key, 'hex')
    # Get ECDSA public key
    key = ecdsa.SigningKey.from_string(private_hex, curve=ecdsa.SECP256k1).verifying_key
    key_bytes = key.to_string()
    key_hex = codecs.encode(key_bytes, 'hex')
    # Get X from the key (first half)
    key_string = key_hex.decode('utf-8')
    half_len = len(key_hex) // 2
    key_half = key_hex[:half_len]
    # Add bitcoin byte: 0x02 if the last digit is even, 0x03 if the last digit is odd
    last_byte = int(key_string[-1], 16)
    bitcoin_byte = b'02' if last_byte % 2 == 0 else b'03'
    public_key = bitcoin_byte + key_half
    return public_key
       
def __public_to_address(public_key):
    public_key_bytes = codecs.decode(public_key, 'hex')
    # Run SHA256 for the public key
    sha256_bpk = hashlib.sha256(public_key_bytes)
    sha256_bpk_digest = sha256_bpk.digest()
    # Run ripemd160 for the SHA256
    ripemd160_bpk = hashlib.new('ripemd160')
    ripemd160_bpk.update(sha256_bpk_digest)
    ripemd160_bpk_digest = ripemd160_bpk.digest()
    ripemd160_bpk_hex = codecs.encode(ripemd160_bpk_digest, 'hex')
    # Add network byte
    network_byte = b'00'
    network_bitcoin_public_key = network_byte + ripemd160_bpk_hex
    network_bitcoin_public_key_bytes = codecs.decode(network_bitcoin_public_key, 'hex')
    # Double SHA256 to get checksum
    sha256_nbpk = hashlib.sha256(network_bitcoin_public_key_bytes)
    sha256_nbpk_digest = sha256_nbpk.digest()
    sha256_2_nbpk = hashlib.sha256(sha256_nbpk_digest)
    sha256_2_nbpk_digest = sha256_2_nbpk.digest()
    sha256_2_hex = codecs.encode(sha256_2_nbpk_digest, 'hex')
    checksum = sha256_2_hex[:8]
    # Concatenate public key and checksum to get the address
    address_hex = (network_bitcoin_public_key + checksum).decode('utf-8')
    wallet = base58(address_hex)
    return wallet

def base58(address_hex):
    alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
    b58_string = ''
    # Get the number of leading zeros and convert hex to decimal
    leading_zeros = len(address_hex) - len(address_hex.lstrip('0'))
    # Convert hex to decimal
    address_int = int(address_hex, 16)
    # Append digits to the start of string
    while address_int > 0:
        digit = address_int % 58
        digit_char = alphabet[digit]
        b58_string = digit_char + b58_string
        address_int //= 58
    # Add '1' for each 2 leading zeros
    ones = leading_zeros // 2
    for one in range(ones):
        b58_string = '1' + b58_string
return b58_string


GenerateKeys()

Код взят отсюда.
1265  Local / Кодеры / Re: Casascius python как добавить сюда ещё и генерацию адре on: February 21, 2019, 05:35:07 PM
Вам точно нужно генерировать приватные ключи в формате мини-ключей - древнем, никем не поддерживаемом формате?
1266  Local / Oбcyждeниe Bitcoin / Re: Lightning Network on: February 21, 2019, 05:11:54 PM
Можно уже считать, что произошла активация протокола Lightning Network в основной сети Биткоин или пока еще идет тестирование бета-версий ? Не догоняю этот момент пока

LN не является протоколом Bitcoin, поэтому для запуска LN не надо ничего активировать в сети Bitcoin. И, вообще, LN с использованием основной сети Bitcoin уж год как работает.
1267  Local / Альтернативные криптовалюты / Re: Обсуждение смарт-контрактов запрещено. on: February 20, 2019, 03:50:12 PM
Ну я бы на месте государства, выпустил крипторубль. Форк биткоина который майнить можно только по лицензии цб. Атакеры 51 все побреются.

А зачем государству нужен крипторубль, если у государства есть старый добрый безналичный рубль, который "майнится" Банком России и легко и быстро ходит между банками без всяких блокчейнов? В чём для государства преимущество крипторубля перед рублём?   
1268  Local / Кодеры / Re: Математика и алгоритмы биткоина. on: February 17, 2019, 11:31:20 PM
Что значит прокручивать версию блока в цикле? Придётся же заново пересчитывать первую часть для каждого потока.

Имеется в виду, что дешевле перебирать версию блока вместо ExtraNonce, потому как в случае перебора ExtraNonce нужно каждый раз вычислять ещё и корень дерева Меркла, а в случае перебора версии, корень дерева Меркла вычислять не требуется.

Перебор версии называют оvert AsicBoost, перетасовку транзакций с целью сохранения последних 4-х байт корня дерева Меркла называют соvert AsicBoost.



1269  Local / Трейдеры / Re: Биржа WEX on: February 04, 2019, 11:16:58 AM
что за Дарья?

Дарья Хавченко - владелец WORLD EXCHANGE SERVICES PTE. LTD



1270  Local / Трейдеры / Re: Коллективное расследование по делу WEX on: January 30, 2019, 06:06:24 PM
нет в Телеге группа была ЩаЗ не доступна ..

Ну, вот же: https://t.me/wexcodes
1271  Local / Новички / Re: Как сгенерировать 150 000 000 адресов в кошельке on: January 29, 2019, 10:31:09 AM
А как в биткоин коре это принцип работает?
Я ввожу пароль, прога расшифровывает приватник, если совпадает, оплата проходит?

Если например из консоли импортировать приватник, и  у меня его украдут, то другому человеку, который вставит его в биткоин коре пароль не нужен?

Да, всё верно.
1272  Local / Новички / Re: Как сгенерировать 150 000 000 адресов в кошельке on: January 27, 2019, 05:18:51 PM
Можете немного прояснить?
Пароль к кошельку является приватным ключем

Нет. При помощи пароля шифруются приватные ключи.
1273  Local / Трейдеры / Re: Cryptopia, ваш ЦЕНТР кошельков, пулов, обмена on: January 27, 2019, 08:18:56 AM
Вот только на поддомене ненормально, а значит любой узел по пути может поменять содержимое страницы так, как захочет.

По этой ссылке https://www.police.govt.nz/news/release/police-making-progress-crypto-currency-investigation всё нормально с сертификатом.

Просто сайт работает как по http, так и по https.
1274  Local / Трейдеры / Re: Биржа WEX on: January 25, 2019, 03:10:16 PM
какие подвижки ?

Сейчас все подвижки происходят в Телеге.

Адвокат Дмитрия Хавченко Сергей Шугаев оказывает бесплатную психологическую помощь пострадавшим:


Записывайтесь на приём! Впрочем, экстренная помощь оказывается прямо в Телеге:

1275  Local / Трейдеры / Re: Cryptopia, ваш ЦЕНТР кошельков, пулов, обмена on: January 21, 2019, 09:21:38 AM

Немного выше верно указали, что слитые средства с краптопии могли быть уже через 10-20 минут зачислены на кошелёк Бинанса. Обменены на любую другую крипту и выведены на личный кошелёк, в идеале это должна быть не отслеживаемая монета, вроде монерки.
Следовательно Бинанс блокирует уже не украденные, а свои средства - что безусловно враньё.

Обменены и выведены или могли быть обменены и выведены. У вас есть какие-то основания утверждать, что хакер успел что-то обменять и вывести?

Или вы, не располагая никакими фактами, безосновательно обвиняете Бинанс во лжи?
1276  Local / Альтернативные криптовалюты / Re: Minexcoin - Новая эра платежей on: January 11, 2019, 02:28:24 PM
Это откуда 3.5 евро взялись, что-то я нигде такой инфы не видел?

Отсюда.
1277  Local / Кодеры / Re: Нужна помощь java и bitcoinJ! on: January 10, 2019, 10:47:58 AM
Я думал что приватный ключ если программа найдет.
Верно.

Quote
Плюс там не хватает slfj библиотеки когда запущен btcaddress.jar.
Не обращайте на это внимания. Оно ругается на то, что не имеет возможности писать лог, но при этом программа продолжает работать - перебор приватных ключей идёт, судя по загрузке процессора.

Quote
Сколько времени он будет искать приватный ключ?
Миллионы лет. И это правильно. Если подбор приватного ключа можно было бы делать быстро, криптовалюты можно было бы выкинуть на помойку.

Кстати, есть намного более производительный инструмент для подбора приватных ключей - BitCrack, который позволяет использовать видеокарты. Но и он бессилен, если о приватном ключе нет информации, позволяющей сократить диапазон перебора.
1278  Local / Кодеры / Re: Нужна помощь java и bitcoinJ! on: January 09, 2019, 08:15:51 PM
Скачиваете btcaddress.jar и запускаете его так:
Code:
java -jar btcaddress.jar

Но вы хоть сами понимаете, какой результат вы рассчитываете получить от выполнения этой программы?
1279  Local / Идеи / Re: Биткоин, как защита интернета. on: January 04, 2019, 10:25:59 AM
Теперь благодаря блокчейну и криптовалютам - неактивное и пассивное большинство сможет также активно противостоять преступному меньшинству, которое раньше было хорошо организовано и скоординировано. Теперь же и у большинства появился инструмент координации своих действий и хорошей организации.

Не сможет. Серьёзная контора не будет браться за работу, не имея гарантий оплаты. А ваша схема не даёт этих гарантий.

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

То есть, контора должна сперва понести расходы и риски, связанные с выполнением работы, а потом, после выполнения, ждать, что может кто-нибудь хоть что-то заплатит. Не взлетит такая схема. Эта схема (утром - стулья, а когда-нибудь потом деньги, и то, неизвестно сколько) подходит для сбора донатов за open source разработки и не более того.

1280  Local / Кодеры / Re: Анти-пул алгоритм PoW on: December 23, 2018, 06:38:04 PM
пока даже не-программисту станет понятно что там за хрень понаписана и как...

Теплоухов, вы зачем себе нового пользователя создали? Вы здесь несколько лет выступали под учёткой tvv, которая у всех порядочных людей была в игноре.

Под новой личиной вас не все сходу признают и ошибочно общаются с вами, как с умственно полноценным человеком. Это неправильно, я считаю.
Pages: « 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 [64] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 ... 116 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!