Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
18 мая 2015, 7:38:53 PM   # 1
 
 
Сообщения: 217
Цитировать по имени
цитировать ответ
по умолчанию Re: динамические аккумуляторы можно использовать для хранения UTXOs

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я снова прочитал zerocoin белой бумаги и пытаясь понять, динамический аккумулятор [1] использовал их, я подумал, что это может быть использовано для решения проблемы UTXO. Интересно, если кто-то уже предложил эту идею (возможно, это кажется очевидным для меня), и какие проблемы есть. Моя идея не имеет ничего общего с Zerocoin, так что это не решение, чтобы удалить псевдонимность из Bitcoin.

Динамический аккумулятор способ компактно хранить практически неограниченное количество данных, например, активные UTXOs в один номер, например, в 3072 битное число. В принципе все blockchain могут храниться в этом номере и шахтер может проверить, если сделка только тратит UTXOs, используя только этот единственный доверенный номер и некоторый ненадежный данные транзакции, которые могли бы обеспечить отправитель сделки. Это звучит немного как магия, но это на самом деле работает.

Недостаток заключается в том, что каждый обладая UTXO должен следить за свидетеля (еще 3072 бит числа), что доказывает, что аккумулятор содержит его UTXO. Свидетель может быть вычислен из списка всех сделок, которые имели место между UTXO и сделками, которые затрачивают его. Мы, вероятно, все еще нуждаются узлы, которые хранят всю blockchain, так что пользователи могут найти их UTXO и вычислить свидетельство от сделок, которые следуют за ним. Свидетель может быть вычислена с приращением, так что если вы обновите ваш клиент один раз в неделю он может обновить свидетельство для всех его UTXOs, просто прочитав список сделок, которые произошли на этой неделе.

Еще одним недостатком является время вычисления. Обновление аккумулятора вычислительно участие, вероятно, гораздо больше, чем проверка подписи ECDSA, и это должно быть сделано для каждого входа и каждого выхода в каждой транзакции, чтобы проверить, что блок действует (в дополнение к обычным проверкам, что подписи в сделках правильны). Хуже это должно быть повторено каждым, кто хочет обновить свой кошелек с помощью полного клиента. На самом деле, обновление свидетеля является немного более сложным, чем проверка аккумулятора. Клиенты, которые полагаются на сервере, чтобы получить их UTXO и соответствующие свидетельства все еще возможны, но работа то просто сдвинута к поставщику услуг. В основном служба должна обновить свидетель для каждого пользователя отдельно.

Безопасность динамических аккумуляторов в [1] опирается на безопасность RSA (точнее сильный RSA предположение). Ключ 3072 бит должен дать нам о безопасности 256-битного ECDSA. Однако, если кто-то ломает этот ключ, что он может чеканить монеты. В принципе это может быть обнаружено, если кто-то еще имеют полный blockchain поскольку блок генеза, но цель этой схемы, чтобы избежать проверок полной blockchain. Другая проблема заключается в генерации ключа RSA таким образом, что изобретатель не подозревается в сохранении закрытого ключа чеканить свои собственные монеты позже. Кажется, что все опубликованные аккумуляторы основаны на RSA (или на Merkle деревьев, но это требует гораздо больше свидетелей).

Конечно, что-то вроде этого требует, по крайней мере, жесткой вилки, более вероятно altcoin.

[1] J. Camenisch и А. Lysyanskaya, Динамические Аккумуляторы и приложение к эффективному отзыву анонимных полномочий, CRYPTO 2002
johoe сейчас офлайн Пожаловаться на johoe   Ответить с цитированием Мультицитирование сообщения от johoe Быстрый ответ на сообщение johoe


Как заработать Биткоины?
Без вложений. Не майнинг.


20 мая 2015, 1:17:31 AM   # 2
 
 
Сообщений: 13
Цитировать по имени
цитировать ответ
по умолчанию Re: динамические аккумуляторы можно использовать для хранения UTXOs

Получил 1806 Биткоинов
Реальная история.





