Bitcoin Forum
August 17, 2022, 12:33:11 PM *
News: Latest Bitcoin Core release: 23.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Local / Русский (Russian) / Атака клонов on: May 17, 2013, 07:02:03 PM
Похоже я вступил в общество любителей шапочки из фольги, но мне кажется, что на этом формуе что-то затевается.
Ветку новичков засрали клоны/боты. Куча аккаунтов с 5 сообщениями, причем явно за всеми аккаунтами стоит один человек/алгоритм. И все бы ничего, пусть бы они копошились в новичках, но у них у всех теперь по 5 постов, и они все теперь могут писать где угодно на форуме. Интересно, что далее 5 сообщений эти аккаунты не идут. Возможно эти аккаунты будут перепроданы, и/или владельцы просто ждут пока накопят определенное количество аккаунтов, чтоб можно было заспамить/затроллить весь остальной форум. Еще одна версия, что они собираются в будущем использовать эти аккаунты для получения рипплов, например.
2  Bitcoin / Development & Technical Discussion / Bitcoin client with I2P patch on: March 09, 2013, 06:10:12 PM
Update 08 Mar 2013
Release 0.1
Update 28 Mar 2013
Merged with 0.8.1
Update 04 Jul 2013
Release 0.2
Improved I2P related code.
Some GUI indicators are added: number of I2P-connections, I2P/non-I2P mode, static/dynamic I2P-address
An I2P options tab added. (Settings - Options... - I2P)
Now you could generate a new I2P-address or could see your current I2P-address in GUI.
Update 11 Jul 2013
Migrated to 0.8.3.
Update 13 Sep 2013
Migrated to 0.8.5.
Update 24 Dec 2013
Migrated to 0.8.6.


References:
Source files:
https://github.com/VirtualDestructor/bitcoin-qt-i2p
Binaries for Windows and Linux x64:
https://sourceforge.net/projects/bitcoinqti2p
Original theme in Russian subforum:
https://bitcointalk.org/index.php?topic=138588.0

(Sorry for my bad English. If someone has a better translation of this post, please pm me)
My project is a patch for Satoshi-client (aka bitcoin-qt/bitcoind). For the present it is more like a Proof-of-Concept than finished application. On the other hand the vanilla bitcoin-client is still beta and nobody worries about that. My client can work in i2p-net using SAM bridge without any third-party libraries. Blocks database is compatible with vanilla client, so you may copy the database from your usual client instead of downloading whole database again.



Installation on Linux (on Ubuntu 12.04 for example):
1) add ppa for i2p and bitcoin
Code:
sudo apt-add-repository ppa:i2p-maintainers/i2p
sudo apt-add-repository ppa:bitcoin/bitcoin

2) update
Code:
sudo apt-get update
sudo apt-get upgrade

3) install packages (java will be installed by dependencies)
Code:
sudo apt-get install i2p bitcoin-qt

4) edit this file /etc/default/i2p under root
Code:
 RUN_DAEMON="true"  <- set to true
...
  MEMORYLIMIT="xxx"  <- specify a value subject to your operative memory (256 or 512 shoud be enough)

5) now run i2p
Code:
sudo service i2p start

Installation on Windows:
1) download an i2p distribution kit from official site only: http://www.i2p2.de/download
2) i2p installer will notify you if Java is not installed on your system. If so you should download Java from official site too http://java.com/download/
3) first install Java, then install I2P
4) go to Control Panel - Administrative tools - Services, find "I2P" and check it is running (if it isn't running you should run it)

Running bitcoin in i2p (both Windows and Linux):
1) after I2P was running you should wait a few minutes while i2p is integrating in the network
2) in your browser open the page http://127.0.0.1:7657/configclients. If the page is unavailable that mean I2P was not running (maybe some errors were occured). If the page opens you should press "Start" button near "SAM application bridge" item and enable a checkbox in column "Run at Startup?" After that press "Save Client Configuration" button.
3) delete (or rename) file peers.dat, it's located at C:\Documents and Settings\<YourUserName>\Application data\Bitcoin (for Win XP)  | C:\Users\<YourUserName>\Appdata\Roaming\Bitcoin (for Vista and 7) | ~/.bitcoin (for linux).
You must to do this because serialization format of network addresses is incompatible between the vanilla client and my patch. You need to do this procedure only once before the first start of the patched client. The patched client will make his own peers.dat with required format. Warning! If you leave this file at his place it cause a deadlock of the patched client.
4) download the patched executable files or compile the executable files by yourself and run it
Code:
bitcoin-qt -onlynet=native_i2p
If you want to deal with i2p-net only you should specify option -onlynet=native_i2p as shown above. If you want to deal with both i2p and ip(usual internet) don't specify this option at all, in this case you client will be a gate between i2p-segment of bitcoin-net and the rest net.

