Search content
Sort by

Showing 20 of 20 results by avadhuta
Post
Topic
Board Кодеры
Re: BtcIO - Опенсорсный, холодный, BTC-кошелёк
by
avadhuta
on 27/03/2021, 15:53:40 UTC
Добавил пользовательскую энтропию, функционал открытия и сохранения кошельков, анонимные транзакции через TOR, скрыл WIF и seed.

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

https://www.youtube.com/watch?v=Oytmq7KVDPE
Post
Topic
Board Wallet software
Re: Brute Force And Seed Phrase Security Questions
by
avadhuta
on 15/03/2021, 15:35:11 UTC

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 10 ^ 56 combinations, this is an unthinkable amount.
Post
Topic
Board Кодеры
Re: Опенсорсный, холодный, BTC-кошелёк
by
avadhuta
on 15/03/2021, 12:04:16 UTC
Ну вот, немного получше стало, не так пугающе, гуи рулит верно ведь?

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

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

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

https://github.com/avadhuta/BtcIO/blob/master/BtcWalletTools/Tech.cs
Code:
       private static string[] words = ReadResource("words.txt").Split('\n');

        public static string RandomSeed()
        {
            var r = new Random();
            string res = "";
            for (int i = 0; i < 12; i++) res += words[r.Next(0, words.Length - 1)].ToLower() + (i < 11 ? " " : "");

            return res;
        }

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

Копипаст ключей не более опасен чем ввод паролей от кошелька, если устройство атаковано(есть доступ к дискам и все действия пользователя доступны злоумышленнику)
Post
Topic
Board Wallet software
Re: 600 word seed
by
avadhuta
on 15/03/2021, 11:52:03 UTC
i know its way too much but how safe is it vs 24 word seed?
btw it was generated using iancoleman tool
Why "multiply entities"? Use just the bytes of an arbitrary file as entropy and you will be happy.  Smiley
Post
Topic
Board Wallet software
Re: BtcIO - Open source, cold, BTC wallet
by
avadhuta
on 15/03/2021, 11:42:39 UTC
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.
Post
Topic
Board Wallet software
Re: BtcIO - Open source, cold, BTC wallet
by
avadhuta
on 06/03/2021, 11:59:06 UTC
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 agree, well, then I will implement a canvas for custom drawing and will use the resulting file, or use arbitrary user fileas the seed.
Post
Topic
Board Wallet software
Re: BtcIO - Open source, cold, BTC wallet
by
avadhuta
on 04/03/2021, 15:06:33 UTC
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.
Post
Topic
Board Wallet software
Re: BtcIO - Open source, cold, BTC wallet
by
avadhuta
on 01/03/2021, 12:04:38 UTC
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
Post
Topic
Board Development & Technical Discussion
Topic OP
BtcIO - Open source, cold, BTC wallet
by
avadhuta
on 25/02/2021, 11:45:24 UTC
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


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 libraries used are NBitcoin and QbitNinja, as well as the blockcypher.com API.
Post
Topic
Board Кодеры
Merits 8 from 3 users
Re: Опенсорсный, холодный, BTC-кошелёк
by
avadhuta
on 25/02/2021, 11:25:52 UTC
⭐ Merited by neiros (5) ,Ratimov (2) ,klarki (1)
может из этого отдельный кейс сделать? или вообще мобильную апку?

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

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

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

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

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

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

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

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

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


Прошу заценить  и прокоментить, кому не лень.  Smiley
Post
Topic
Board Кодеры
Re: Опенсорсный, холодный, BTC-кошелёк
by
avadhuta
on 29/01/2021, 17:19:23 UTC
используются библиотеки NBitcoin и QbitNinja, а также API blockcypher.com.

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

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

Я вообще эту утилитку сделал когда разбирался как транзакции формировать и с битком в .net работать, по началу тоже и не думал гонять раельный биток собственной поделкой, только тестовый. А потом попробовал и оказалось достаточно удобно, по сравнению с кором, из за ожидания загрузки, так как я редко гоняю биток с биржи- на биржу, может раз в пол года, обычно когда движуха сильная на рынке, как недавно была и приходится долго ждать когда десятки гигов зальются.
Post
Topic
Board Кодеры
Merits 3 from 2 users
Topic OP
Опенсорсный, холодный, BTC-кошелёк
by
avadhuta
on 29/01/2021, 14:38:32 UTC
⭐ Merited by xandry (2) ,klarki (1)
В общем написал я пару лет назад для собственного пользования, утилитку на .NET для того что бы быстро генерировать приваты и адреса, смотреть балансы, а главное слать битковые транзакции, со своих приватов.

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