Я не знаю о каких-либо возможных решений этого. Я предполагаю, что это стало бы очень запутанным и сложным для пользователей, участвующих в такой системе, оставляя уязвимости для злоумышленников открытыми. Атакующий с достаточной вычислительной мощностью может действительно сделать некоторые повреждения в такую ​​систему, нет? Я помню обсуждение в 2013 году? в списке DEV-рассылки обсуждают подобную проблему с utxos, как таким образом.
australianBoxingLove78sa сейчас офлайн Пожаловаться на australianBoxingLove78sa   Ответить с цитированием Мультицитирование сообщения от australianBoxingLove78sa Быстрый ответ на сообщение australianBoxingLove78sa

20 мая 2015, 6:07:21 AM   # 3
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: динамические аккумуляторы можно использовать для хранения UTXOs

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

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

Так что я не вижу, как это может помочь с UTXO.

Хотя вы на самом деле не нужны фантазии теоретико-числовую криптографию: как было предложено ранее, если utxos хранится в прошивке упорядоченный хеш-дерево, добавив к концу требует размера доказательства журнала (только передний край дерева), показывающий членство требует доказательств размера журнала. Членские доказательства могут обновленные дешево, наблюдая другие обновления, которые пересекаются с вашими доказательствами. И расходы требуется только обнуление элемента, который может быть сделан с таким же доказательством путем, который был использован, чтобы показать членство.

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

Если вы выходите и вычислить конкретные размеры для приведенной выше схемы вы найдете две вещи: результаты даже для огромных баз данных _much_ меньше, чем RSA аккумулятор подходит, даже если она масштабируется с бревном () из-за постоянные факторы (и, конечно, его необходимо менее ресурсоемкие тоже), но полоса пропускания, необходимая для обработки транзакций / блоков массово увеличивается. Так что не ясно, что это будет фактически выигрыш в пропускной способности имеет тенденцию быть более скудным и растет медленнее ресурсов.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

20 мая 2015, 10:00:48 PM   # 4
 
 
Сообщения: 217
Цитировать по имени
цитировать ответ
по умолчанию Re: динамические аккумуляторы можно использовать для хранения UTXOs

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

Удаление возможно в этой схеме. Она требует запуска расширенного алгоритма НОД (должен быть дешевым) и два для возведения в степень каждого участника, чтобы обновить их свидетелей. Удаление от аккумулятора означает просто заменить его свидетелем.

Но да, основной проблемой является накладные расходы CPU, чтобы следить за обновлениями.

котировка
Хотя вы на самом деле не нужны фантазии теоретико-числовую криптографию: как было предложено ранее, если utxos хранится в прошивке упорядоченный хеш-дерево, добавив к концу требует размера доказательства журнала (только передний край дерева), показывающий членство требует доказательств размера журнала. Членские доказательства могут обновленные дешево, наблюдая другие обновления, которые пересекаются с вашими доказательствами. И расходы требуется только обнуление элемента, который может быть сделан с таким же доказательством путем, который был использован, чтобы показать членство.

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

Да, это было бы с помощью Merkle деревьев, не так ли? Но если моя математика верна, свидетель доказательства он требует больше, чем операции. Я не уверен, что при заказе на дерево необходимо (и вы тогда должны были бы сбалансировать его) или вы просто предлагают поместить элементы в порядке их вставленные? Вместо того, чтобы обнуление сделки один также может поставить новые выходы в освобожденном пространстве, чтобы избежать дерев от растущих слишком глубоко или становятся несбалансированным, но все же доказательство достаточно велики.

котировка
Если вы выходите и вычислить конкретные размеры для приведенной выше схемы вы найдете две вещи: результаты даже для огромных баз данных _much_ меньше, чем RSA аккумулятор подходит, даже если она масштабируется с бревном () из-за постоянные факторы (и, конечно, его необходимо менее ресурсоемкие тоже), но полоса пропускания, необходимая для обработки транзакций / блоков массово увеличивается. Так что не ясно, что это будет фактически выигрыш в пропускной способности имеет тенденцию быть более скудным и растет медленнее ресурсов.

Я не понимаю, почему Меркле деревья меньше, чем аккумулятор RSA, но, вероятно, вы предполагали, что удаление невозможно, и вам нужен список отработавших Тй. Я думаю, вам просто нужно аккумулятор (фиксированный размер, около 400 байт), а в качестве свидетеля доказательства другое значение со всех входов удаленных на один блок. За сделки также необходимо свидетельство для всех входов (еще 400 байт), но это не должно быть сохранено. С Merkle-Trees вам нужен один хэш для аккумулятора, но свидетель доказательства сделок, должны также быть включены, чтобы проверить обновления и слияние их не спасает много. Даже если предположить глубину всего 24 (16 млн UTXOs, в настоящее время мы имеем больше) вам нужно 768 байт для одного свидетеля одного ввода транзакции предполагающего 256 бит хэш.