Notes:
If you want to help other bitcoin users in I2P you may send me or publish here your dest-hash or b32-address and I will add them to the sources as seed-node in a next release. But if you want this you should run your wallet with a permanent i2p-address (see section "Starting wallet with a permanent I2P-address" below)

Changes in command line arguments:
1) New command line options are added:
Code:
-i2psessionname=<session name> - name of an I2P session. If it is not specified, value will be "Bitcoin-client"
-samhost=<ip or host name> - address of the SAM bridge host. If it is not specified, value will be "127.0.0.1"
-samport=<port> - port number of the SAM bridge host. If it is not specified, value will be "7656".
-mydestination=<pub+priv i2p-keys> - your full destination (public+private keys). If it is not specified, the client will geneterate a random destination for you. See below (Starting wallet with a permanent i2p-address) more details about this option.
-generatei2pdestination - if this option is specified, your client will start for generation i2p-destination only and will close after that.
2) New possible value for "-onlynet" option is added:
Code:
native_i2p
3) In all options required IP-addresses now you can specify destination hash: <512 symbols>AAAA or b32-address: <52 symbols>.b32.i2p


Compatibility:
1) All of the rest options (except of described above) is not changed and working as they did before
2) Database-file peers.dat is not compatible in both way, neither from vanilla client to my patch, not from my patch to vanilla client. This file must be deleted (or renamed) before using my patch and before going back to vanilla client. This file doesn't contain any important data, so you don't need to back up it.
3) all the rest of databases is compatible with vanilla client.
4) Full backward compatibility of the bitcoin-protocol! Patched client works fine with unpatched vanilla clients. Changes in the protocol are appeared only if both clients are patched.

Starting wallet with a permanent I2P-address:
By default if you don't specify -mydestination parameter the patched wallet generates random i2p-destination. It anonymizes your work with bitcoin even more than before. Especially if you use a new bitcoin-address for each transaction. But if you want to help network by publishing you i2p-address or you just like some i2p-address you have to run wallet with permanent i2p-address. You should specify a full destination in the "mydestination" option for that. Full destionation consists of base64 destionation (b32-address is not allowed here!) and your private tunnel key.
Example:
Run from command line:
Code:
bitcoin-qt -mydestination=SVAxpjZzKn~HjvuqpoX5Y948CQnrPpw~9Y9n7itkniijx3NbgTQGJVmZJoc1ERXE87CqcLeeaWtAwqIwhYXL5Y5XkvaUAlAA5BD-9afCmyP42rtEluQLBAprd70UuN20ujuVm0HPyKcIyezphMHsK~GbYMNFiyTz8ko~Kd2wHaeXKWQh6pXyjQJzT4Bwcv1Y9JtPC5b1P5VpwQaLlMJJvblRi8jbRAbimjsxxrMSG6YX8Ks99tsdnQ6YOHGzTPoGpHFgBiROSYwXtC~BbFSv0XfhmN17ZfG6ZCXTbp-xVs-4txSyS~hnS9dL9xHWIv9MNbJzZhI7YztxWgMR3ZNMwR-W2fUeHAcZusmvbm3r-NpIC0O0p9LDDcu7Vxszk~QD~qylFfIT3j8kwu4RDExgqyelVdXVVSlyriHWoIdt9BklqwI1dbAEoLAfG7IZ3921dP4-MH7~AS8Jn3foNe8CAUvu2baRNRIAu75GknCFV5gGIuRRJjFNnrt~vaZfIQP6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3HWfbGlqztnwMY3ChbVHkDwJv52n9ElA-cWCRJp8lquVU4H-l2kY5Me1QlpY~7qFy

Or you may use your config-file (bitcoin.conf):
Code:
$ cat ~/.bitcoin/bitcoin.conf
mydestination=SVAxpjZzKn~HjvuqpoX5Y948CQnrPpw~9Y9n7itkniijx3NbgTQGJVmZJoc1ERXE87CqcLeeaWtAwqIwhYXL5Y5XkvaUAlAA5BD-9afCmyP42rtEluQLBAprd70UuN20ujuVm0HPyKcIyezphMHsK~GbYMNFiyTz8ko~Kd2wHaeXKWQh6pXyjQJzT4Bwcv1Y9JtPC5b1P5VpwQaLlMJJvblRi8jbRAbimjsxxrMSG6YX8Ks99tsdnQ6YOHGzTPoGpHFgBiROSYwXtC~BbFSv0XfhmN17ZfG6ZCXTbp-xVs-4txSyS~hnS9dL9xHWIv9MNbJzZhI7YztxWgMR3ZNMwR-W2fUeHAcZusmvbm3r-NpIC0O0p9LDDcu7Vxszk~QD~qylFfIT3j8kwu4RDExgqyelVdXVVSlyriHWoIdt9BklqwI1dbAEoLAfG7IZ3921dP4-MH7~AS8Jn3foNe8CAUvu2baRNRIAu75GknCFV5gGIuRRJjFNnrt~vaZfIQP6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3HWfbGlqztnwMY3ChbVHkDwJv52n9ElA-cWCRJp8lquVU4H-l2kY5Me1QlpY~7qFy