Ещё поиграться можно с тест-неттом битковым, для тех кто хочет познакомиться с битковым болкчейном но не хочет за это платить.

Вот пример её работы:

https://d.radikal.ru/d41/2101/98/869d6d46bfbf.jpg

Если возникнет интерес, выложу на гитхаб код и бинарники для винды и линукса, код очень простой, без ООП-излишеств и GUI в отличии от аналогов, можно проверить за 10 минут, что там нет никаких подлянок в виде пересылок wif мне на почту и тп.,

Понятно что такие апки без исходников не имеют смысла, хотя "профессиональные" опенсорс проекты за 50к строк кода тоже могут таить подводные камни, проверять такое творчество придётся месяцами, а у меня функция отправки транзакции несколько десятков строк, используются библиотеки NBitcoin и QbitNinja, а также API blockcypher.com.
Post
Topic
Board Трейдеры
Re: Терминал для торговли на Poloniex
by
avadhuta
on 16/06/2017, 17:52:20 UTC
С проблемами с api у поло, возможна торговля только при обычных объемах, как только намечается слив или рост, глючит и ордера тормозят.
Да, но через веб ещё хуже((
Post
Topic
Board Трейдеры
Re: Терминал для торговли на Poloniex
by
avadhuta
on 16/06/2017, 17:12:29 UTC
Привет.
А если не сразу с полыни начинать, к примеру BTCe.
Я считаю МТ-5 удобен для торгов.
Здрасте.
Ну во первых на полыни больше всего форков, а во вторых MT не доверяю, ИМХО это софт для клиентов ДЦ, по заказу ДЦ, не хватало чтобы ещё криптой через кухню торговать...
Post
Topic
Board Трейдеры
Re: Терминал для торговли на Poloniex
by
avadhuta
on 09/06/2017, 13:31:53 UTC
Ладно, всем спасибо кто проявил интерес, вижу, что на уровне идеи, такого рода проекты не представительны, тогда буду делать как мне оно видится и покажу потом уже более менее готовый прототип.

PS: QScalp – для крипты сейчас не подойдет, по ряду причин, на полыни что бы ордер послать вначале нужно запросить текущий портфель, это минимум 1-5 сек и потом уже зная сколько есть денег слать ордер и он разместится тоже сек за 5 там, тут скальпить как на FORTS не получится, стакан очень разряжен, допустимо только гистограмное представление, с определенным шагом, заявки сделки по API передается с рандомным лагами тоже 0-5 сек и тп. в общем не HFT. Кроме того полезно видеть не только заявки сделки но и чарт одновременно, лично мне так больше нравится, как в виджетах ATAS
http://orderflowtrading.net/wp-content/uploads/2013/04/Market_Profile_max-1030x594.png
Post
Topic
Board Трейдеры
Re: Торговый терминал для торговли на Poloniex
by
avadhuta
on 08/06/2017, 09:14:49 UTC
А что до сих пор нет готовых?
Я не видел опенсорсных.

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

http://s018.radikal.ru/i521/1706/b4/2fab2dcbb5b4t.jpg
Post
Topic
Board Трейдеры
Re: БОТы для торговли на биржах. А есть ли смыс
by
avadhuta
on 26/05/2017, 22:24:47 UTC
рано или поздно , не важно какая диверсификация - усреднение ведет к кочерге в минус 100%. Это просто нонсенс, что человек работающий в хеджфонде этого не понимает
Тут нужно разобраться, что участник мыслит под термином “усреднение”, перед тем как пинать, одно дело, когда цепочка ордеров против тренда улетает на рынок, при средне-реверсных стратегиях, или например арбитраже, в таком случае это не предосудительно, вполне штатная ситуация, даже хорошо(чаще всего) если прайс сильно отклонился, вернётся и будет счастье, но иной расклад если наращивается позиция против тренда только лишь на основании просадки, это опцион на суицид, делать следует ровно наоборот.