CPU является проблемой, хотя, и я не вижу, что можно реально перейти до 1000 транзакций в секунду с аккумулятором RSA. Даже с текущим блоком цепью было бы, вероятно, потребуется несколько дней, чтобы вычислить свидетель выход, который приходит в начале блока цепи.

Таким образом, краткое изложение: хэш-деревам нужно много пропускной способности, чтобы быть полезными и RSA-Based аккумуляторов слишком много ресурсов процессора и есть проблема установки ненадежной.

Как вы писали, вместо RSA нужно просто группа неизвестных порядка. Но "неизвестный заказ" означает, что это неосуществимо вычислить порядок. Существуют ли какие-либо другие группы, помимо RSA с этим свойством? AFAIK для эллиптических кривых это дорого, но не неосуществимые вычислить порядок.
johoe сейчас офлайн Пожаловаться на johoe   Ответить с цитированием Мультицитирование сообщения от johoe Быстрый ответ на сообщение johoe

20 мая 2015, 10:42:30 PM   # 5
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: динамические аккумуляторы можно использовать для хранения UTXOs

Удаление возможно в этой схеме. Она требует запуска расширенного алгоритма НОД (должен быть дешевым) и два для возведения в степень каждого участника, чтобы обновить их свидетелей. Удаление от аккумулятора означает просто заменить его свидетелем.
Я должен буду работать через него тогда. Я не знал, как можно удалить п-й корень, не зная порядок группы, который, казалось бы, что требуется предыдущие схемы. Гектометр Может быть, тот факт, что значение удаляется может быть открытым, что делает его работу.

котировка
Да, это было бы с помощью Merkle деревьев, не так ли? Но если моя математика верна, свидетель доказательства он требует больше, чем операции. Я не уверен, что при заказе на дерево необходимо (и вы тогда должны были бы сбалансировать его) или вы просто предлагают поместить элементы в порядке их вставленные? Вместо того, чтобы обнуление сделки один также может поставить новые выходы в освобожденном пространстве, чтобы избежать дерев от растущих слишком глубоко или становятся несбалансированным, но все же доказательство достаточно велики.
Hashtree построен из 32 байт хэш с 4 млрд записей будет 32 уровней deep-- поэтому размер очень выгодно с аккумулятором RSA + свидетелями с эквивалентной безопасностью.

Значительная часть доказательств также первые уровни пары дерева, которые могут быть в кэше, чтобы избежать повторной them-- и такое кэширование может быть заключено на одноранговой основе. Например, если узлы кэшируются первые 16 уровней дерева (2 мегабайтов данных) членство дерева / обновить доказательство для 2 ^ 32 дерева будут 512 байт.

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

Если вы не думаете, 2 ^ 32 монеты достаточно, вы можете выбрать число сколь угодно большой ... например, 2 ^ 51 записей, с кэшем 500MB, требует 928 байт доказательств. Из-фактора журнала стоимость _essentially_ постоянная в физически ограниченном мире, поэтому его просто вопрос, если что константа достаточно мала.

котировка
Я не понимаю, почему Меркле деревья меньше, чем аккумулятор RSA, но, вероятно, вы предполагали, что удаление невозможно, и вам нужен список отработавших Тй. Я думаю, вам просто нужно аккумулятор (фиксированный размер, около 400 байт), а в качестве свидетеля доказательства другое значение со всех входов удаленных на один блок. За сделки также необходимо свидетельство для всех входов (еще 400 байт), но это не должно быть сохранено. С Merkle-Trees вам нужен один хэш для аккумулятора, но свидетель доказательства сделок, должны также быть включены, чтобы проверить обновления и слияние их не спасает много. Даже если предположить глубину всего 24 (16 млн UTXOs, в настоящее время мы имеем больше) вам нужно 768 байт для одного свидетеля одного ввода транзакции предполагающего 256 бит хэш.
Смотрите мои цифры выше. Членские zerocoin свидетелей о 40kbytes в размере для 80 битной безопасности, так что я, возможно, переоценивая размер обновлений аккумулятора ... но даже если предположить, что они 400 байт, то, что ставит их в тот же стадион, как Те доказательства с верхней частью кэширования дерева. И, конечно же, проверяя сотни тысяч в секунду на обычном процессоре не имеет большого значения ...