The first 516 symbols (SVAxp......~vaZfIQP6AAAA) are public key. This key is a base64 i2p-address (aka dest-hash). The rest symbols are private key. If you want to use some i2p-address you need to know its private key. If you publishes you private i2p-key anyone can use your i2p-address. So keep in secret your private key. This program don't send your private key, it uses your key only to open i2p-tunnel. A simplest way to generate your own I2P-address is running the patched client with option -generatei2pdestination. A generated address with a private key will be shown and you will can copy it to your config-file and publish it.

Building from the sources on Linux:
0) Install all necessary libraries for bitcoin. No additional dependencies are needed.
1) Go to a root directory of the project and run 1.build-unix.sh
Code:
./1.build-unix.sh

Crosscompillation for Windows on Linux:
0) Install mingw32
Code:
apt-get install mingw32
1) Download and unpack dependencies using script 1.env-setup.sh
Code:
./1.env-setup.sh
2) Build dependencies by script 2.build-deps.sh
Code:
./2.build-deps.sh
3) Build bitcoin with i2p-patch using 3.build-linux-mingw.sh
Code:
./3.build-linux-mingw.sh

All builded binaries will be located at <directory with project>/release.
I don't have native windows build scripts, because I use crosscompilation as shown above.

This program is provided "as is" without any warranties.

If you like my project support further developing 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754
3  Local / Кодеры / I2P & Bitcoin on: January 24, 2013, 05:19:28 PM
Update 30.01.2013
Добавлена ссылка на bitcoind.
Update 01.02.2013
Теперь после перезапуска сервиса I2P кошелек нормально восстанавливает соединения.
Теперь bitcoin-qt и bitcoind будут в одном архиве.
Update 08.02.2013
Большое обновление:
реализованы входящие i2p-соединения,
добавлена возможность генерации i2p-адресов (опция -generatei2pdestination),
добавлена возможность запускать кошелек с постоянным i2p-адресом (опция -mydestination),
много мелких исправлений и улучшений.
Update 12.02.2013
Критическое обновление.
При определенных условиях было возможно обращение к несуществующему сокету.
Проблема устранена.
Update 13.02.2013
Небольшое обновление qt-клиента для linux (косметические улучшения), демон можно не обновлять.
Добавлены исполняемые файлы для Windows!
Update 19.02.2013
Увеличена константа, отвечающая за вероятность коннекта между клиентами
Исправлены ошибки, иногда мешавшие коннекту между клиентами
Update 24.02.2013
Переход на версию 0.8
Update 02.03.2013
Добавлена ссылка на патч-файл.
Update 04.03.2013
В исходники вшито несколько i2p-адресов. Теперь можно не указывать опцию -addnode!
Бинарник для линукса собран с той же версией BDB, что и у разработчиков биткоина - теперь базы полностью совместимы (кроме peers.dat). Возможно, потребуется перекачать все блоки (или скопировать их из оригинального клиента)
Мелкие исправления/улучшения.
Update 08.03.2013
Релиз 0.1
Update 28.03.2013
Портированы изменения из официального клиента 0.8.1
Бинарники собраны с поддержкой QR-кодов.
Update 04.07.2013
Релиз 0.2
Улучшена работа с I2P (скорость коннекта, стабильность работы)
Добавлены индикаторы в GUI: количество I2P-коннектов, I2P/не-I2P соединение, static/dynamic I2P-адрес.
Добавлена вкладка для I2P настроек в меню "Опции...". Теперь многие настройки можно менять из GUI, а не только из командной строки.
Генерация нового и отображение текущего I2P-адреса из GUI.
Update 11.07.2013
Переход на 0.8.3
Update 13.09.2013
Переход на 0.8.5
Update 24.12.2013
Переход на 0.8.6

Ссылки:
Исходники:
https://github.com/VirtualDestructor/bitcoin-qt-i2p
http://git.repo.i2p/w/bitcoin-qt-i2p.git

Готовые сборки для Windows и Linux x64:
https://sourceforge.net/projects/bitcoinqti2p

Кто не в курсе, что такое I2P, могут просветиться здесь
https://ru.wikipedia.org/wiki/I2P
http://lurkmore.to/I2p
https://bitcointalk.org/index.php?topic=140885

Мой проект - это патч для стандартного Сатоши-клиента (aka bitcoin-qt/bitcoind). Пока проект больше напоминает Proof-of-Concept, чем готовое приложение. Однако, не стоит забывать, что сам биткоин-клиент всё ещё находится в бета-стадии, и никого это не смущает. Реализована работа через I2P безо всяких сторонних библиотек. В программе используется SAM bridge, входящий в дистрибутив самого I2P. Т.к. база блоков совместима со стандартным клиентом, вы можете использовать блоки от вашего обычного кошелька, чтобы несколько суток не тянуть всю базу через I2P.

Инструкция по установке на Linux (на примере Ubuntu 12.04):
1) добавляем ppa для i2p и bitcoin-qt
Code:
sudo apt-add-repository ppa:i2p-maintainers/i2p
sudo apt-add-repository ppa:bitcoin/bitcoin

2) обновляемся
Code:
sudo apt-get update
sudo apt-get upgrade

3) ставим пакеты (java должна подтянутся автоматически по зависимостям)
Code:
sudo apt-get install i2p bitcoin-qt

4) любым редактором от рута открываем файл /etc/default/i2p
Code:
 RUN_DAEMON="true"  <- выставить в true
...
  MEMORYLIMIT="xxx"  <- укажите здесь значение, в зависимости от количества оперативной памяти (256 или 512 будет достаточно)

5) теперь запускаем i2p
Code:
sudo service i2p start

Инструкция по установке на Windows:
1) качаем дистрибутив i2p только с официального сайта http://www.i2p2.de/download
2) если не установлена Java, установщик i2p сообщит об этом. Java надо скачать тоже с официального сайта http://java.com/download/
3) ставим сначала Java, потом I2P
4) идем Панель управления - Администрирование - Службы. В списке находим I2P, проверяем, что он запущен (если нет - запускаем).

Инструкция по настройке (общая для Windows и Linux):
1) после установки и запуска ждем минут 5, пока i2p загрузится и запустит все сервисы.

2) в браузере открываем странцу http://127.0.0.1:7657/configclients. Если страница не открывается, это значит, что i2p не запущен (возможно возникли какие-то ошибки). После того, как страница открылась возле пункта SAM application bridge необходимо нажать кнопку Start, после этого поставить галочку в столбце Run at Startup?, потом нажать кнопку Save Client Configuration.

3) нужно удалить файл peers.dat (если он есть), он лежит тут  C:\Documents and Settings\YourUserName\Application data\Bitcoin (Win XP)  | C:\Users\YourUserName\Appdata\Roaming\Bitcoin (Vista and 7) | ~/.bitcoin (linux). Это нужно сделать, т.к. формат сериализации сетевых адресов в оригинальном клиенте и в моем патче не совместимы. Внимание! Если этого не сделать и оставить файл, это может привести к зависанию bitcoin-qt+i2p! Эту процедуру нужно провести только один раз перед первым запуском bitcoin-qt+i2p, после первого запуска пропатченный клиент создаст свой peers.dat нужного ему формата.

4) скачать пропатченный бинарник по ссылке выше и запустить его (не запускайте исполняемые файлы с привилегиями суперпользователя/администратора!)
Code:
bitcoin-qt -onlynet=native_i2p
Если вы хотите работать только в I2P укажите опцию -onlynet=native_i2p, как показано в примере выше. Если вы хотите работать одновременно и в I2P, и в обычном интернете - не указывайте этой опции совсем. В таком случае ваш кошелек будет являться гейтом между I2P-подсетью биткоин и остальной сетью.

Замечания:
Если вы хотите помочь биткоину в i2p, вы можете сообщить ваш dest-hash или b32-адрес своего кошелька в этой теме или другим способом, чтобы я мог вшить его в исходники к следующему релизу. Для этого ваш кошелек должен быть запущен с постоянным i2p-адресом, как это сделать см. ниже.
Для Linux: запускайте кошелек с указанием полного пути к исполняемому файлу, или из текущей директории (./bitcoin-qt), т.к. если вы просто укажете имя исполняемого файла, то запустится стандартный bitcoin-qt (если он у вас установлен).

Изменения в стандартных опциях:
1) добавлены новые параметры командной строки и конфигурационного файла:
Code:
-i2psessionname - имя I2P-сессии. Нужно просто для красоты. Можно не указывать. Значение по умолчанию "Bitcoin-client".
-samhost - адрес хоста, на котором запущена служба SAM (см. п.2 инструкции по настройке). Можно не указывать. Значение по умолчанию "127.0.0.1".
-samport - номер порта для предыдущей опции. Можно не указывать. Значение по умолчанию "7656".
-mydestination - ваш полный destination (публичный+приватный ключ). Можно не указывать. Если не указан, то при каждом запуске биткоин-клиент будет генерировать для вас случайный destination. Подробнее про эту опцию, см. ниже (Запуск кошелька с постоянным I2P-адресом).
-generatei2pdestination - без аргументов. Если указана эта опция, то кошелек запустится только для генерации i2p-адреса, после этого закроется.
2) добавлено значение
Code:
native_i2p
для параметра -onlynet.
3) Во всех параметрах требующих IP-адреса теперь можно указывать destination hash: <512 символов>AAAA, или b32-адрес: <52 символа>.b32.i2p

Совместимость:
1) Все остальные опции, кроме указанных, остались без изменения и работают как раньше
2) База peers.dat не совместима в обе стороны между стандартным клиентом и моим патчем. Этот файл должен быть удален при переходе от стандартного клиента к пропатченному и обратно. Этот файл не содержит ценной информации, так что бэкапить его не обязательно.
3) Все остальные базы полностью совместимы с оригинальным клиентом.
4) Полная обратная совместимость протокола! Пропатченный клиент совершенно спокойно может подключаться к стандартному клиенту и наоборот. Никаких манипуляций с версиями протокола! Изменения в протоколе проявляются, только если оба кошелька являются пропатченными.

Запуск кошелька с постоянным I2P-адресом:
По умолчанию, если не указан параметр -mydestination, при каждом запуске кошелек будет генерировать случайный destination (i2p-адрес). В таком случае даже вы не сможете узнать с каким i2p-адресом запустится ваш кошелек. Это ещё больше анонимизирует работу с биткоином, если же для каждой транзакции ещё генерировать новый биткоин-адрес - деанонимизировать вас становится сильно проблематично. Однако, если же вы хотите помочь сети, опубликовав свой i2p-адрес, или вам просто нравится какой-то i2p-адрес, вам нужно запускать кошелек с постоянным i2p-адресом. Для этого нужно указать в опции mydestination полный destination, т.е. нужно указывать base64 dest-hash (b32-адрес указывать здесь нельзя!), с которым вы хотите запустить кошелек, склеенный с вашим закрытым (приватным) ключом от I2P туннеля.
Пример:
Запуск из командной строки:
Code:
bitcoin-qt -mydestination=SVAxpjZzKn~HjvuqpoX5Y948CQnrPpw~9Y9n7itkniijx3NbgTQGJVmZJoc1ERXE87CqcLeeaWtAwqIwhYXL5Y5XkvaUAlAA5BD-9afCmyP42rtEluQLBAprd70UuN20ujuVm0HPyKcIyezphMHsK~GbYMNFiyTz8ko~Kd2wHaeXKWQh6pXyjQJzT4Bwcv1Y9JtPC5b1P5VpwQaLlMJJvblRi8jbRAbimjsxxrMSG6YX8Ks99tsdnQ6YOHGzTPoGpHFgBiROSYwXtC~BbFSv0XfhmN17ZfG6ZCXTbp-xVs-4txSyS~hnS9dL9xHWIv9MNbJzZhI7YztxWgMR3ZNMwR-W2fUeHAcZusmvbm3r-NpIC0O0p9LDDcu7Vxszk~QD~qylFfIT3j8kwu4RDExgqyelVdXVVSlyriHWoIdt9BklqwI1dbAEoLAfG7IZ3921dP4-MH7~AS8Jn3foNe8CAUvu2baRNRIAu75GknCFV5gGIuRRJjFNnrt~vaZfIQP6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3HWfbGlqztnwMY3ChbVHkDwJv52n9ElA-cWCRJp8lquVU4H-l2kY5Me1QlpY~7qFy
Или можно указать в bitcoin.conf:
Code:
$ cat ~/.bitcoin/bitcoin.conf
mydestination=SVAxpjZzKn~HjvuqpoX5Y948CQnrPpw~9Y9n7itkniijx3NbgTQGJVmZJoc1ERXE87CqcLeeaWtAwqIwhYXL5Y5XkvaUAlAA5BD-9afCmyP42rtEluQLBAprd70UuN20ujuVm0HPyKcIyezphMHsK~GbYMNFiyTz8ko~Kd2wHaeXKWQh6pXyjQJzT4Bwcv1Y9JtPC5b1P5VpwQaLlMJJvblRi8jbRAbimjsxxrMSG6YX8Ks99tsdnQ6YOHGzTPoGpHFgBiROSYwXtC~BbFSv0XfhmN17ZfG6ZCXTbp-xVs-4txSyS~hnS9dL9xHWIv9MNbJzZhI7YztxWgMR3ZNMwR-W2fUeHAcZusmvbm3r-NpIC0O0p9LDDcu7Vxszk~QD~qylFfIT3j8kwu4RDExgqyelVdXVVSlyriHWoIdt9BklqwI1dbAEoLAfG7IZ3921dP4-MH7~AS8Jn3foNe8CAUvu2baRNRIAu75GknCFV5gGIuRRJjFNnrt~vaZfIQP6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3HWfbGlqztnwMY3ChbVHkDwJv52n9ElA-cWCRJp8lquVU4H-l2kY5Me1QlpY~7qFy
Первые 516 символов (SVAxp......~vaZfIQP6AAAA) - это открытый (публичный) ключ. Он также играет роль адреса в I2P-сети, он же - dest-hash. Оставшиеся символы и есть приватный ключ I2P-адреса. Чтобы начать использовать I2P-адрес, необходимо знать его закрытый ключ (иначе любой мог бы захватить чей угодно адрес). Т.е., сообщив кому-то свой закрытый ключ, вы фактически отдаете ему в пользование свой I2P-адрес. Поэтому не передавайте свой закрытый ключ никому. Биткоин-кошелек никуда не отправляет этот ключ, а только использует для авторизации у I2P-сервиса. Публиковать нужно только открытый ключ, т.е. только первые 516 символов. Так же эти 516 символов перед публикацией можно укоротить, превратив в b32-адрес, с помощью этого скрипта https://bitcointalk.org/index.php?topic=140885.msg1501489#msg1501489. Указанные выше публичный+приватный ключ НЕ являются верными, использовать их не получится, они указаны просто для примера. Простейший способ сгенерировать себе постоянный адрес - запустить кошелек c параметром -generatei2pdestination. Вам будет показан сгенерированный адрес+приватный ключ, которые можно скопировать в конфиг-файл, а также base64-адрес и b32-адрес, которые можно опубликовать.

Инструкции по сборке для linux:
0) установить необходимые библиотеки для сборки биткоина, никаких дополнительных зависимостей мой патч НЕ добавляет.
1) перейти в директорию с исходниками и запустить скрипт 1.build-unix.sh
Code:
./1.build-unix.sh

Инструкции по кросскомпиляции для windows под линуксом:
0) установить mingw32
1) скачать зависимости скриптом 1.env-setup.sh (нужно выполнять только один раз)
Code:
./1.env-setup.sh
2) собрать зависимости скриптом 2.build-deps.sh (нужно выполнять только один раз)
Code:
./2.build-deps.sh
3) собрать биткоин скриптом 3.build-linux-mingw.sh
Code:
./3.build-linux-mingw.sh

Все собранные бинарники будут сложены в директорию <директория с исходниками>/release
Скриптов для сборки под виндой у меня нет, т.к. для винды я собираю кросскомпиляцией, как показано выше.

ВНИМАНИЕ! Программа предоставляется "как есть" безо всяких гарантий. НЕ ЗАПУСКАЙТЕ ИСПОЛНЯЕМЫЕ ФАЙЛЫ С ПРАВАМИ СУПЕРПОЛЬЗОВАТЕЛЯ/АДМИНИСТРАТОРА!

Если Вам нравится мой проект, поддержите дальнейшую разработку 1JTtvgy5CzwnsRj3vtHACdyKWxgTnYn754

Примечание:
Ради справедливости, bitcoin-qt почти поддерживает i2p, хотя упоминание этого было выпилено из release notes. Но если открыть исходники, то можно увидеть, что работа в этом направлении велась. Однако, это была не нативная поддержка, а использовался GarliCat (https://www.cypherpunk.at/onioncat/wiki/GarliCat). Вообще, GarliCat является костылем для i2p, и это одна из главных причин, из-за которой от него отказались в биткойне (https://github.com/bitcoin/bitcoin/pull/1913). Upd: начиная с версии 0.7.2, упоминание i2p убрали не только из release notes, но и из исходников.
4  Other / Off-topic / I2P project pays 10 BTC for a banner, poster etc on: January 03, 2013, 05:14:35 PM
http://echelon.i2p/29c3/
Quote
29C3 I2P contest

To be recognized on 30c3 and other events, I2P needs a nice banner to hang out. Also a poster, hand-outs, leaflets and flyer are needed.
As the I2P team itself has other jobs to do, we call out a contest for this material. Send in your idea for a printable design to echelon@mail.i2p til end of feb 2013 (28-02-2012).
For each winning design we hand out a 10 BTC prize and a TShirt.

Classes:
- Banner - 10 BTC
Should be suitableto print and hang under the roof. Round about 50cm high and 2 meter long. You get the idea. This format is not set in stone, if design needs other numbers, fine. But it should be not to big and not to small.

- Poster - 10 BTC
Should be in A0 and/or A1 size. One sided.

- leaflet - 10 BTC
I do prefer be a A4 size folded 2 times, aka 6 pages all together. But if only 1 times folded fit better, fine.

- flyer - 10 BTC
A simple A4 size handout, double sided.


Each of this should contain some graphical ID of I2P, which is easy to remember and recognize. Also some basic facts should be noted in some text and at least the main webpage.

Important
All contestant need to send in the final result and a source file for I2P team to make changes, if needed.
All send ins will be published on echelon.i2p for I2P team/users to draw a winner.
All winning designs need to have a license of at least "free to download, free to change, and free to use" for every user to download and use this material.


For any question, problem,... do also contact echelon@mail.i2p!.
P.S. I'm not affiliated with I2P project, so I can't answer to any questions about that. Use above e-mail for any questions.
5  Local / Бизнес / I2P требуются буклеты, брошюры и т.д. Оплата BTC on: January 03, 2013, 01:24:45 PM
Проекту I2P требуются:
1) Баннер. Примерный размер 2х0,5м. Другие размеры тоже рассматриваются.
2) Постер. Формат А0 и/или А1. Односторонний.
3) Буклет. Формат А4, сложенный 2 раза (6 страниц). Рассматриваются другие варианты.
4) Флаер. Формат А4, двухсторонний.

Оплата победителю в каждой номинации: 10 BTC + футболка

Оригинальное сообщение http://echelon.i2p/29c3/ :
Quote
29C3 I2P contest

To be recognized on 30c3 and other events, I2P needs a nice banner to hang out. Also a poster, hand-outs, leaflets and flyer are needed.
As the I2P team itself has other jobs to do, we call out a contest for this material. Send in your idea for a printable design to echelon@mail.i2p til end of feb 2013 (28-02-2012).
For each winning design we hand out a 10 BTC prize and a TShirt.

Classes:
- Banner - 10 BTC
Should be suitableto print and hang under the roof. Round about 50cm high and 2 meter long. You get the idea. This format is not set in stone, if design needs other numbers, fine. But it should be not to big and not to small.

- Poster - 10 BTC
Should be in A0 and/or A1 size. One sided.

- leaflet - 10 BTC
I do prefer be a A4 size folded 2 times, aka 6 pages all together. But if only 1 times folded fit better, fine.

- flyer - 10 BTC
A simple A4 size handout, double sided.


Each of this should contain some graphical ID of I2P, which is easy to remember and recognize. Also some basic facts should be noted in some text and at least the main webpage.

Important
All contestant need to send in the final result and a source file for I2P team to make changes, if needed.
All send ins will be published on echelon.i2p for I2P team/users to draw a winner.
All winning designs need to have a license of at least "free to download, free to change, and free to use" for every user to download and use this material.


For any question, problem,... do also contact echelon@mail.i2p!.
6  Local / Майнеры / Вероятностный подход к майнингу on: August 03, 2011, 05:56:37 PM
Хочу поделиться некоторыми своими математическими размышлениями. Если где-то подобное уже есть, прошу дать ссылку на оригинал. В основном, этот материал будет интересен пул-хоперам, однако, всем остальным, возможно, тоже будет любопытно взглянуть.

Про биткоин я узнал совсем недавно и ради любопытства решил немного помайнить. В процессе майнинга на пулах мне стало интересно, как распределены блоки по количеству шар. Готового ответа на этот вопрос я не нашел, поэтому пришлось думать самому. Итак, на сколько я понял, блок ищется до тех пор пока найденная шара не будет самой короткой. Здесь я могу ошибаться, потому что, как уже было сказано, я новичок, но суть не в этом. А суть в том, что блок ищется до тех пор, пока одна из шар не будет удовлетворять некоторому условию, причем порядковый номер шары, которая окажется удачной, есть величина случайная. Распределение этой случайной величины мы и будем искать. Очевидно, что данная величина является дискретной (кол-во шар дискретно). Сама найденная шара является испытанием в терминах теории вероятностей. Испытание может быть успешным (шара удовлетворяет некоторому условию) и неуспешным (шара не удовлетворяет условию). Тогда, поиск блока является последовательностью испытаний (шар) до первого успешного испытания (шары). Из теории вероятностей известно, что такая случайная величина описывается геометрическим распределением. Однако, т.к. дискретность величины очень малая (шаг дискретизации ~10-6), то можно заменить наше дискретное геометрическое распределение его непрерывным аналогом экспоненциальным распределением.

Функция экспоненциального распределения из теории вероятностей
Code:
F(x) = 1-exp(-lambda*x)
, где lambda параметр распределения. Прежде, чем мы определим этот параметр, давайте вспомним физический смысл функции распределения. Значение функции распределении в точке х равно вероятности события Х, такого, что Х≤x. Относительно нашего случая, функция распределения в точке х равна вероятности того, что количество шар в блоке будет меньше или равно х.

Проще говоря, мы можем узнать вероятность того, что размер блока не превысит заданного количества шар!

Осталось только определить параметр lambda. Известно, что первый момент экспоненциального распределения, он же математическое ожидание, он же среднее арифметическое, равен 1/lambda. Или lambda=1/E, где Е среднее арифметическое. Таким образом для того, чтобы построить  функцию распределения нам нужно знать только среднее арифметическое количество шар в блоке. Т.е. собираем статистику по блокам на каком-нибудь пуле и считаем среднее. Для проверки моей теории, я также построил график распределения непосредственно по эмпирическим данным количество блоков, в которых количество шар < 40000, делим на общее количество блоков; количество блоков с шарами < 80000 делим на общее количество блоков и т.д. В результате получились два графика теоретический (точнее полуэмпирический) - основанный на среднем арифметическом (синяя линия), и эмпирический - построенный по точкам (желтая линия).

Для Deepbit:


Как видно из графиков, наша теория хорошо согласуется с эмпирическими данными.
Для Triplemining график похуже, т.к. блоков там насчитано мало:


Еще я подумал, что среднее количество шар в блоке это по определению есть сложность. (поправьте, если я не прав) Т.е. lambda=1/d, d текущая сложность биткойна.
Таким образом для функции распределения нам вообще не нужно никаких данных, кроме текущей сложности! Добавим еще один график (красный) для полностью теоретической функции распределения (основанной только на сложности). Как вы знаете, недавно произошло повышение сложности, поэтому просто для сравнения я добавил график новой сложности (зеленый).

Deepbit:


Triplemining:


ВНИМАНИЕ! Эмпирические данные были получены для предыдущей сложности (1 690 895) и к новой сложности не имеют никакого отношения. Теоретический график (зеленый) для новой сложности (1 888 786) добавлен просто для сравнения, однако, вы можете его использовать в своих расчетах

Для тех, у кого еще остались вопросы, как можно использовать эти графики - поясню. По оси Х отложено количество шар, по оси Y вероятность того, что шар в блоке будет МЕНЬШЕ этого количества (не обязательно равно, а именно меньше). Например, (для предыдущей сложности) вероятность того, что количество шар в очередном блоке будет меньше 1 200 000 составляет ~50,8%; вероятность того, что количество шар уложится в 6 000 000 составляет 97,1% и т.д.

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

Важные следствия:

1) вероятность того, что количество шар в блоке окажется 100500 миллионов ВСЕГДА отлична от нуля для ЛЮБОЙ сложности. Естественно, при увеличении сложности эта вероятность увеличивается, при уменьшении уменьшается, но никогда не становится равной нулю. Короче, всегда, при любой сложности, если сильно НЕ повезет, можно встретить очень-очень-очень-очень длинный блок на стопицот миллионов шар.

2) На форумах часто встречается такой тезис, что если на пуле был длинный блок, то после обязательно должен быть короткий, и наоборот были короткие, поэтому обязательно будет длинный. Это не так! Т.к. мы убедились, что распределение у нас экспоненциальное, то у него есть важное свойство отсутствие памяти. Это означает, что вероятность блока определенной длины всегда постоянна и не зависит от того, какой блок был до этого - короткий или длинный. Т.е. если на пуле подряд было 5 коротких блоков, то вероятность длинного блока в таком случае в точности равна вероятности длинного блока после 5 других длинных. Например, вероятность, что блок будет короче 2 000 000 шар ВСЕГДА равна 69,4%, не зависимо от того, какие блоки были до этого. Вероятность зависит только от текущей сложности.

Это все. На замечания и вопросы буду отвечать по мере возможности.
Если данный материал оказался вам полезен, вы можете отправить благодарность сюда - 13fu8qhyLSD4HmhDaJDFY6wvpajrDKbmP7

Спасибо.
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!