Bitcoin Forum
April 28, 2024, 04:21:12 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Local / Кодеры / Re: BtcIO - Опенсорсный, холодный, BTC-кошелёк on: March 27, 2021, 03:53:40 PM
Добавил пользовательскую энтропию, функционал открытия и сохранения кошельков, анонимные транзакции через TOR, скрыл WIF и seed.

https://www.youtube.com/watch?v=Oytmq7KVDPE
2  Bitcoin / Wallet software / Re: BtcIO - Open source, cold, BTC wallet on: March 27, 2021, 03:52:26 PM
Added user entropy, functionality for opening and saving wallets, anonymous transactions via TOR, hiding WIF and seed.

https://www.youtube.com/watch?v=Oytmq7KVDPE
3  Bitcoin / Wallet software / Re: Brute Force And Seed Phrase Security Questions on: March 15, 2021, 03:35:11 PM

Now the electrum seed is 12 words.  The nano ledger is 24 words.  I know other wallets have 12 as well and others have 24 in general

In my wallet(https://bitcointalk.org/index.php?topic=5320048.0) I use a dictionary of 466550 words(https://github.com/dwyl/english-words), 12 of them give 1056 combinations, this is an unthinkable amount.
4  Local / Кодеры / Re: Опенсорсный, холодный, BTC-кошелёк on: March 15, 2021, 12:04:16 PM
Ну вот, немного получше стало, не так пугающе, гуи рулит верно ведь?

Но всё равно пока сырая поделка, если комментировать по взрослому, то сложно с чего начать, всё пока на уровне поделки, на уровне "самоудовлетворения"(сам написал сам юзаю), до продакшина очень далеко.

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

Второе, у вас в коде простым ГСЧ создаётся сид-фраза, это фэйспалм, такие приваты хакаются на раз-два. Почитайте про "энтропию" и как это делается в серьёзных приложениях.

ГСЧ  поменял на более "сильный", позже добавлю юзерскую энтропию.

ИМХО копипаст ключей не более опасен чем ввод паролей от кошелька, если устройство атаковано(есть доступ к дискам и все действия пользователя доступны злоумышленнику)

Но возможно Вы правы, я подумаю над этим.
5  Bitcoin / Wallet software / Re: BtcIO - Open source, cold, BTC wallet on: March 15, 2021, 11:42:39 AM
If the result provided by RNGCryptoServiceProvider were weak or flawed then hash of that result is no different than the original entropy and it too would be weak.
In other words by hashing it n times you aren't really making a meaningful difference. The correct way is to mix it with another source of entropy. For example some use Guid.NewGuid() and mix (eg. using a KDF) the returned 128 bit with the 256 bit entropy, you could use a user input, etc.
100k hashes will slow down brute-force by 100k times, even if the entropy was weak.

But you may be right, I will remove the multi hash and add custom entropy. Thank.


It is better to hide private keys, they cannot be entered from the keyboard Shocked or by copying, it is not safe.

The seed phrase generates an encrypted wallet with a password.

User entropy is also needed, one RNG is not reliable.

Yes, I'll think about it.
6  Bitcoin / Wallet software / Re: BtcIO - Open source, cold, BTC wallet on: March 06, 2021, 11:59:06 AM
An intelligent user can create seed himself or add any of words and symbols as entropy.
You can and should not ever rely on the user to be the source of entropy, they will never create strong ones ever.

Quote
As an option, I will add the ability to use any arbitrary file as a seed, and multiple hash (>100000) to slow down brute-force, this will be really reliable, I believe.  Smiley
This makes your program to be a brainwallet which are very unsafe and 100k hashes does not make brute forcing slow.
...and multiple hash (>100000) to slow down brute-force, this will be really reliable, I believe.  Smiley

I don't think that will be effective in the long run. An Nvidia V100 can theoretically do 10x as many hashes as a K520 and they were released just 3 years apart. So I imagine if not the current Ampere cards or next year's cards, one of these years someone's going to be able to pass 100K hashes/s at the same speed people pass 2000 hashes/s (number of PBKDF2 rounds of seed phrase) today.
I read more about RNGCryptoServiceProvider, it inspires trust, for now I limit myself to it and a 100k hashes.

Code:
        public static string[] words = ReadResource("words.txt").Split('\n');

        public static string RandomSeed()
        {
            string res = "";
            for (int i = 0; i < 12; i++) res += words[Rnd2()].ToLower() + (i < 11 ? " " : "");

            return res;
        }


        static RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
        public static uint Rnd2()
        {
            var data = new byte[sizeof(uint)];
            rng.GetBytes(data);
            return (uint) (BitConverter.ToUInt32(data, 0) % (words.Length - 1));
        }


        public static byte[] Sha256(string seed, int itter = 1)
        {
            byte[] b = Encoding.UTF8.GetBytes(seed);
            for (int i = 0; i < itter; i++) b = SHA256.Create().ComputeHash(b);
            b = SHA256.Create().ComputeHash(b);

            return b;
        }

Code:
        public static (string address, string wif) newWifAddr(string seed, string net = "test3", int addrtype = 2)
        {
            var b = Tech.Sha256(seed, 1000000);
            var network = net == "test3" ? Network.TestNet : Network.Main;
            var privateKey = new Key(b);

            return (privateKey.PubKey.GetAddress((ScriptPubKeyType) addrtype, network).ToString(), privateKey.GetWif(network).ToString());

        }
7  Bitcoin / Wallet software / Re: BtcIO - Open source, cold, BTC wallet on: March 04, 2021, 03:06:33 PM
You might want to warn people that you are using a very weak RNG (System.Random) to generate their keys[1] and it is not safe to use this method to get a true random bitcoin private key to be used for real bitcoins.
Also you are using your own defined word list to generate the "seed" which you end up computing its SHA256 only as a "secure" entropy[2]

https://github.com/avadhuta/BtcIO/blob/3f67b5657733370e99078c7345a1e46a27d993c5/BtcWalletTools/Tech.cs#L75-L82
https://github.com/avadhuta/BtcIO/blob/3f67b5657733370e99078c7345a1e46a27d993c5/BtcWalletTools/WalletTools.cs#L255
You are absolutely right, my logic for generating the passphrase is made elementary, although it is dangerous to use any software RNG for this, especially in open source.

An intelligent user can create seed himself or add any of words and symbols as entropy.

As an option, I will add the ability to use any arbitrary file as a seed, and multiple hash (>100000) to slow down brute-force, this will be really reliable, I believe.  Smiley

It is more secure, in that method, to use the System.Security.Cryptography.RNGCryptoServiceProvider class than Random and then use it's GetBytes method to get a byte value which OP then takes the modulus of words.Length. For example:

Code:
using System.Security.Cryptography;

# ...

public static String RandomSeed() {
    RNGCryptoServiceProvider rngCsp = new RNGCryptoServiceProvider();
    byte[] randomNumber = new byte[1];
    string res = "";
    for (int i = 0; i < 12; i++) {
        rngCsp.GetBytes(randomNumber);
        int r = (int) randomNumber[0] % words.Length;
        res += words[r].ToLower() + (i < 11 ? " " : "");
    }
    rngCsp.Dispose();
    return res;
}
# ...

Note: I did not test this code for syntax errors.
Thanks for the code, but I don't think that a more complex RNG will change anything in this case, especially in open source, manual entropy is needed.
8  Bitcoin / Wallet software / Re: BtcIO - Open source, cold, BTC wallet on: March 01, 2021, 12:04:38 PM
You might want to add README.md on your GitHub repository

Yes, you are right. Thank.

.zip Source Code  Cheesy Cheesy Cheesy  Do you think BtcIO is open source?

Sources: https://github.com/avadhuta/BtcIO
9  Bitcoin / Wallet software / BtcIO - Open source, cold, BTC wallet on: February 25, 2021, 11:45:24 AM
A desktop app(console and with a GUI) for Windows and Linux, written in .NET CORE, designed to quickly generate privates and addresses by seed phrase, view balances and send transactions from your private accounts and wallets.

Github https://github.com/avadhuta/BtcIO/releases

screenshots:






The example of use with a test network (with a mainnet it works the same way):

For console https://youtu.be/Mnm2dWqRP8g

For GUI variant https://youtu.be/JiTr551-veE


The library used are NBitcoin and blockcypher.com API.
10  Local / Кодеры / Re: Опенсорсный, холодный, BTC-кошелёк on: February 25, 2021, 11:25:52 AM
может из этого отдельный кейс сделать? или вообще мобильную апку?

Картинка на первый взгляд выглядит устрашающе, как хардовое сисадминство.

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

Кроме того ИМХО десктоп уже не в тренде, 90% пипла всё делают на смартфонах и вебе на крайняк, процесс "скачивания" или "инсталяции" остался в 20м веке, всё в браузере должно быть, никакого напряга, общее настроение такое: "пипил кайф ловит, а между делом на тусовке с депутатами и фотомоделями, одним касанием пальчика по экрану, миллионы баксов делает на битке", такова новая парадигма, никакого напряга, всё в кайф, без мышек, клавиатур и консолей, это ключ к юзеру 21го века.

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

На счет консоли и "сисадминства" Вы от части правы, я сделал вариант с GUI а из консольного варианта убрал код транзакции, это действительно лишнее, суть была в том что хекс можно было самостоятельно запушить через ТОР для параноиков, но нужно просто прикрутить такую логику в апке.

В общем я сподобился выложить бетку на гитхаб https://github.com/avadhuta/BtcIO/releases

И пример использования с тестовой сетью на ютуб(с майновой работает аналогично):

Для консоли https://youtu.be/Mnm2dWqRP8g

Для варианта с GUI https://youtu.be/JiTr551-veE

screenshots:






Прошу заценить  и прокоментить, кому не лень.  Smiley
11  Local / Кодеры / Re: Опенсорсный, холодный, BTC-кошелёк on: January 29, 2021, 05:19:23 PM
используются библиотеки NBitcoin и QbitNinja, а также API blockcypher.com.

обычно АПИ сторонних сервисов имеют ограничения для количества запросов и могут меняться всяко разно без уведомлений.
Все таки RPC родного кошелька надежней будет. Синхронизироваться можно в prune mode если "винт не резиновый". Хотя, если серьезно к делу подходить, то лучше не пожалеть 15 тыщь на гигабайтный ssd который закриптовать трукриптом и целиком пустить под блокчейн проекты.
Согласен, RPC конечно надежнее, у кого блокчейн битка постоянно в сети или хотя бы каждый день обновляться и в коре синхронизация\доступ к средствам за 5 мин происходит. Если какая нить биржа, обменник, или сервис некий, то разумеется RPC.

Ну а если с ноута или планшета, отправить, посмотреть баланс, раз в месяц, то уж простите это перебор, а веб-кошельки даже такие уважаемые как blockchain.com/wallet могут тоже в любой момент учудить КИС или что то подобное, страшно. Помнится я как то 2fa потерял пароль к веб кошельку, не очень весело было. Приваты доверять кому то стрёмно.

Я вообще эту утилитку сделал когда разбирался как транзакции формировать и с битком в .net работать, по началу тоже и не думал гонять раельный биток собственной поделкой, только тестовый. А потом попробовал и оказалось достаточно удобно, по сравнению с кором, из за ожидания загрузки, так как я редко гоняю биток с биржи- на биржу, может раз в пол года, обычно когда движуха сильная на рынке, как недавно была и приходится долго ждать когда десятки гигов зальются.
12  Local / Кодеры / BtcIO - Опенсорсный, холодный, BTC-кошелёк on: January 29, 2021, 02:38:32 PM
Десктопная апка(консольная и GUI) для виндовс и линукс на .NET CORE для того что бы быстро генерировать приваты и адреса по сиду, смотреть балансы и слать транзакции, со своих приватов и кошельков.

Гитхаб https://github.com/avadhuta/BtcIO/releases

Пример использования с тестовой сетью(с майновой работает аналогично):

Для консоли https://youtu.be/Mnm2dWqRP8g

Для варианта с GUI https://youtu.be/JiTr551-veE


Используются библиотека NBitcoin, а также API blockcypher.com.

screenshots:



13  Local / Трейдеры / Re: Терминал для торговли на Poloniex on: June 16, 2017, 05:52:20 PM
С проблемами с api у поло, возможна торговля только при обычных объемах, как только намечается слив или рост, глючит и ордера тормозят.
Да, но через веб ещё хуже((
14  Local / Трейдеры / Re: Терминал для торговли на Poloniex on: June 16, 2017, 05:12:29 PM
Привет.
А если не сразу с полыни начинать, к примеру BTCe.
Я считаю МТ-5 удобен для торгов.
Здрасте.
Ну во первых на полыни больше всего форков, а во вторых MT не доверяю, ИМХО это софт для клиентов ДЦ, по заказу ДЦ, не хватало чтобы ещё криптой через кухню торговать...
15  Local / Трейдеры / Re: Терминал для торговли на Poloniex on: June 09, 2017, 01:31:53 PM
Ладно, всем спасибо кто проявил интерес, вижу, что на уровне идеи, такого рода проекты не представительны, тогда буду делать как мне оно видится и покажу потом уже более менее готовый прототип.

PS: QScalp – для крипты сейчас не подойдет, по ряду причин, на полыни что бы ордер послать вначале нужно запросить текущий портфель, это минимум 1-5 сек и потом уже зная сколько есть денег слать ордер и он разместится тоже сек за 5 там, тут скальпить как на FORTS не получится, стакан очень разряжен, допустимо только гистограмное представление, с определенным шагом, заявки сделки по API передается с рандомным лагами тоже 0-5 сек и тп. в общем не HFT. Кроме того полезно видеть не только заявки сделки но и чарт одновременно, лично мне так больше нравится, как в виджетах ATAS

16  Local / Трейдеры / Re: Торговый терминал для торговли на Poloniex on: June 08, 2017, 09:14:49 AM
А что до сих пор нет готовых?
Я не видел опенсорсных.

А поиск на гитхабе пробовал по слову полоникс?
Или а если например терминал для другой биржи допилить, почему нет? там графики больше чем работы с апи.
Пробовал, нашел пару примеров с реализацией некоторых API функций, но до полноценного терминала, там далековато. Есть платные решения с закрытым кодом. Свои поделки "с другой биржи" как раз собираюсь допиливать но с учетом специфики скорей перепиливать...
17  Local / Трейдеры / Re: Делаю торговый терминал для торговли на Polonei on: June 07, 2017, 09:41:38 PM
А что до сих пор нет готовых?
Я не видел опенсорсных.
18  Local / Трейдеры / Терминал для торговли на Poloniex on: June 07, 2017, 05:47:13 PM
Хочется удобства, через веб торговать не кошерно, делаю терминал, пока в стадии набросков и тестов разных API функций. Исходники терминала опубликую бесплатно, предлагаю принять участие в обсуждении желаемого интерфейса и минимального набора самых нужных фич.

19  Local / Трейдеры / Re: БОТы для торговли на биржах. А есть ли смыс on: May 26, 2017, 10:24:47 PM
рано или поздно , не важно какая диверсификация - усреднение ведет к кочерге в минус 100%. Это просто нонсенс, что человек работающий в хеджфонде этого не понимает
Тут нужно разобраться, что участник мыслит под термином “усреднение”, перед тем как пинать, одно дело, когда цепочка ордеров против тренда улетает на рынок, при средне-реверсных стратегиях, или например арбитраже, в таком случае это не предосудительно, вполне штатная ситуация, даже хорошо(чаще всего) если прайс сильно отклонился, вернётся и будет счастье, но иной расклад если наращивается позиция против тренда только лишь на основании просадки, это опцион на суицид, делать следует ровно наоборот.
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!