котировка
Как вы писали, вместо RSA нужно просто группа неизвестных порядка. Но "неизвестный заказ" означает, что это неосуществимо вычислить порядок. Существуют ли какие-либо другие группы, помимо RSA с этим свойством? AFAIK для эллиптических кривых это дорого, но не неосуществимые вычислить порядок.
Для ЕС вычисление заказа квартика в размере поля (с помощью алгоритма SEA), если кривая не имеет специальную структуру, которая позволяет ему быть вычислен быстрее; так что это не представляется возможным, чтобы получить достаточно эффективную группу ЕС, где порядок является криптографический неосуществимым для вычисления. Но группы классов мнимых квадратичных порядков, как полагают, сильны в этом отношении, но там не было, что много работы, или анализ криптосистем, основанных на идеалах; так что я не уверен, насколько полезными они бы ... https://www.cdc.informatik.tu-darmstadt.de/reports/TR/TI-03-11.nfc_survey_03.pdf

Другой способ решения доверенную установку с схемами RSA является использование НЛО, но это означает, что вы в конечном итоге с поля десятков килобайт в размере только, чтобы получить 80-битное шифрование.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

25 мая 2015, 6:27:39 PM   # 6
 
 
Сообщения: 217
Цитировать по имени
цитировать ответ
по умолчанию Re: динамические аккумуляторы можно использовать для хранения UTXOs

Существуют ли какие-либо другие группы, помимо RSA с этим свойством? AFAIK для эллиптических кривых это дорого, но не неосуществимые вычислить порядок.
 Но группы классов мнимых квадратичных порядков, как полагают, сильны в этом отношении, но там не было, что много работы, или анализ криптосистем, основанных на идеалах; так что я не уверен, насколько полезными они бы ... https://www.cdc.informatik.tu-darmstadt.de/reports/TR/TI-03-11.nfc_survey_03.pdf

Другой способ решения доверенную установку с схемами RSA является использование НЛО, но это означает, что вы в конечном итоге с поля десятков килобайт в размере только, чтобы получить 80-битное шифрование.


Спасибо за ссылку. Но, похоже, что вам нужно 3000 битов для безопасности в любой схеме. И я думаю, что накладные расходы CPU особенно для обновления свидетелей является высоким в любой из них; вам нужно примерно одну групповой операция на битый в выходах транзакций.

котировка
котировка
Да, это было бы с помощью Merkle деревьев, не так ли? Но если моя математика верна, свидетель доказательства он требует больше, чем операции. Я не уверен, что при заказе на дерево необходимо (и вы тогда должны были бы сбалансировать его) или вы просто предлагают поместить элементы в порядке их вставленные? Вместо того, чтобы обнуление сделки один также может поставить новые выходы в освобожденном пространстве, чтобы избежать дерев от растущих слишком глубоко или становятся несбалансированным, но все же доказательство достаточно велики.
Hashtree построен из 32 байт хэш с 4 млрд записей будет 32 уровней deep-- поэтому размер очень выгодно с аккумулятором RSA + свидетелями с эквивалентной безопасностью.

Значительная часть доказательств также первые уровни пары дерева, которые могут быть в кэше, чтобы избежать повторной them-- и такое кэширование может быть заключено на одноранговой основе. Например, если узлы кэшируются первые 16 уровней дерева (2 мегабайтов данных) членство дерева / обновить доказательство для 2 ^ 32 дерева будут 512 байт.


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

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

  • В UTXOs не нужно хэширования; индекс может быть непосредственно рассмотрены индекс массива или смещения файла.
  • Если корень Merkle входит в blockchain, один может дать короткое доказательство существования для клиентов SPV, что также доказывает, что UTXO еще не провели

UTXO хэш-дерево будет 64 байт на UTXO, 32 байта для хэша UTXO и 32 байта для вышеуказанных уровней (есть примерно столько же, как внутренние узлы листьев в двоичном дереве). То есть в настоящее время 1.2GB. Свидетель будет включать в себя операцию проводить для проверки подписи.
johoe сейчас офлайн Пожаловаться на johoe   Ответить с цитированием Мультицитирование сообщения от johoe Быстрый ответ на сообщение johoe

25 мая 2015, 10:54:29 PM   # 7
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: динамические аккумуляторы можно использовать для хранения UTXOs

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

Идеальные делеции доказательство бы, что кошелек должен помнить их один раз, а затем использовать их позже. Обнуления элемента означает, что путь для всех близлежащих монет также меняется.

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

Если удаление листьев было разрешено без повторной балансировки, дерево, естественно, уклоняется от истирания. Если брат или сестра листе, удаляется, то путь к листу уменьшается на единицу. В среднем, все листы будут иметь одинаковую высоту.
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan

6 сентября 2015, 6:20:55 AM   # 8
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: динамические аккумуляторы можно использовать для хранения UTXOs

С ramchains я закодированы все unspents (фактически все адреса и txids тоже) в виде 32-разрядного целого числа (rawind). 4000000000 должно быть достаточно на некоторое время, хотя он должен быть расширен в размерах в течение нескольких лет для некоторых таблиц.

Внутри все операции в 10 раз (или больше) быстрее из-за просто имеем дело с небольшими целыми числами.

До тех пор, как это используется внутренне, он на самом деле не имеет значения о, где реорганизацию; перенумерация, что будет отличаться на разных узлах. Тем не менее, при наличии строгого упорядочения каждого блока, TXID в пределах блока, VIN и Vout в ОМ, то при условии, что все узлы в консенсусе, то весь 32 бит rawinds будет в консенсусе.

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

Общий размер всех rawinds с достаточным количеством информации, чтобы построить multisig тратит и обновить все адреса неизрасходованных остатков в режиме реального времени, всего несколько гигабайт и даже подсчет всех данных, она составляет около 10GB, поэтому он достигает Приятных экономии пространства, особенно с примерно 70% того, что в памяти отображаются файлы и не использует оперативную память. Однако я не имею это в формате родной блок еще, так что в дополнение к стандартному blockchain.

В верхней части структуры данных ramchain, я сделал, что L-цепь представляет собой снимки каждые 1000 блоков состояния всех таблиц, наряду с кумулятивным SHA256 для всех изменений состояния таблиц. Это позволяет различные узлы для проверки консенсуса точного состояния всех внутренних таблиц в определенных блоках, с помощью комбинированного ledgerhash и если есть несоответствие, точная таблица, которая несовпадающая идентифицируются.

Внутренне, каждый блок генерирует события, которые изменяют состояние дюжины различных таблиц. Таким образом, состояние в блоке N + 1 является состояние блока N измененной всех событий в этом блоке. Имея моментальный снимок каждые 1000 блоков, состояние любого блока может быть воссоздано в среднем по 500 блоков обновлений событий.

Если все узлы работают Lchains, то узлы могут самонастройки путем проверки получения 370 снимков в L-цепи параллельно, а затем также получать события между каждым снимком. Я не думаю, что нужно будет сделать, это избыточно (за исключением, может быть, самых последних), так как каждый снимок должен точно совпадать. Я не имею этого самонастройки закодированы все же, но как только он находится в месте, то требование хранения blockchain для каждого узла может быть уменьшено на 90% +.

Способ сделать это, чтобы каждый узел архив событий между 4 L-цепи случайных снимков и следующей. [Все узлы могут легко хранить все 370 снимков, поскольку они не очень велики]

Так как архив будет децентрализован с TOTALNODES / 100 покрытия, это кажется адекватным, хотя некоторые архивные узлы, вероятно, хотят сохранить полную историю. Таким образом, все узлы могут иметь полную дистиллированную blockchain и способность реконструировать общее состояние как любой блока достаточно эффективно.

Я очень занят с моими проектами, и я не думаю, что у меня будет шанс улучшить ramchains / L-цепь кодовый на некоторое время, так что я надеюсь, что некоторые другие разработчики будут заинтересованы. Благодаря усовершенствованиям в этой области, намного больше сделок будет вписываться в 1 МБ.

Джеймс

https://github.com/jl777/btcd/blob/master/libjl777/plugins/coins/coins777.c
https://github.com/jl777/btcd/blob/master/libjl777/plugins/ramchain/ramchain.c
jl777 сейчас офлайн Пожаловаться на jl777   Ответить с цитированием Мультицитирование сообщения от jl777 Быстрый ответ на сообщение jl777



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW