Криптовалюта


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
42 5 28

MultiCoin paperwallet Аноним # OP 30/07/18 Пнд 16:40:13 3936211
MultiCoinpaperw[...].png (79Кб, 1336x742)
1336x742
Приветствую, криптаны!
Я вам принёс мультикриптовалютный паперваллет для различных альткоинов.
Вот он: https://username1565.github.io/MultiCoin-paperwallet/
Исходник - тут: https://github.com/username1565/MultiCoin-paperwallet/

Здесь, вы можете генерировать приватные ключи в WIF-формате,
в том числе и сжатые, для различных криптовалют (bitcoin-based altcoins).
Список настроек для различных альтов лежит в файле ./index_files/COINS_ARRAY.js

Только client-side вычисления. Никаких серверов, никой отправки данных куда-либо.
Даже если через сайт открываете, то сначала выгружаются скрипты, и всё считается в браузере у клиента.
Можете скачать zip-архив, отключить интернет и проверить в браузере.
Фича работает с жесткого диска, и переносима (portable).

Изначально, страница была скопипащена - отсюда: https://multiexplorer.com/paper_wallet/
Но их сайт чё-то не открывается, у них убунта упала, а вот логотипы ещё доступны:
https://multiexplorer.com/static/logos/1337-logo_100x100.png

Так вот, там, внутри страницы, был массив var crypto-data.
Переписал это дело, теперь, он в отдельном JS-файле: ./index_files/COINS_ARRAY.js
Чекбоксы запхнул в таблицу, написал цикл для построения этой таблицы по массиву.
Теперь эта таблица генерируется различной длины, при изменяемой длине массива с альткоинами.
Неиспользуемые альткоины можно закомментировать.

Также, есть возможность сгенерировать или получить
по парольной фразе мультикриптовалютный brainwallet.
Это список paperwallets для всех выбранных альткоинов,
приватные ключи для адресов которых, если их раскодировать из base58Check -
равны sha256 хешу от passphrase + nonce (которая задаётся в скрипте).

Поддержка сжатых ключей и адресов (compressed),
реализована при помощи библиотеки bitcoinjs-min.js от brainwallet'a.

Алсо, доступен поиск по массиву, при вводе адреса или приватного ключа - выводятся доступные альткоины. Пикрелейтед.

Прикрутил туда ещё вот это как усиление Math.random():
https://github.com/username1565/sha256-randomization
там внутри есть SHA256-функция.

Это OpenSource. Смотрите исходники файлов, они откомментированы внутри.

Хорошего настроения тебе, аноним...
Аноним ID: Алсу Рафаиловна 30/07/18 Пнд 19:49:04 3936782
Как это вообще работает? Как они не генерируют 2 одинаковых и тд?
Аноним ID: Агнія Север’яновна 30/07/18 Пнд 22:14:06 3936963
Аноним # OP 30/07/18 Пнд 23:17:31 3937094
>>393678
>Как это вообще работает?
Вопрос обширный, но я поясню...

Там, у каждой монеты - разные префиксы, для приватного ключа и адреса,
поэтому ключи в WIF-формате (Base58Check) выглядят по разному, как и адреса.
А эллиптическая привая - одна, это https://en.bitcoin.it/wiki/Secp256k1
Её уравнение: y2 = x3 + 7

По-сути, приватный ключ - это 256-битное число (32 байта).
В этом генераторе - это хеш парольной фразы + nonce внутри скрипта,
которую я сделал многострочной с поддержкой Юникода.

После умножения этого числа (private key) - на генераторную точку G на эллиптической кривой
- получается другая точка, и её две координаты (большие числа x и y) - это публичный ключ.
Назад, с публичного ключа, получить приватный - сложно, в этом суть асимметричной криптографии.
Адрес - это хеш публичного ключа. Подробнее - здесь, на картинке внизу глянь: https://bits.media/bitcoin-address-theory/

У меня есть конвертер, вот здесь: https://username1565.github.io/brainwallet.github.io/#converter
И ты можешь сконвертировать любой сгенерированный приватный ключ - в HEX, чтобы убедиться, что это есть хеш,
тот самый, что над кнопкой, сгенерированный из парольной фразы или же перегенерированный из новой.
Под таблицей Source Text, в конвертере, после конвертации, ты увидишь и префикс приватного ключа.
Для сжатых приватных ключей в конце хеша, добавляется байт 01, hex содержит 33 байта, и адрес тогда - получается другой.
Всё потому что хешируется - не полный публичный ключ, а урезанная версия публичного ключа,
содержащего лишь одну координату x и байт чётности y кординаты (ведь при одной координате x, там могут быть - две точки на эллиптической кривой).

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

При отправке транзакции с адреса - используется цифровая подпись по стандарту ECDSA.
Чтобы осуществить транзакцию - её надо подписать приватным ключём.
https://username1565.github.io/brainwallet.github.io/#verify?vrAddr=18w2rtYxYse12po93P1dkf8QnW8DaYqRTD&vrMsg=%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82%20%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%8C%20-%20%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%BD%D0%BE%20%D0%B2%D0%BE%D1%82%20%D1%82%D0%B0%D0%BA...&vrSig=HHfepfGNwhjxfMYAVVJgLpn%2BsO98plrqy1MKOLybUwIeJArSkNEKuDJoqH1GIgpd%2FbKoqd%2FcOd9amcKLxIRjMo8%3D

А пару приватный ключ-адрес, можно генерировать локально. Даже бросив игральные кости, например.
Главное, чтобы всё это было правильно закодировано в Base58Check, и префиксы были правильно указаны,
и чтобы приватные ключи импортировались в кошельки, или web-wallet'ы типа https://blockchain.info/ или https://my.dogechain.info/
с которых можно платить без закачки различных програм.
Лично я использую консольную команду "importprivkey PRIVATE_KEY", в qt-кошельке - чтобы засунуть ключ и адрес,
и "dumpprivkey ADDRESS" - чтобы выписать приватный ключ на бумажку с последующим затиранием методом Питера Гуттмана - файла wallet.dat
Это очень полезно для долгосрочного HODL'a, в информационном поле, бушующем KeyStealer'ами.

Ты говоришь, что 2 одинаковых адреса не генерируется там?
А ты выбери одновременно, вот эти крипты:
{[0] Vertcoin, [6] Bitcoin, [7] Bitcoin Cash, [12] CounterParty, [17] Digibyte, [21] Emercoin, [29] Groestlcoin, [41] Namecoin}.
и сгенерируй. Увидишь одинаковые приватные ключи и адреса для некоторых. Их вид зависит от префиксных байт, указанных в массиве.

Этот генератор позволяет привязать множество приватных ключей и адресов (в том числе и сжатых)
для различных алькоинов (если правлильно ввести префиксы) - к простой парольной фразе,
без потери криптостойкости ключей (если указать хорошую, но секретную nonce в исходном коде скрипта).

При этом можно быстро, введя пароль, получить доступ к любому адресу, и узнать его приватный ключ по паролю,
затем импортировать его куда-то, заплатить с него (подписав ним транзакцию), или же с web-wallet's - облить монетами биржу.
Всё это, позволяет не хранить кучу файлов wallet.dat для каждой конкретной монеты,
а просто хранить в голове - парольную фразу.

Но зная nonce, можно устроить атаку по словарю, перебрав различные комбинации простых паролей, среди вероятных.
Поэтому, сам скрипт вместе с nonce может быть и зашифрован каким-нибудь AES.
У меня даже файл-енкриптор есть: https://username1565.github.io/javascript-file-encrypter/
С исходником, в придачу: https://github.com/username1565/javascript-file-encrypter
Аноним ID: Юрена Айдамировна 31/07/18 Втр 00:19:04 3937355
Не везде добавляется 01 в конце. В деше вроде не добавляется
Аноним # OP 31/07/18 Втр 08:56:22 3937736
>>393735
>Не везде добавляется 01 в конце. В деше вроде не добавляется
Там, в массиве у даша - несжатый ключ: "compressed": false

А я писал про сжатые ключи (compressed): https://en.bitcoin.it/wiki/List_of_address_prefixes
>Note that private keys for compressed and uncompressed bitcoin public keys use the same version byte.
>The reason for the compressed form starting with a different character is because a 0x01
>byte is appended to the private key before base58 encoding.

Есть ещё Segwit-адреса, там модификация адреса, байтами [0x00, 0x14]: https://www.reddit.com/r/Bitcoin/comments/5f34rl/convert_normal_1_address_to_new_segwit_address/
И есть transparent-адреса (Для ZCash и прочих cryptocurrencies based on Zcash's zero-knowledge encryption) - у них t-addr. Например, VoteCoin, BitcoinZ, и прочие...
Есть ещё какой-то адрес, с тройки начинается, по-моему это Pay to Script Hash (P2SH), и ещё, я знаю, что на публичный ключ можно как-то платить.

Всего этого - нету здесь, но отчасти, есть вот здесь (Segwit-addr, transparent-addr):
https://username1565.github.io/brainwallet.github.io/#generator
и здесь (bitcoin address <-> t-addr):
https://username1565.github.io/brainwallet.github.io/#t_addr

Ну и конечно же, с адресами эфира и эфиротокенов -можно было бы работать тоже.
Насколько я знаю, в MyEtherWallet - импортируется 32-байтный hex, а значит - им может быть хеш и отсюда.

Аноним # OP 31/07/18 Втр 11:41:55 3938137
>>393621 (OP)
Вот, нашёл таблицу с префиксными байтами других альткоинов:
https://github.com/libbitcoin/libbitcoin/wiki/Altcoin-Version-Mappings
Внизу, её можно видеть как BIP44 Altcoin Version Mapping Table.
mainnet version_WIF - префикс приватного ключа (decimal)
mainnet version_p2pkh - префиксный байт для адреса (decimal),
и рядом, в скобках - символ, который соответствует первому символу адреса.
Правда, тут не указано то, сжатые ли ключи с адресами или не сжатые (compressed/uncompressed)...

Есть где-нибудь подобные таблицы? На биржах, вроде-бы должны быть, ведь там адреса генерируются.
Аноним ID: Юрена Айдамировна 31/07/18 Втр 13:35:16 3938408
>>393813
Зачем тебе таблица? Смотри исходники монет. Это обычно в chainparams.cpp лежит, там разные функции, смотри ту что для main net.

Алсо, хороший тред. Хорошо что ты все рпсписываешь
Аноним # OP 04/08/18 Суб 12:39:05 3946589
>>393840
О, спасибо! Да, я вижу там префиксные байты.
Но чё-то вручную извлекать их не очень хочется, хотелось бы таблицу, чтобы так:
"Забил её один раз, запомнил пароль, открыл это, получил из пароля адрес с привом и майнишь на него."

Я тут кстати, недавно ISAAC CSPRNG форкнул, и дополнил его парочкой примеров:
Вот исходник: https://github.com/username1565/isaac.js
Вот примеры: https://username1565.github.io/isaac.js/

Поговаривают, что он быстрый (в чём я убедился, генерируя bitmap'ы в больших canvas'ах),
и криптостойкий - для атаки надо перебрать от 4.67 10^1240 до 10^2466 (вот это я не проверял).

Думаю его прикрутить сюда, ибо у меня после каждого вызова Math.radom() меняется salt,
представляя из себя не такое уж большое число, но и при этом - каждый раз вызывается функция хеширования,
что влияет на скорость получения множества случайных чисел.
То есть canvas bitmap не так быстро можно сгенерировать, через этот генератор,
чтоб попытаться разглядеть всякие полосы, артефакты, повторы, и прочее,
что могло бы сделать уязвимым генерацию чисел, а значит и строковых паролей от них зависящих.

А ISAAC можно сидить не только числами, а прямо sha256-хешами в виде строк.
Я ещё видел вот здесь: https://github.com/davidbau/seedrandom
возможность задать статичный seed "hello." для Math.random() после чего она выдаёт постоянные значения.
Но в этом коде, скорее всего, дефолтная Math.random() функция переопределяется как RC4 PRNG.

Поэтому, смотрю в сторону ISAAC, если часто вызывать её, но это не так уж осмысленно сюда его пихать,
без большой нагрузки на количество вызовов функции Math.random().
Я же в MultiCoin paperwallet'e canvas'ы с миллионами пикселей не генерирую, а просто пароли.
Аноним ID: Доля Акировна 04/08/18 Суб 14:21:01 39466410
Если набрать словарей с паролями, можно нагенерировать списки адресов (браинваллеты), сделав ключи из хешей паролей, а потом проверять, есть ли на них балансы. Когда это впервые сделали, обнаружились жирные балансы на некоторых адресах, полученных из фраз наподобие лиса перепрыгнула через ленивую собаку и т.п. Три года назад делал аналогичное для некоторых других топовых монет, но ничего не нашел.
Аноним ID: Доля Акировна 04/08/18 Суб 14:22:00 39466511
>>394664
Других по отношению к биткоину.
Аноним # OP 04/08/18 Суб 17:12:37 39469012
>>394664
Вот поэтому, я туда, в исходный код, многострочную nonce и засунул,
чтобы каждый мог переопределить её у себя перед генерацией ключей и адресов.
Кстати, как видишь, на этом сайте: https://brainwalletx.github.io/
есть предупреждение Important Security Update!,
ведущее на тред https://bitcointalk.org/index.php?topic=1148611.0
Этот тред создан в 2015-м году, когда биткоин стоил лишь около трехсот долларов, и не был так популярен,
каким он стал сейчас, когда его разнесли основной монетой - на все вот эти биржи:
https://coinmarketcap.com/rankings/exchanges/
В этом треде, в основном обсуждаются то, что отсутствует генератор случайных чисел, и/или то, что он уязвим.
Я вижу в исходном коде здесь: https://github.com/brainwalletX/brainwalletX.github.io/tree/master/js
файл secure-random.js
вот его исходник: https://github.com/brainwalletX/brainwalletX.github.io/blob/master/js/secure-random.js
внутри которого видно, что он собирает рандом либо с ноды:
    nodeRandom(count, options)
    crypto.randomBytes(count)
либо с браузера:
   browserRandom(count, options)
   var crypto = window.crypto || window.msCrypto
   crypto.getRandomValues(nativeArr)
И криптостойкость значений на выходе этих функций напрямую зависят от исходного кода, внутри них.
Если там PRNG засунули, обозвав его вот так, то будет вызываться PRNG, поэтому надо декомпилировать исходники смотреть их и исправлять.

Кстати, подозреваю, что в qt-кошельках, когда адрес меняется, тоже используется PRNG,
и если узнать изначальный seed, то наверняка можно получить длинный список адресов, наподобие armory и electrum chains:
https://username1565.github.io/brainwallet.github.io/#chains
Аноним # OP 08/08/18 Срд 23:26:30 39548313
tablesorter.png (78Кб, 1343x618)
1343x618
>>393621 (OP)
Аноны, если кто хочет таблички из бирж сортировать, но сортировка не прикручена там - я вам тут table sorter подвёз (пикрелейтед).
Тут можно его посмотреть: https://username1565.github.io/tablesorter/
а исходник - тут: https://github.com/username1565/tablesorter

Если кому надо JSON обрабатывать, например для поиска шустрейшей ноды по пингу тут: http://chainquery.com/bitcoin-api/getpeerinfo
можно заюзать это http://convertjson.com/json-to-html-table.htm
а потом скопировать в табличку, пхнуть её в сортер, и отсортировать по пингу.
Аноним # OP 25/08/18 Суб 00:48:27 39749314
>>393621 (OP)
Криптаны! Вопрос технический!
Кто-нибудь может глянуть, в исходниках монет, код на плюсах,
в той части где подписи делаются и проверка подписей?
Я не очень-то понимаю синтаксис плюсов и не пойму где это.

Хочу, чтобы тут https://username1565.github.io/brainwallet.github.io/#verify
работала проверка подписей, для сообщений которые подписанны с qt-кошельков,
а она только на сайте работает, если с вкладки sign - во вкладку verify перенести подписанное сообщение.
Кошелёк же, сгенериррованную на сайте подпись - не может проверить,
также как подписанное сообщение кошельком - не проверяет сайт.
Там что-то подправить надо, никак не пойму что.
Вот исходник на Javascript: https://github.com/username1565/brainwallet.github.io/blob/master/js/bitcoinsig.js

Ну и сжатые-разжатые ключи с адресами ещё могут быть в подписи, с разными префиксами,
кроме одних лишь деволтных, расжатых...

Свиду, цифровая подпись и на сайте и в кошельке - имеет одинаковый формат,
она начинается с букв [H, I] и заканчивается знаком =,
но внутри, что-то надо таки-изменить, в самом brainwallet'e.
Аноним ID: Зимава Яківовна 25/08/18 Суб 00:59:02 39749415
Что я только что прочитал сверху вниз?
Аноним ID: Аелет Авраамовна 25/08/18 Суб 03:40:47 39750316
>>397494
Это были символы и пиксели.
Аноним ID: Баян Гедионовна 25/08/18 Суб 03:51:34 39750517
Аноним ID: Баян Гедионовна 25/08/18 Суб 03:59:55 39750618
>>393709
>wallet.dat для каждой конкретной монеты,
>а просто хранить в голове - парольную фразу.
харошая штука, можно кого-нить грабануть на все манеты без гемороя, а вообще для чего нужна эта хуйня?
Аноним # OP 25/08/18 Суб 05:51:38 39750719
>>397505
Хуирасы. Отнеси на virustotal, да проверь чё ты как маленький?
>>397506
Грабануть можно и KeyStealer'ом, шустро прочесав твой хард,
когда этот пост позабудешь и в ремонт свой винтец отнесёшь.
А парольную фразу ещё выбить в башки надо, и терморектальный криптоанализ - не всегда тут прокатит,
ведь она может быть хешем картинки или хешем надцати триллионов простых чисел.
Аноним # OP 25/08/18 Суб 06:14:44 39750820
>>397506
>а вообще для чего нужна эта хуйня?
А чтоб wallet.dat'ы от альтов не хранить (вместе с их кошельками). Ты хоть видел сколько их в природе бывает?
Там внутри, этих wallet.dat, которые могут быть encrypted, и затёрты всякими вирусами - только приватный ключ от адреса с балансом важен,
остальные же килобайты, от сгенерированных промежуточных адресов - нафиг не нужны.
Получить приватный ключ можно при помощи консольной команды:
>dumpprivkey address
Но записывать их все в текстовый файл - для всех альткоинов не очень удобно, если ты майнер с whattomine.com
Проще сгенерировать их, завязав на пароль да посолив (для криптостойкости)
Что и реализовано тут. Так вот, не хуйня это, а фича и она client-side.
Даже в brainwallet, ты не сгенерируешь пачку адресов от ВСЕХ альтов,
там можно только chains для одиночной крипты генерировать.
Ну и на биржах, примерно так адреса для депозита генерируются...

Кстати, между прочим, я вижу, что https://multiexplorer.com/ заработал,
и теперь туда можно зайти, зарегистрироваться, и полазить в кабинете. Вкладка Wallet даёт такую возможность.
Там видно, что когда листаешь адреса, вперёд-назад, в кабинете, они не перегенерируются, а один раз сгенерированы.
Подозреваю, что они завязаны на Backup Mnemonic, из вкладки Wallet Settings.

Ну а насчёт вирусов хуирусов - смотрите же исходник, там чёрным по белому всё расписано, и не очень мудрёно.
Аноним # OP 14/10/18 Вск 11:14:36 40341121
Аноним # OP 16/10/18 Втр 10:54:31 40366522
>>393621 (OP)
В этой статье https://medium.com/blockchain-education-network/how-to-write-stuff-on-the-blockchain-bdae1704f24d
описано, как можно примечания к платежам в блокчейн засовывать.
Реально рабочая тема, hex пишется в саму транзу и в блокчейн,
а потом его видно при помощи консольных команд:
"getrawtransaction TX_HASH" и "decoderawtransaction RAW_TX_HEX".
Аноним # OP 17/10/18 Срд 01:22:17 40373023
>>393621 (OP)
Криптач, смотри...
Вот здесь https://brainwalletx.github.io/#tx
изначально была предусмотрена, возможность создания транзакции, формирования из неё raw-транзакции,
цифровая подпись этой raw-транзакции, и отправка подписанной raw-транзакции в сеть биткоина,
через API сайта https://blockchain.info/

Далее, вот здесь: https://username1565.github.io/brainwallet.github.io
я организовал работу брайнваллета с различными альткоинами, после выбора какого-либо, из списка.
Префиксы, разные отображаются в "Coin parameters:" - на вкладке generator.
Цифровые подписи сообщений - тоже работают для альтов, и проверяются в кошельках.
Но с транзакциями - нихуя не понятно.
Для формирования транзакции и подписи её - есть отдельный скрипт:
https://github.com/username1565/brainwallet.github.io/blob/master/js/tx.js
там внутри функция this.rebuild с каким-то не очень последовательным кодом.

Дальше, вот здесь: https://bitcoincashjs.github.io/
я нашёл браузерный bitcoincashjs.0.1.7.min.js, который не требует node.js.
Конечно же я пошёл сразу на github: https://github.com/bitcoincashjs/bitcoincashjs/
форкнул весь репозитарий и добавил туда этот браузерный буфер: https://github.com/BatikhSouri/browser-buffer
а также пару тестов для браузерной версии - в папку dist: https://github.com/username1565/bitcoincashjs/tree/master/dist/browser_tests

В несжатом файле последней версии bitcoincash-0.1.10.js,
в коде внутри, я вижу более читабельный код функции
для подписи для транзакций:
>Transaction.prototype.sign
>this.getSignatures(privateKey, sigtype)
и
>input.getSignatures(transaction, privKey, index, sigtype, hashData)
Но всё-равно непонятно нихуя с префиксами для альтов.

Внимание, вопрос... Как сделать всё это - совместимым со всеми другими альткоинами?

Казалось бы, для чего? А ведь по-сути это уже веб-кошелек.
Достаточно запилить API для функции sendrawtransaction на каком-либо сервере,
чтоб ретранслировать и пушить потом - транзакции на ноды, к майнерам.
При этом для создания транзакции - не нужно устанавливать кошелек и качать блокчейн,
а достаточно лишь знать приватный ключ от адреса с балансом,
и возможно загрузить баланс с блок-explorer'a или сети,
как в веб-кошельках MyEtherWallet или Waves.

Также, можно было бы, вообще без интернета, зная баланс и неизрасходованный выход -
подписать raw-транзакцию скриптом, сохранить её в виде hex,
и когда появится возможность отправить её через консоль qt-кошелька (в интернет-клубе, например),
просто скопипастить быстро и отправить,
без всяких инсталляций, синхронизаций, importprivkey и -reindex, -rescan

Одно дело, если веб-кошелек доступен для одной монеты
и через централизованные сервисы, вроде https://my.dogechain.info/ (у которых могут в любой момент домен отобрать)...
Другое же дело, если веб-кошелек универсальный, поддерживает много монет,
к тому же он всегда с тобой, и работает при наличии одного лишь Интернета.
Можно было бы кстати, каким-то образом и список addnode вписать туда,
и отправлять транзакции - прямо на ноды, без всякой синхронизации.
Аноним # OP 03/12/18 Пнд 08:07:40 41142324
>>403665
Просто напомню здесь про транзакцию с хешем 691dd277dc0e90a462a3d652a1171686de49cf19067cd33c7df0392833fb986a
Почитайте в гугле, что в ней закодировано.
Алсо, тут ещё пару транз красивых есть: https://github.com/nickmitchko/wikileaks/blob/master/jean_b.py
Аноним # OP 22/12/18 Суб 20:13:22 41515625
>>411423
>python jean_b.py 08654f9dc9d673b3527b48ad06ab1b199ad47b61fd54033af30c2ee975c588bd ami-firmware-source-code-private-key-leaked.txt
ЫХХЫХЫЫХЫХЫЫЫЫЫХХХХ!
Аноним ID: Мудрая Онория Наткомб 23/12/18 Вск 13:53:33 41521226
>>393621 (OP)
Как можно сделать красивый адрес? Типа там sup/cc/VQJejT6qBKTJcvhivzB6zbPKCdrAF
Аноним # OP 23/12/18 Вск 21:50:02 41525227
blob (40Кб, 1025x593)
1025x593
blob (207Кб, 640x333)
640x333
>>415212
vanitygen. В -help посмотри как префиксы передавать ему.
Ну и попытайся импортировать прив ещё, после генерации, чтоб сравнить импортированный адрес.
Аноним # OP 26/12/18 Срд 11:53:11 41550628
>>393621 (OP)
https://github.com/username1565/MultiCoin-paperwallet/commit/57d602c632645b05486fc00cf7795c3a562bbfb6
Добавил кэфир с лого.
Спрятал привы и qr-коды от них под placeholder. Теперь, переключение - кликом по privkey.
Сделал zoom для qr-кодов, чтоб лучше сканировалось с экрана. Их теперь можно сохранить как PNG-файлы.
Вставил также на 832-й строке файла index.html - закомментированный огрызок кода для закачки qr-кодов
как GIF картинок, с отдельным генератором qrcode-generator.js и функцией generate_qr_code() .
Там можно задать урвень error correction capability "High".
Подправил чуток стили и запхнул туда ещё 40 разных спиннеров.
Теперь на страничке, при регенерации рандома - крутится протеиновый белок.
Аноним # OP 27/12/18 Чтв 09:52:46 41558629
>>393621 (OP)
Аноны, какой форк coinb.in из этих: https://github.com/OutCast3k/coinbin/network/members
Самый охуенный?
Ну, чтобы навороты всякие, и главное - чтобы транзы можно было подписывать client-side
и отправлять их через
https://live.blockcypher.com/btc/pushtx/
или
https://www.blockchain.com/ru/btc/pushtx

Есть чё-нибудь получше этого в сети?

Давайте-ка, всё это за-merge'им и сделаем заебатый, полнофункциональный веб-кошель для всех монет и токенов?
Аноним # OP 27/12/18 Чтв 10:34:44 41558730
Аноним # OP 06/04/19 Суб 00:19:29 42262031
>>411423
>>415156
Как дела там у Ассанджа? Вроде прокатились какие-то хуёвости, но потом опровергли.
>По данным одного из собеседников агентства, о том, что решение о выдворении Ассанджа не принято, заявил президент Эквадора Ленин Морено.
Аноним # OP 12/04/19 Птн 00:36:26 42383232
>>422620
Ну и хуле его сегдня арестовали? Сколько лет сидел в посольстве, никого не трогал, и на тебе...
Там это... Пароли от WikiLeaks "Insurance file" архивов ещё не вылились в сеть? Там, внутри инфа про Афган.
Аноним ID: Романтичный Чеширский Кот 28/05/19 Втр 20:31:33 42974033
digitalsignatur[...].png (96Кб, 942x587)
942x587
blob (152Кб, 1200x800)
1200x800
blob (585Кб, 765x447)
765x447
blobid152284451[...].jpg (66Кб, 712x648)
712x648
>>393621 (OP)
Анон, давай вместе подумаем, как вытеснить с рынка фиат?!!

Сразу оговорюсь... Нахрена это надо? А просто для того - чтобы не срать транзами в блокчейн.
Фиат ходит из рук в руки, переносит микробы, но от этого же - не растут гигабайты на серверах и нодах!..

В общем, смотри, чем же пик2 и пик3 - не фиат, если на адресе - лежит реальный биток?
Ах, да, рандомный Антуан может скопировать private key и увести биток, оставляя никчёмную бумажку...

А что, если сделать что-то вроде скретч-карт (как карты пополнения у мобильных операторов)
то есть обычных карточек с адресом, и со скрытым под слоем - privkey?..
Тогда, баланс по адресу можно будет в любой момент, проверить, по сети - через блокчейн!
Ах да, а вот соответствие скрытого под защитным слоем privkey - указанному адресу,
увы, без рентгена - проверить нельзя...
То есть скамеры могут нарисовать там миллионы BTC, а под слоем намалякать рандом. Лол.

Тогда что, если сделать privkey - доступным только для считывателя (пик4), а не для чела.
Например, зашить privkey в RFID-метку, или сделать что-то вроде SIM-карты,
даже те же банковские карты - с чипами (пик2).
Действительно ведь, а нахрена в сим-картах и банковских картах, и даже паспортах - чипы? Там есть память? ДА!
Туда private key можно прошить, с него адрес получать, делая это:
либо в детекторе - при просвечивании купюры (с фиксированным номиналом),
либо в банкомате/терминале - при проверке карты,
и по блокчейну баланс по полученному адресу - сверять.
Тогда уже - никто не подделает такую купюру/карту...
В этом случае, в отличие от скретч-карт, уже можно проверить соответствие privkey - указанному адресу,
ведь с этого privkey - как раз и получается адрес.
Ах, да... Встаёт другой вопрос...
А что, если при считывании - считыватель втихую скопирует priv и стыбрит биткоин,
оставив держателю бесполезный пластик/бумажку?

Ну, очевидно, что если на купюре/карте указан адрес, которому соответствует этот же priv -
то держа карту/купюру - на руках, можно будет проверить баланс по адресу, через блокчейн.
В любой момент. Алсо, валидация купюры/карты, без баланса на ней, в следующий раз - уже не пройдёт.
Но всё-же, возможно что втихую всякие кардеры сольют биток. И это проблема.
Что тогда? Кувалдой банкомат идти бить?

Очевидно, что чтобы решить её - privkey нужно бы выдавать из чипа только тогда,
когда нужно РЕАЛЬНО ПОТРАТИТЬ BITCOIN с адреса...
И либо весь биткоин (в случае с купюрой фиксированного номинала),
либо часть биткоина - в случае с картой с чипом.
И да, кстати, privkey вообще выдавать из чипа не обязательно,
ведь для траты биткоинов - достаточно лишь подписать ним, исходящую с адреса - транзакцию,
и отправить её для подтверждения - в сеть, к майнерам.
К тому же, при работе с картой, privkey вообще выдавать не нужно,
ведь тратятся не все биткоины, и нужно бы только подписывать privkey'ем - транзакции,
и только при тратах, и только владельцем - возможно даже, после ввода обычного PIN-кода...

Дальше...
В случае исключения возмоности выдавать сам privkey из чипа (ну, чтоб его не скопировали втихаря),
встаёт проблема проверки самого адреса.
То есть: Как проверить баланс по адресу, privkey от которого - недоступен?
Или, же, вот так: Действительно ли privkey внутри чипа - соответствует указанному адресу?

Казалось бы, решением этой траблы являлась бы обычная распечатка адреса - прямо на карте/купюре
(bitcoin address вместо номера карты на пик2),
но это не решает вторую проблему... Ещё раз перефразирую её так:
Как знать, что privkey внутри чипа вообще там есть - и что он реально соответствует именно указанному адресу?

Или же, если окончательно перефразировать... То... Вопрос, скорее будет звучать так:
Каким же образом, можно проверить, наличие privkey в чипе
и соответствие указанного адреса - приватному ключу внутри чипа купюры/карты?

И тут решение оказывается очень простым!..
Раз уж в чипах есть память, то можно использовать обычную цифровую подпись (пик1), внутри самого чипа!
Алгоритм такой:
1. Сервер, терминал, банкомат, или детектор купюр (пик4) - хочет проверить валидность купюры с чипом, или баланс по карте (пик2).
2. Он посылает на чип купюры/карты, некое проверочное сообщение, например хэш даты и времени.
2. Внутри чипа, приватный ключ + сообщение - формируют цифровую подпись (пик1) и возвращают её в устройство из пункта 1.
3. Там, цифровая подпись - проверяется, и если она валидна, значит на чипе - содержится приватный ключ.
Проверка цифровой подписи происходит скриптами, с открытым исходным кодом, примерно вот так:
https://username1565.github.io/brainwallet.github.io/#verify?vrAddr=18w2rtYxYse12po93P1dkf8QnW8DaYqRTD&vrMsg=Date%20and%20time%20%3D%2028.05.2019%2017%3A19&vrSig=HH5KbJHAnyFT1FDENcvhoO7s3ZJXksLxF30Y2Zsfa%2BS1bbvYqhPkty0ndrcsr2qz4kpPL4JXobh5Jv4h%2FAbqR7Y%3D&vrstrMessageMagic=Bitcoin%20Signed%20Message%3A%0A
Дальше, в устройстве из пункта 1, при поверке цифровой подписи,
помимо статуса о том, что подпись валидна - выдаётся ещё и адрес.
4. Затем, устройство из пункта 1, после получения адреса - просто проверяет баланс по адресу, в блокчейне:
Вот таким примерно образом: https://www.blockchain.com/btc/address/18w2rtYxYse12po93P1dkf8QnW8DaYqRTD
И если там есть монеты - то либо отображается баланс,
либо проходит валидация купюры с фиксированным номиналом (0.01 BTC, к примеру),
либо, может быть ещё перевод битков другому получателю (если это - терминал).

В случае перевода, указывается адрес получателя, в терминал засовывается купюра/карта с чипом,
внутри терминала - проверяется наличие приватного ключа в чипе, (через цифровую подпись),
затем приватным ключём из чипа - подписывается ТРАНЗАКЦИЯ перевода монет получателю,
а сама купюра - сгорает, то есть не возвращается из терминала,
и может буквально гореть (проходя вторичную переработку, внутри него, например).
Аноним ID: Романтичный Чеширский Кот 28/05/19 Втр 20:31:58 42974134
>>429740
Однако, не забываем о том, что сами транзы - засирают блокчейн гигабайтами.
Если privkey не выдавать из чипа, а только подписывать транзакции ним, то очевидно наличие транзакций в сети bitcoin.
А вот с чипо-купюрами, с фиксированным номиналом, можно было бы и попроще...
Без транзакций, как с фиатом.
Сначала, купюра пожирается, инфа на чипе считывается, летит получателю в другой терминал, а ему вылазит такая же ровно - купюра,
затем инфа на чипе первой купюры - сбрасывается и она стаёт невалидной. Всё.
Так как privkey не знает ни владелец, ни получатель, он - один не меняется, является одним и тем же privkey,
но эта схема уязвима к перехвату этого privkey - терминалом, с последующим сливом c адреса купюры - биткоинового обеспечения.
В таком случае, купюра уже не пройдёт валидацию.
И хотя эта схема вообще без транзакций, как у фиата,
это пиздатый баг. Она может открывать дыру хакерам - для массовых скамов и сливов...

И чтобы чип не палил privkey - терминалу, очевидно, что можно было бы его шифровать асимметрично!
Например, при помощи PGP: https://username1565.github.io/pgp/
1. Получатель - генерирует пару ключей PGP, и держит в секрете свой PGP privkey.
2. Отправитель (владелец чипо-купюры), просит его подписать ним - некое проверочное сообщение.
3. Получатель подписывает privkey'eм сообщение, и отправляет его, вместе с PUB-key - отправителю.
4. Отправитель - вводит в терминал PGP-pubkey получателя, и проверяет цифровую подпись получателя,
тем самым - он убеждается, что приватный ключ PGP - имеется у получателя, а цифровая подпись - корректна.
5. При переводе монет получателю, отправитель пишет в терминале - просто его PGP-PUB-key,
причём - однократно, при проверке сообщения,
и этот PGP-PUB-key - он вводит, как адрес получателя.
6. Из терминала отправителя, этот PGP-PUB-key получателя - поступает уже на вход ЧИПА-купюры,
после чего, ЧИП ШИФРУЕТ инфу внутри себя - асимметрично, этим PGP-PUB-KEY, и выдаёт терминалу - шифр.
Терминал не знает саму инфу, и просто шлёт получателю криптоинфу, или заводит её в терминальную базу,
вместе с PUB-key получателя (по которому её можно найти).
После ввода PGP-PRIV-KEY, уже в своём терминале - получатель может расшифровать зашифрованную чипом отправителя инфу,
и тогда уже, его терминал, может записать её на такой же аналогичный чип - выдав получателю ту же купюру.
7. Инфа на чипе старой купюры - зануляется, а купюра отправителя - пожирается терминалом.
На неё, же, терминал может писать инфу для других получателей, делая с неё другие купюры.

Но тут, на этапе расшифровки - терминал может скопировать privkey.
И чтобы этого не было, он может залить сразу шифр в купюру, а активировать её для валидации,
можно было бы, введя свой секретный PGP-privkey при помощи специального устройства,
подключаемого к чипу купюры.
Тогда, PGP-privkey - поступает на вход чипа, с последующей дешифровкой чипом шифра - в инфу получателя,
и записью в этот чип изначального privkey.
Аноним ID: Стервозный Оливер Куин 09/06/19 Вск 12:20:24 43202135
>>429741
Но как быть с дубликатом чип-карты? Как гарантировать, что производитель его не выпустит?
Аноним ID: Игривый Труляля 09/06/19 Вск 22:45:49 43206236
>>429740
Прочитал тут твой поток сознания, но так и не понял, ты хочешь освободить блокчейн от транзакций, притом обмениваться битком?
Слова Lightning Network тебе что-то говорят?
Я не понимаю, зачем изобретать бумажный велосипед, если он уже придуман.
Аноним ID: Heaven 15/06/19 Суб 11:14:20 43288737
>>393621 (OP)
Полюбому хуйня протроянена бажными, легковскрываемыми алгоритмами, которые на первый взгляд не видно из исходников. То что нету обмена данными, ни о чем не говорит, сгенеренные этой парашей кошельки можно будет позже вскрыть по зашифрованной туда создателем методе.
Аноним ID: Креативный Григорий Льстивый 15/06/19 Суб 18:19:43 43294338
>>432887
Лал, исходник открыт. Все функции - прозрачны, и имеют вполне читабельный код.
Если видишь чё-то, что кажется тебе "подозрительным",
то укажи строку, например вот так:
https://github.com/username1565/MultiCoin-paperwallet/blob/bf9e36c94093972e90b98a719bb6abbef0d6003c/index_files/COINS_ARRAY.js#L70

Там спецом генератор рандома вшит, который работает локально,
а рандом зависит от хэша положения курсора мыши.
И да, его код же - тоже открыт.
Аноним ID: Креативный Григорий Льстивый 15/06/19 Суб 18:26:40 43294439
20120207-124546[...].jpg (20Кб, 283x424)
283x424
blob (283Кб, 734x452)
734x452
blob (236Кб, 600x451)
600x451
blob (271Кб, 610x320)
610x320
>>432021
>Но как быть с дубликатом чип-карты? Как гарантировать, что производитель его не выпустит?
Очевидно, что карты, изначально - должны быть болванками,
а прошивать карту надо локально, через специальное портативное устройство.
На первых двух картинках - запись данных на магнитные карты.
На двух других - карты с чипом.
Так как предлагаются к использованию карты с чипами - то чип должен иметь возможность
шифровать-дешифровать данные сам,
а также - не отдавать данные какому-либо карт-ридеру - в сыром виде, а только в виде шифра.
Крипта же, ёпт.
Аноним ID: Креативный Григорий Льстивый 15/06/19 Суб 19:41:37 43295340
>>432062
>ты хочешь освободить блокчейн от транзакций, притом обмениваться битком?
Да.
>Слова Lightning Network тебе что-то говорят?
Интересная технология, но больше похожи на контаркты bitmex'a, то есть это скорее права на биткоин,
а не сам биткоин. Ведь биткоин хранится в каналах, а они могут отключиться или заскамить юзера.
>Я не понимаю, зачем изобретать бумажный велосипед, если он уже придуман.
Вообще-то, как я уже написал выше, обычный paperwallet может представлять из себя реальный бумажный биткоин.
Таким образом - биткоин может заменить фиат и даже вытеснить его.
Но, недостаток такого подхода в том, что приватный ключ может быть скопирован, а сам биткоин - слит.
Это то же самое, что по номеру купюры, в банке, с твоего счёта кто-то может забрать золотое обеспечение бумажных денег, и тогда фиатные фантики останутся без реального покрытия - то есть обычной макулатурой.

>>432021
>Но как быть с дубликатом чип-карты? Как гарантировать, что производитель его не выпустит?
И всё-же, этот пост >>432944 - не отвечает на выше заданный вопрос...
Ведь локально можно было бы прошить на болванках - две одинаковые чип-карты.

Решить эту траблу мог бы тот факт, что на болванки, изначально, записывается шифр PGP.
А затем уже, локально - производится активация карты, владельцем секретного ключа PGP,
с последующей расшифровкой PGP-шифра внутри чипа, и записью сырых данных - на чип.
В дополнение ко всему этому - в карте может содержаться также ещё и хардварно-прошитый серийный номер карты.

Смотри:
Боб, как получатель биткоинов - получает из банкомата карту с биткоинами.
Это - болванка. На ней уже вписан - шифр PGP, содержащий зашифрованное состояние предыдущей,
уже неактивной - карты Алисы. Алиса - перевела Бобу биткоины, её карта сожрана терминалом.
Карта - теперь у Боба. Он её получает, и активирует локально, подавая на вход чипа - закрытый ключ PGP.
Этим ключём - расшифровывается PGP-шифр, и на чип карты - пишутся сырые данные карты Алисы.
Всё, биткоины у Боба. То есть, у Боба - та же карта Алисы,
с тем же PRIV, на чипе, в карте, с тем же адресом, и биткоинами на адресе,
но карта эта - с другим серийным номером карты.

Дальше, представим следующую ситуацию:
Есть Боб, с картой, с определённым серийным номером,
и как законный владелец биткоинов Алисы - на ней данные Алисы (priv, address, и биткоины на адресе).
И внезапно, появляется некая Кэрол, с такой же картой, там, на чипе - данные Алисы, но у карты - другой серийный номер.
Такой юзер мог бы получится либо в случае, если Боб уже перевёл биткоины Кэрол, либо если Кэрол - хакер,
записавший перехваченный шифр PGP на чип карты-болванки.
Но тогда, даже при таком раскладе, без PGP_PRIVATE_KEY Боба,
Кэрол не могла бы расшифровать этот PGP-шифр, и восстановить на чипе карты данные Алисы.
Только Боб может активировать такую карту.

Но, допустим, у неё получилось каким-то невъебенным образом,
узнать сам PRIVKEY Алисы, содержащийся на чипе карты Боба, и прописать его в сыром виде на чип своей карты.
Кто в таком случае законный владелец биткоинов? Очевидно, что Кэрол, ведь у неё PRIV.
Она может также - сделать транзу и в биткоиновом блокчейне.
Однако, Верификатор, при обнаружении двух одинаковых карт с разными серийными номерами
- сразу же банит обе карты, и Боба, и Алисы, пожирает их,
а взамен них - выдаёт обоим юзерам карты, содержащие на чипе PGP-шифр,
зашифрованный PGP-PUBLIC-ключём, последнего законного владельца.
Очевидно, что активировать такую карту локально - сможет тот, кто владеет приватным ключём PGP, то есть Боб.

И если Кэрол тупо сдампила ёбанный PRIV Алисы, и прошила их на чип карты как hexadecimal values,
и не являясь при этом - хакером, является обычным тупым, уёбищным кардером,
то нихуя она не получит, никакие битки,
а из терминала вылетит пиздатая боксёрская перчатка на жесткой пружине, и залетит ей прямо в ебло,
при следующей вставке её инвалидной придурошной карты, блядь.

А Бобу, при активации карты, должно быть выдано уведомление о том, что следует сменить PRIV,
ведь карта эта выдана в результате аннуляции двух карт, и пока ещё PRIV содержится в виде hex'a - у Кэрол,
она может тупо - увести битки по блокчейну.
Технически, это предупреждение может быть зашифровано дополнительным текстом,
шифруемым PGP-ключём Боба, с последующей записью шифра на чип карты.
Сама Кэрол может при этом - ничего не подозревать, увидем галочку валидации карты,
при проверке её фейко-карты.
Аноним ID: Креативный Григорий Льстивый 15/06/19 Суб 20:04:54 43295641
>>432953
>Однако, Верификатор, при обнаружении двух одинаковых карт с разными серийными номерами -
>сразу же банит обе карты, и Боба, и Алисы, пожирает их
Верификатор может "банить" (перевыпускать) - обе карты, и Боба и Кэрол.
Сама же Карта Алисы - уже аннулирована и сожрана терминалом, при переводе битков Бобу.
>Сама Кэрол может при этом - ничего не подозревать, увидем галочку валидации карты,
при проверке её фейко-карты.

Это уже другой вариант, беспалевный, то есть Кэрол, потенциально зная PRIV от адреса битка,
временно пользуется фейко-картой ничего не подозревая,
но при этом, Бобу даётся возможность сменить этот PRIV,
и это - просто потому, что его PGP-PUB в базе верификаторов -
является последим PUB'ом законного владельца,
а Кэрол - прошила карту без транзакции в сети верификаторов.

Да, может быть такое, очень редкий случай.

Допустим, Кэрол сгенерировала PRIV, получила адрес,
проверила в блокчейне баланс, а там битки, лол.
И не зная что делать с этим - тупо записала priv на карту и пошла с нею - шопить.

И при таком раскладе - законным владельцем битков, всё-равно является Боб,
ибо у него транзы по терминалам, были верифицированы.

Поэтому, Бобу карта могла бы перевыпускаться сразу,
тогда, в один момент, все транзакции Кэрол - могут быть заорфанены.
Аноним ID: Тревожный Звездочкин 16/06/19 Вск 17:37:18 43312042
>>432953
>Вообще-то, как я уже написал выше, обычный paperwallet может представлять из себя реальный бумажный биткоин.
Таким образом - биткоин может заменить фиат и даже вытеснить его.
Но, недостаток такого подхода в том, что приватный ключ может быть скопирован, а сам биткоин - слит.


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

Аноним ID: Стыдливая Герда 06/08/19 Втр 21:53:25 44193643
>>393621 (OP)
Аноны, есть ли где-то сорцы мультикриптовалютных веб-кошельков,
в которых можно только проверить баланс и перевести крипту?

Что-то наподобие вот этого: https://guarda.co/ только с открытым сорцом,
а не проприетарное и копирастическое какое-то © , ®, TM, с закрытым кодом.

Хочу поднять у себя подобную шнягу, и возможно даже сервер с блокчейнами, но для рандомного альта.
Веб кошельки радуют тем, что с их помощью - можно втюхать любую крипту,
рандомному челу с баблом, не знающему о конкретной крипте - от слова совсем.

Например, продать биток по 20к, взять у него бабло, перечислить ему битки, чтобы он его получил,
а потом сказать что биток упал до рыночной цены. И купить их же, но дешевле. Лол.
Так можно пампить монеты, кстати, такими вот холдерами.
Главное, чтобы в веб-кошельке был только баланс крипты, а не эквивалентная рыночной стоимости сумма.
Ведь хомяк может вообще не знать о рынке, и о биржах, его может интересовать только крипта.

Короче, палите годноту опенсорцную, вроде этого вот мультикошеля https://guarda.co/
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов