Bitcoin Forum
October 22, 2019, 05:57:45 PM *
News: 10th anniversary art contest
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Local / Идеи / Зонтичный шардинг - объединение криптоваl on: May 15, 2019, 12:52:49 PM
Всем привет!

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

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

Почему это интересно:
Много блокчейнов имеют возможность выпуска своего токена, но постоянно находятся люди которые хотят создать свой вариант блокчейна (особенно это актуально для пользователей данного форума). Почти каждый хочет создать свой правильный вариант распределения начальной эмиссии, правильной децентрализации, нужным названием, вобщем со своим блэкджеком.
1) Когда свой блокчейн создан, то нужно решать проблемы с ликвидностью: создавать платежные каналы для своей DEX, проходить долгий путь листинга на биржах. В случае зонтичного шардинга - достаточно одной валюте залиститься на крупных биржах, а все остальные получают доступ к ликвидности автоматом через кросс-шардинговые транзакции.
2) Общая производительность всей сети может достигать миллиона транзакций в секунду. Это большой маркетинговый плюс для блокчейна.



Как прикрутить к существующим блокчейнам?
1) Например к Биткоину. Фактически мы создаем новый протокол. Перейдет ли биткоин на него в ближайшие 100...
2) Для малоизвестных или вновь создаваемых блокчейнов наверно это более реально...


Будет ли эта идея (при условии 100% технической возможности) объединяющим людей фактором и создаст ли она новый тренд развития блокчейна в мире?



2  Local / Работа / Выплачиваем премии за статьи по Тере (50-100 USD) on: February 25, 2019, 04:58:41 PM
Всем привет.
Мы в Тере создали фонд, который будет вознаграждать людей, пишущих качественные статьи про проект TERA. Пополнение резервов фонда будет осуществляться постоянно. Валюта выплат — Bitcoin (BTC). Текущий баланс резервов будет доступен всем желающим по адресу 191875. На текущий момент резервы составляют 0.250 BTC.

Условия проекта:

— Контент должен иметь популярность и должен быть опубликован на Reddit или Medium.
— Статья должна содержать не менее 3000 символов (без пробелов).
— Содержимое статьи должно быть абсолютно уникальным, нести информативность и вызывать интерес целевой аудитории. Блог статей по Тере: https://terafoundation.org/blog/
— Вознаграждение в размере от 50 до 100 USD (в криптовалютном эквиваленте) в зависимости от качества и будет выплачиваться по итогу проверки раз в неделю (при условии наличия резервов на счёте фонда -  191875).
— Получая эти деньги, авторы обязуются не удалять эту статью из публичного места размещения


Внимание: этот фонд не оплачивает создание и размещение статей, он служит для премирования, при условии НАЛИЧИЯ СРЕДСТВ НА БАЛАНСЕ ФОНДА.
Вы можете принять участие в пополнении фонда, и ваш голос будет принят во внимание при назначении награды.

Источник информации:
- документация на сайте https://terafoundation.org
- мои посты на этом форуме
- задавайте любые вопросы здесь или в Телеграме (@progr76) я подробно на них отвечу...
- вы можете взять любое актуальное криптовалютное событие или новость и поразмышлять вместе со мной как это сделано в Тере и что будет дальше...


После написания статьи отправляйте ссылку на нее в телеграм @progr76 или в Дискорд канал: https://discord.gg/x6uB6gy


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

UPD 24.08.2019
Если у вас есть ранее опубликованные статьи на тему крипты/блокчейна и вы хотите написать статью по Тере, то я вам могу отправить приветственные монеты (примерно 20-50 USD) для того чтобы вы могли лучше ознакомиться с проектом и найти тему статьи.
Для этого:
1 Пришлите мне ссылки на ваши статьи
2 Пришлите номер(ИД) вашего счета Теры (создать счет можно например в веб кошельке https://terawallet.org)



3  Local / Работа / На постоянку ищется веб-мастер on: February 08, 2019, 01:29:24 PM
В команду проекта Tera требуется веб-мастер/веб-дизайнер на постоянную работу (по удаленке). Задача развитие сайта terafoundation.org (наполнение контентом/иллюстрации).
Оплата ежемесячно в BTC по курсу на день перечисления. Подробности в телеграм @progr76

Дополнение от 09.02.19 - в обязанности будет еще входить техническое писательство. Описание программистских поделок художественным языком. Например, у нас есть уже созданные Дапы, про интересные из них нужно написать на сайте. Вот их список: http://dappsgate.com/web-wallet.html#TabDapps



Ответы на вопросы:

>>Что конкретно по дизайну нужно делать? Промо материалы?
Сайт на английском. Направленность чисто академическая.
Наполнение контентом по Тере. Задача донести как работает блокчейн, какие новости от команды разработчиков. Цель - показать новые технологии.
Сейчас уже достаточно материала по Тере, но он в основном написан в виде гугл доков. Нужно все систематизировать и выложить на сайт.
Также нужно будет создать русскоязычные страницы (а потом по мере успешного поиска переводчиков - тоже требуются) - остальные языки.



>>Есть контент на английском, его нужно выложить на сайт, под словом систематизировать что подразумевается?
Сделать понятный сайт (не хуже чем у других), можно за пример взять другие сайты например блокчейн Lisk (ссылку не помню)


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

>>Конкретно какое ТЗ?
Нужен человек на постоянку, без ТЗ. Сам понимаешь что ТЗ будет каждый день новое...

Посмотри WP, нужно для начала будет его отобразить на сайте:
рус:
https://docs.google.com/document/d/1B6_qlAp2xs4aHkqOwyvRMCDJTjgeNiOJiGpIeT0VAzY/edit?usp=sharing
eng:
https://docs.google.com/document/d/1EaqFg1ncIxsrNE2M9xJOSzQu8z3ANwMuNyTX0z_A1ow/edit?usp=sharing



P.S.
Tera - это самый быстрый децентрализованный блокчейн в мире.


4  Local / Бизнес / Интернет-магазин на блокчейне (поиск парт on: January 27, 2019, 03:22:42 PM
Интернет-магазин на блокчейне

Мы много говорили про внедрение блокчейна в реальной жизни. Теперь время пришло, поехали!

Что это такое.
Это децентрализованное приложение, которое работает на блокчейне поддерживающий ДАпы. Доступно в тонком кошельках, в полной ноде, а также через обычный браузер - по обычной ссылке (через шлюзы майнеров и других энтузиастов).

Для владельца магазина есть специальный кабинет:
-С настройками и загрузкой товара из популярного формата Яндекс-Маркета (xml-feed).
-С просмотром полученных заказов
-Различные действия: подтверждения заказа, отмена, петиция к эскроу (когда товар уже отправлен)

Для покупателя это обычный интернет-магазин с функциями:
-Просмотр и подбор товара
-Изменение корзины, отправка заказа
-Просмотр статуса ранее сделанного заказа
-Различные действия по заказу (отмена не подтвержденного, подтверждение получения, петиция к эскроу)

Деньги покупателя при заказе не передаются сразу магазину, а резервируются на его счету.

Плюсы для продавца:
Владельцу магазина не требуется создавать свой сайт и платить за хостинг (по сути он создает вечный интернет-магазин)
Стоимость создания магазина минимальна (близка к нулю, оплата только за обучение консультантам - партнерам которых я ищу)

Плюс для покупателя:
Если покупатель делает предоплату, то деньги не передаются продавцу до тех пор пока он не подтвердит получение (они остаются зарезервированными на счете покупателя).


Ищу партнеров, которые будут продавать услуги по внедрению такого магазина.

P.S.
Сейчас запущен первый магазин с игрушками  для детей:
https://terafoundation.org/dapp/35
Исходный код смарт-контакта написан на javascript



5  Local / Работа / Конкурс на дизайн сайта (награда 2000-6000$) on: November 13, 2018, 02:27:39 PM
Всем привет.
Нашему проекту требуется дизайн-сайта. Награда 1 млн Тера (что по курсу встроенной DEX биржи составляет примерно от 2000 до 6500 долларов).

Вот официальная часть объявления https://discord.gg/RrYSxz:

Quote
Я отправил на счет 186573 сумму в Терах (1,1 миллиона). Это награда за дизайн сайта, который понравится сообществу. Вы можете договориться работать по частям друг с другом. Главное условие-оплата будет произведена после утверждения проекта сообществом.
1 победитель получит 1 миллион
2 Если у вас хороший дизайн, вы заняли 2 место я заплачу 100к Тера за участие.

Работы должны быть показаны на канале https://discord.gg/RrYSxz. Срок проведения конкурса - до конца месяца.

P.S.
Если кратко, то проект TERA - это блокчейн 4-го поколения.
Будущий сайт: http://terafoundation.org  - сейчас там только логотип и ссылки на другие ресурсы проекта.

6  Local / Альтернативные криптовалюты / Смарт-контракты на javascript on: November 11, 2018, 11:07:21 AM
Всем привет.

С некоторых пор (с конца октября) на Тере можно писать смарт-контракты. Язык смарт-контрактов javascript. Среда исполнения - node.js

В блокчейне Тера идея смарт-контрактов (далее по тексту смарты) была развита:
1. Код пишется на просто javascript и сразу отправляется в сеть без каких-либо манипуляций с компилированием кода или утилитами командной строки - достаточно буквально пары кликов мышки.
2. Можно писать смарты как шаблоны (библиотеки). Т.е. написав один раз им могут пользоваться все люди (создавая собственные экземпляры). Для этого человек просто прикрепляет его к своему счету (в Тере деньги хранятся на счетах по аналогии с расчетными счетами банка) и после этого управление деньгами контролируется кодом блокчейна. Смарт можно отвязать от счета, но при условии что он это разрешает.
3. Добавлена клиентская визуальная часть

Пример простого смарт-контракта под именем Promise, логика которого описана тут: https://bitcointalk.org/index.php?topic=4711054.msg47790792#msg47790792
Code:

function CheckPermission()
{
    if(context.Account.Num!==context.FromNum)
        throw "Access is allowed only from your own account.";
}

function OnGet()
{
    if(context.Description==="UNFREEZE")
        UnFreeze();
}


function OnSend()
{
    CheckFreeze();
}

function OnDeleteSmart()
{
    CheckFreeze();
}


function CheckFreeze()
{
    var State=ReadState(context.Account.Num);
    if(State.Freeze)
        throw "Account is frozen";
}


"public"
function Freeze(Params)
{
    CheckPermission();
    CheckFreeze(0);

    var State=ReadState(context.Account.Num);
    State.Freeze=1;
    State.UnFreezeNum=Params.UnFreezeNum;

    State.DescBlock=context.BlockNum;
    State.DescTr=context.TrNum;
    WriteState(State);

    Event("Freeze");
}

"public"
function UnFreeze(Params)
{
    var State=ReadState(context.Account.Num);
    if(!State.Freeze)
        throw "Account already unfreeze";
    if(context.FromNum===State.UnFreezeNum
        || context.FromNum===context.Smart.Owner)
    {
        State.UnFreezeNum=context.FromNum;
        State.Freeze=0;
        WriteState(State);
        Event("UnFreeze");
    }
    else
    {
        throw "Access is allowed only from: "+State.UnFreezeNum+" or "+context.Smart.Owner;
    }
}



Чтобы отправлять команды смарты нужна клиентская часть кода, клиент создается в виде HTML-странички. Например:
Code:
<HTML>
<script>
    function Freeze()
    {
        var AccountNum=ACCOUNT_OPEN_NUM;//my account
        var UnFreezeNum=$("idUnfreezeNum").value;//account for unfreeze
        var Text="My promise text";//any text

        SendCall(AccountNum,"Freeze",{UnFreezeNum:UnFreezeNum,Text:Text},AccountNum);
    }
</script>

Can unfreeze:<input type="number" id="idUnfreezeNum">
<BR>
<button onclick="Freeze()">Freeze</button>
</HTML>

В качестве базы данных используется сам счет, привязанный к смарту, чтобы описать структуру его полей введите в поле State format строку:
Code:
{Freeze:byte, UnFreezeNum:uint, DescBlock:uint, DescTr:uint16}


Чтобы отправить этот смарт в сеть, поместите его в окошко Dap-editor-а (верхний код в верхнее окошко, нижний с html - в нижнее), укажите имя и отправьте в сеть (Dap-editor - есть в каждом клиенте).


7  Local / Кодеры / Алгоритм с защитой от GPU-майнинга (TeraHash) on: September 07, 2018, 12:44:23 PM
Алгоритм с защитой от GPU-майнинга TeraHash

Назовем его именем TeraHash

Версия 0.1.1

На вход подается 32-байтный хеш данных текущего блока CurrentDataHash, нужно найти такой Nonce (целое число), чтобы в результате получился подходящий для нас хеш (с максимальным значением начальных нулей).
Ограничение:
1. Поиск должен быть оптимизирован на использование памяти - для защиты от GPU-майнинга
2. Проверка должна осуществлять при минимальном количестве памяти и выполняться быстро - примерно со скоростью вычисления sha3


Порядок расчета:
1. Вычисляется HashTemp = sha3(PrevHashXXX , Nonce)
2. Получаем Hash = HashTemp XOR CurrentDataHash

PrevHashXXX - 32-байтный хеш предыдущего блока, отстающий на N блоков от текущего (максимальная глубина ограничена определенным числом, например 10000 блоков)
Nonce - число для перебора значений от 0 до макс целого числа

Таким образом в блокчейн записывается:
CurrentDataHash,Nonce, N  - по которым быстро восстанавливается хеш блока

Т.е. здесь основная идея один раз рассчитать различные значения HashTemp с разными Nonce, а потом 10000 блоков просто подставлять значения через операцию XOR для лучшего подходящего хеша.

Особенность: из-за операции XOR можно так упорядочено расположить предрассчитанные значения HashTemp в памяти, что вообще не будет перебора Nonce - поиск будет вестись за логарифм времени. Соответственно при поиске CPU нагружаться не будет. Большое значение в алгоритме будет иметь размер памяти. Компьютеры с Терабайтом памяти будут 100 раз быстрее чем 10Гбайт. Но если ограничить максимальный размер N, то можно уменьшить эту разницу. Но это делать нужно осторожно, чтобы GPU-карты продолжали оставаться неконкурентными.

8  Local / Идеи / Блокчейн-торговля (опираясь на теорию игр) on: July 20, 2018, 11:19:00 AM
Блокчейн-торговля

Задумал написать смарт-контракт для децентрализованной торговли, вот какие мысли меня посетили...

Интернет-торговля

Товар может продаваться через интернет по следующей схеме:
  • При продаже товара у продавца и клиента замораживается депозит. У продавца 0,5 от суммы товара, а у покупателя 1,5 от суммы товара (т.е. всего 2-х кратная сумма).
  • При получении товара, покупатель отправляет транзакцию - товар получен. Ему возвращается 0.5 суммы, а продавцу 1,5 части суммы (оплата за товар + возврат 0,5 депозита)
  • Если покупатель не сообщает в блокчейн такую информацию, то оба лишаются средств: продавец 0,5 суммы + стоимость товара (если он его отправлял), покупатель 1,5 суммы денег (или за минусом стоимости товара - если товар все же получил). Таким образом покупателю и продавцу выгодно быть честным - отправить товар и подтвердить получение товара.
    Таблица выигрышей продавца и покупателя по теории игр:

Покупатель сказал, что получилПокупатель сказал, что  не получил
Продавец отправил
0 и 0
-1,5 и -0,5
Продавец не отправил
1 и -1
-0,5 и -1,5

Таблица составлена в предположении, что нет третьих сил, т.е. если он был отправлен, то он точно дошел до покупателя.

Примечание:
Тут еще нужно продумать над эффективной психологической суммой штрафа за обман. В данном примере он равен 0,5 суммы. Но возможно ее нужно снизить до 0.1. Так что если покупатель не получил, он лишается 1,1 суммы и это не слишком сильно отличается от величины 1,0 - он в гневе и готов пожертвовать 0,1 суммы, чтобы наказать недобросовестного продавца. А если он получил, то у него хорошее настроение и он хочет вернуть 0,1 суммы своего депозита.

Ещё нужно предусмотреть вариант отказ от сделки по взаимному согласию сторон (а также другие варианты).

Применение:
Электронные доски объявлений


Офлайн-торговля
Гарантия возврата товара

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

Автоматический возврат денег без прихода к продавцу

Покупатель может в любое время вернуть деньги за товар не обращаясь к посреднику, для этого он должен нажать специальную кнопку на устройстве. Устройство в ответ дает специальный код, который он может ввести в блокчейн и тем самым получить деньги, но само устройство переходит в нерабочий режим.
Минус:
Товары должны быть минимум электрическими, а еще лучше электронными для предотвращения несанкционированного использования.
Считывание кода производится бесконтактным методом с телефона через чип NFC (теги стоят порядка 6 руб за штуку в партиях от 10 штук)

По умолчанию можно сделать возврат только 50% суммы, чтобы не было никому выгодно выполнять возврат: ни продавцу поставлять плохой товар, ни покупателю отказываться от хорошего товара
Таблица выигрышей продавца и покупателя по теории игр составляется аналогично как и таблица выше:

                                                            Покупатель пользуется Покупатель отказался от товара
Производитель создал хороший товар     0 и 0                               -0,5 и -0,5
Продавец создал плохой товар             0.5 и -0,5                           -0,5 и -0,5


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

Общее примечание:
Жирным выделено равновесие Нэша.

P.S.
Писать буду на Тере, когда смарты прикручу...
9  Alternate cryptocurrencies / Announcements (Altcoins) / [ANN] [TERA PLATFORM] [DApp, PoW, CPU, 1000 TPS] on: June 30, 2018, 07:05:56 PM
Introducing TERA PLATFORM


TERA is a platform for developing applications in a decentralized network. Programs can manage and transfer any digital values,
including coins and tokens. This platform allows you to build a world economy without borders. The network is built on a highly reliable
blockchain Protocol with PoW consensus.

It is our great pleasure to invite you to join us to mine TERA, a coin that offers solutions for issues of existing cryptocurrencies,
namely centralization, transaction throughput, transaction speed, confirmation times, transaction fees and general usability and difficulty
of integration into existing payment and financial systems.

We have managed to create a blockchain with 1 second block time, 8 seconds for full confirmation of transfer and zero fees. On top of that
TERA blockchain is capable of throughput of 1000 transactions per second while retaining all praised blockchain features and bringing huge
possibilities for further development and seamless integration with existing infrastructure as well as with new emerging technologies.





Specification

Name:Tera
Consensus:POW
Algorithm:TERAhash (sha3 + Optimize RAM hashing)
Max emission:1 Bln (TERA)
Reward for block:Reward for block befor 43 mln blocks: 1-20 coins, depends on network power (one billionth of the remainder of undistributed amount of coins and multiplied by the hundredth part of the square of the logarithm of the network power).  With a block of 22.5 million, the power for the reward is limited to a constant of 43.
Reward for block after 43 mln blocks: <=1 coins (one billionth of the remainder of undistributed amount of coins multiplied  by constant)
Block size:130 KB
Premine:5%
Development fund:1% of the mining amount
Block generation time:   1 second
Block confirmation time: 8 seconds
Speed:from 1000 transactions per second
Commission: free of charge

Additional Information

Cryptography:sha3, secp256k1
Protection against DDoS:PoW (hash calculation)
Platform:Node.JS
Smart contract language:Javascript
Wallets:Windows - src & setup; MacOS, Linux - src only
Network launch:01.07.2018 12:0:0 (UTC)
Mining launch:UTC "2018-07-24T15:33:20

Links



Website: https://terafoundation.org/
Bitcointalk ANN: https://bitcointalk.org/index.php?topic=4573801.0

Repo:

1) https://gitlab.com/terafoundation/tera
2) https://sourceforge.net/p/tera/code/ci/master/tree/

Installing full node from setup on windows:
https://gitlab.com/terafoundation/terarun/raw/master/Bin/Full/tera_full_setup.exe

Light wallet:

Mobile wallet for Android: https://terafoundation.org/files/wallet.apk
Google play: https://play.google.com/store/apps/details?id=com.terafoundation.wallet
Web wallet: https://terawallet.org

Docker:
https://github.com/nferro/tera-docker

Tools:
DApp editor: https://terawallet.org/dapp-edit.html
Explorer: https://teraexplorer.org
Online Node Map: https://teraexplorer.org/map.html

Tera Decentralized Exchange: https://terawallet.org/dapp/20
Top Miners: https://terawallet.org/dapp/58
Supply of TERA: https://terawallet.org/dapp/67

API: https://gitlab.com/terafoundation/tera/blob/master/Doc/Eng/API.md
API-2 (for Exchanges): https://gitlab.com/terafoundation/tera/blob/master/Doc/Eng/API2.md
Constants: https://gitlab.com/terafoundation/tera/blob/master/Doc/Eng/CONSTANTS.MD


Docs:

White Paper: https://docs.google.com/document/d/1EaqFg1ncIxsrNE2M9xJOSzQu8z3ANwMuNyTX0z_A1ow/edit?usp=sharing
DApps Paper: https://docs.google.com/document/d/1PXVBbMKdpsAKPkO9UNB5B-LMwIDjylWoHvAAzzrXjvU/edit?usp=sharing
DApps FAQ; https://docs.google.com/document/d/10yXAKxaU7YgrQnbdXu_L7WWovUoRtdJwo3tXXaGZGSQ/edit?usp=sharing
DEX-Guide: https://docs.google.com/document/d/1qvVRfLq3qcYYF6dcsAAAqoGyBFF4njXUYZXZfTPWd2w/edit?usp=sharing
BTC for DEX: https://docs.google.com/document/d/19vRY6tkbTP8tubZxM01llwnMyz4P6IzY0zvnargrU6k/edit?usp=sharing

Social Media:

QQ: https://jq.qq.com/?_wv=1027&k=5h7cMi4
Twitter: https://twitter.com/terafoundation
Discord Invite Link: https://discord.gg/CvwrbeG
Telegram: https://t.me/terafoundation
(German) Telegram: https://t.me/terafoundation_germany
(China) Telegram: https://t.me/TeraChina

Exchanges:

Bitalong https://www.bitalong.net/
Qbtc https://www.qbtc.ink/
Citex https://www.citex.co.kr/
ChaoEx https://www.chaoex.com/
vbitEx https://www.vbitex.com/
BitCola https://www.bitcola.io/
MXC https://www.mxc.com/
BigOne https://big.one/
HotBit https://hotbit.io/
Hubi https://www.hubi.com/
VGATE https://x.vite.net/trade?symbol=TERA-000_BTC-000&category=BTC




Roadmap


Smart-contracts – October, 2018
Decentralized forum – November, 2018
Decentralized stock exchange – November 2018
Web wallet - December 2018

2019
Android/iOS Wallets
Creation of IDE for DApps development
Creating DApp for anonymous payments
Research to increase transactions with sharding up to 1 million tps
Creation of financial instruments for actions on tokens: futures, options, pawnshops
DHT technology support
Domain name support (.tera)
Gateway to the decentralized internet (web3)

2020-20xx
Building an economy without borders on the TERA PLATFORM



Full node & Mining

Attention: To connect to the network, it's better to have a public IP address.

Installation instruction: https://gitlab.com/terafoundation/tera


Requirements

The Terahash algorithm based on sha3 and optimized RAM hashing function. At least you need a strong CPU (>4 Cores) and a lot of RAM (>8 GB).

Good combinations of Cores / RAM are:

04 Cores /// 08 GB RAM
08 Cores /// 16 GB RAM
12 Cores /// 24 GB RAM
16 Cores /// 32 GB RAM


For example: The Intel i7-4770K CPU have 4 cores and 8 threads.





Starting the wallet

Wait until the synchronization is complete - the green message Synchronization complete should
appear. Below, when you start first time, two fields will appear: name and adviser. Enter the code of
the adviser (if you have one), enter account name and click the Create button. After about 8 seconds,
the account creation transaction will fit in the blockchain and you will have an open account where
you can mine the coins.

Solving connection problems

1. Check the presence of a direct ip-address (order from the provider)
2. Check if the port is routed from the router to your computer
3. Check the firewall (port must open on the computer)


Referral mining program

In the first year of the network work (when the number of the block is in the range from 2 mln to 30
mln), the referral program of mining works. If the miner indicated an adviser in his wallet, then he
gets about twice the size of the reward, and his adviser receives a one-time reward. Thus, at the
beginning of the action of the referral program, the emission is roughly tripled.

Technically, an adviser is an account number. Any account can become an adviser, provided that it
was created more than 1 mln blocks ago (i.e. approximately 12 days).

In order to smooth out the emission curve, the award for referral mining is multiplied by a factor that
assumes a value from 1 to 0. The factor takes the value equal to 1 at the beginning of the program
and smoothly changes to 0 at the end of the program (up to 30 millionth block).

Transfer your coins "bank like"

The coins are kept in accounts by analogy with bank accounts. The accounts are numbered from 0
sequentially. The zero account number is for system account, to which initially 1 bln coins were
issued. To create new account you need to send to the network special transaction
ACCOUNT_CREATE where you need to specify a public key of the account owner and unnecessary
characteristic “name of account” (a line with length up to 40 bytes). It is advisable to specify the
name to check the correctness of the account number input when sending the payment.

Test Network

Default values:

port:40000
httpport:8080

Launch:


sudo node set-test httpport:8080 password:SecretWord
sudo pm2 start run-test.js




10  Local / Кодеры / Мгновенные платежи (алгоритм реализации) on: May 16, 2018, 04:04:51 PM
Мгновенные платежи (алгоритм реализации)
Через залоговый принцип:
1. Покупатель деньги хранит на специальном счете, с которого средства можно тратить не более 1% в минуту.
2. При получении числа транзакций свыше данного лимита начисляются большие штрафы.

При покупке чего-либо покупатель отдает транзакцию сразу продавцу, который сам отправляет ее в сеть (предварительно проверив ее цифровую подпись). После чего не ждет несколько минут для подтверждения транзакции, а отдает товар, будучи более уверенным, что деньги до него дойдут. Т.к. см. пункты 1 и 2 правил.

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


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

Минусы:
Я специально выше отметил, что данный алгоритм повышает уверенность, но не гарантирует. Повышает примерно в 100 раз. Но все равно остается вероятность, что не честный покупатель одновременно отправил деньги сразу 200 продавцам и ни один ничего не заметил.


UPD:
Второй алгоритм.
Цель - достичь следующей возможной ситуации: допустим мы планируем пойти в магазин за покупками, мы знаем что он принимает криптовалюту. Мы хотим быстро оплатить товары не ожидая 10 минут на кассе.
Решение:
Используем транзакции, применяемые в атомарном свопе. Но немного модифицированные. Порядок действий будет такой:
1. Покупатель заранее создает специальную транзакцию - депонирование суммы на счет продавца, т.к. он точно не знает суммы покупки, то отправляет немного больше, например 5000 руб.
2. Покупатель указывает время, когда деньги автоматически вернуться ему на счет, если он передумает покупать. Например через 2 часа (один час на хождение по магазину, 1 час - гарантия подтверждения транзакций блокчейном - точное минимальное значение задает продавей, например, в виде объявления при входе в магазин вместе со своим адресом кошелька)
3. Отправив транзакцию, покупатель ждет некоторое время, убеждается что его транзакция принята блокчейном и отправляется за покупками
4. При оплате покупатель предъявляет кассиру только специальный ордер (на самом деле это тоже транзакция только с другим содержанием), в котором указана сумма не больше депонированной и цифровая подпись. Продавец может самостоятельно отправить этот ордер, т.к. деньги фактически уже находятся на его счете. Ордер нужно отправить в сеть для того чтобы деньги не вернулись обратно покупателю. У продавца для этого есть достаточно времени, т.к. он это потребовал в виде объявления на входе (оно может быть как 1 час, так и 1 сутки)

Данная схема, более надежна, т.к. уже гарантирует что деньги в конечно счете будут у продавца. Продавец, сам контролирует степень гарантии.

P.S.
Для сети Биткоина это не получится, нужно расширять опкоды и делать обновление сети. В Эфириуме вполне может сработать.

P.S2.
Но это все равное не будет работать для вышеуказанных криптовалют, из-за относительно высоких комиссий...


UPD2

Второй алгоритм будет реализован в блокчейне TERA в ближайшее время (август 2018)
https://bitcointalk.org/index.php?topic=4573801





11  Local / Идеи / Алгоритм дистрибуции монет блокчейна on: May 08, 2018, 11:20:28 AM
Эмиссия монет.

Общеизвестно, что чем более популярной становится криптовалюта, тем больше у нее узлов (нод) в сети и тем больше в ней совершается транзакций. Понятно, что чем больше нод подключается к сети, тем больше тратится общей вычислительной мощности для осуществления транзакций. Например, когда в сети было 100 нод, то сеть обрабатывала 100 транзакций в день и, например, эмитировано в день 100 монет. Логично ожидать, что когда в сети будет 1 млн нод и в сети будет обрабатываться 1 млн транзакций, то эмиссия монет будет 1 млн монет, т.к. вычислительные затраты выросли пропорционально.

Представьте следующие начальные условия:
1) Есть блокчейн с высокой скоростью транзакций (от тысячи TPS).
2) Алгоритм консенсуса максимально децентрализованный - т.е. чистый PoW

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

Я вижу решение такое - число монет выдаваемое в качестве награды за блок должно зависеть от уровня сложности PoW.
Например можно сделать:
1)Линейная зависимость. Награда за блок равна среднему хешрейту сети в данный момент (т.е. равна: 2 в степени числа нулей в "красивом" хеше найденного блока)
2)Квадратный корень. Тоже что и 1, только берется квадратный корень
3)Логарифмическая. Тупо берется число первых нулей красивого хеша.


На примере биткоина:
Block #521743  хеш: 00000000000000000016c6647923244f520ad7ca6ccdf07325e2113e667708a8
В нем 75 первых бит равны 0
1) Линейный способ - не хватает разрядности числа, это главный недостаток
2) 2^(75/2) = 194368031998 - тоже многовато, даже если считать в сатоши. Интересно, что если взять кубический корень, то 2^(75/3) = 33554432 сатоши (0.3 биткоина)
3) 75


Стоит заметить что есть два варианта развития:
1) Инфляционный вариант. Если эта идея станет популярной в массах, то экономика будет совсем непривычной - цена монеты не будет сильно расти. Наверно основной упор будет сделан на стабильности стоимости монеты и на совершении транзакций.
2) Без инфляционный вариант. Но с другой стороны ничего не мешает ограничить эмиссию монет сверху, например, при достижении эмиссии 100 млн монет, правила меняются меняются - заменяются на классический вариант с автоматическим понижением в 2 раза каждые N блоков


UPDATE:
Плюс описанного подхода:
Можно более точно заложить объем денег, требуемых для сети. Особенность криптовалют такая, что один раз установив правила игры, их уже практически нельзя поменять. Размер эмиссии - это рыночный показатель, зависящий от числа пользователей. Логично заложить эту зависимость в саму формулу.


UPD2

Алгоритм реализован в блокчейне TERA
https://bitcointalk.org/index.php?topic=4573801
Consensus: PoW
Algorithm:  sha3 + meshhash (ASIC resistent hashing)
Max emission: 1 bln (TER)
Reward for block: 1-20 coins, depends on network power (one billionth of the remainder of undistributed amount of coins and multiplied by the hundredth part of the square of the logarithm of the network power)
Block size 120 KB
Premine: 5%
Development fund: 1% of the mining amount
Block generation time: 1 second
Block confirmation time: 8 seconds
Speed: from 1000 transactions per second
Commission: free of charge


12  Local / Кодеры / Консенсус с двумя pow on: January 30, 2018, 08:08:05 PM
Усиление децентрализации блокчейна (Консенсус с двумя pow)

По следам темы идеального блокчейна https://bitcointalk.org/index.php?topic=2574634

С целью усиления децентрализации блокчейна возникла идея ввести в алгоритм консенсу просчет двух хешей, один по алгоритму заточенному под CPU, а другой под асик. Идея заключается в том, что если злоумышленник (или например правительство Китая) возьмет под свой контроль все мощности асиков (т.е. более 51%), то у него ничего не выйдет так как еще наравне с этим требуется получить контроль над обычными компьютерами. Ну не то что совсем никогда не выйдет, но данный факт очень сильно затруднит такой захват.

Я практически создал (выложу в сеть через месяц - в феврале) блокчейн с высокой скоростью TPS (сейчас пару тысяч транзакций в секунду, потом к концу года будет 1 млн), блоки создаются раз в 2 секунды. Сеть синхронная, т.е. блоки создаются гарантировно раз в две секунды. Т.к. резкие изменения мощности ей не страшны, то тут подходит данный алгоритм консенсуса с двумя вариантами PoW.

Предлагаю обсудить полезность от такого разделения алгоритмов и метрику сравнения блоков.
Например есть два блока конкурирующих блока:
Первый блок (число нулевых бит):
pow1 = 19
pow2 = 41
Второй блок (число нулевых бит):
pow1 = 21
pow2 = 40

какой блок победил?

Предлагаю, чтобы победителем был 2-й блок.

Алгоритм:
pow1-алгоритм на CPU
pow2-алгоритм для асика
1) Вычисляется логарифм сложности (т.е. тупо число нулевых бит) каждого хеша
2) Складываются их значения и сравниваются с другим блоком (чем больше тем лучше)
3) В случае их равенства победитель определяется по меньшему абсолютному значению хеша pow1


Главный вопрос:
Считаете ли вы что два алгоритма усиливают децентрализацию?


Попутный вопрос:
Какой алгоритм pow2 использовать (другими словами владельцам каких асиков дарить монеты)?  Стандартный Биткоина sha256(sha256()) ?



UPDATE:
Идея верна, только в предположении, что можно создать асикоустойчивый алгоритм, например такой который обсуждался в этой ветке:
https://bitcointalk.org/index.php?topic=2666995


13  Local / Кодеры / Асикостойкий алгоритм PoW on: December 30, 2017, 11:29:23 AM
UPD 12.09.2018
Тема уже неактуальна в связи с созданием более сильного алгоритма с защитой от GPU-майнинга "TeraHash"
https://bitcointalk.org/index.php?topic=5023773.0

Старое:
Друзья, продолжаю более детальную проработку темы идеального блокчейна: https://bitcointalk.org/index.php?topic=2574634.0;all
А конкретно, пункт: "12. Асикостойкий алгоритм PoW"

Давайте обсудим асикостойкие (а заодно и GPU-стойкие) алгоритмы PoW.
Зачем это нужно: чтобы выполнить более широкое и равномерное распространение криптовалюты. В идеале - среди обычных граждан. Есть такое утверждение: ценность валюты как средства платежа пропорционально квадрата числа людей ею пользующиеся.

Давайте подумаем над природой проблемы, что такое CPU (процессор), GPU (графический процессор) и ASIC (микросхема для вычисления хэшей):
CPU - универсальный процессор, способный выполнять любую Тьюринг полную программу
GPU - векторный процессор с массовым параллелизмом для обработки графики (и не только)
ASIC - микросхема которая умеет вычислять только хэши (на несколько порядков быстрее CPU/GPU)


Получается, что если мы хотим создать такой алгоритм PoW, чтобы он никогда не выполнялся на асике даже теоретически, нужно в него добавить исполнение Тьюринг-полной задачи.
Сделать так, чтобы алгоритм был динамический и нужен был процессор для интерпретации алгоритма. Например, добавить интерпретацию скрипта, который заранее составляется псведослучайным образом на основе хэша рассчитываемого блока. Скрипт будет выполнять случайные перестановки байтов входного буфера и избежать его выполнения не получится. Скрипт будет содержать условные переходы, операторы цикла, а также иметь ограничение на длины вычислений (чтобы не было случайного зацикливания). После исполнения скрипта вызывается какой-либо стандартный криптографический алгоритм хэширования.
Соответственно скрипт запускается столько раз - сколько раз перебирается число nonce при поиске "правильного" хэша.

Таким образом, если получится создать такой асик, то это уже будет не асик, а полноценный процессор...


Отдельным вопросом стоит GPU - можно ли на нем написать интерпретатор?

UPD:

Давайте подумаем как реализовать интерпретатор, можно например так:
1. Берем хеш предыдущего блока, его длина 32 байта
2. Считаем его программой из 32 строк
3. Каждый байт - это отдельная команда
4. Выполняем программу, ограниченное количество тактов (например 1000)

Состав АЛУ (регистры 2 байтовые):
Регистры:
00-Аккумулятор
01-03 - общего назначения

Память: 32 байта (собственно это входящий хеш, который нужно перемешать). Вся память разбита на 16 ячеек по 2 байта.
Все значения - это целые положительные числа длиной 16 бит.

Примеры команд (цифры в 16-м коде):
RM - загрузить в регистр R двухбайтовое число из ячейки M (memory)
4R - сложить значение из аккумулятора со значением из регистра R (registr) и поместить результат в аккумулятор
5R - аналогично вычитание
6R - аналогично умножение
7R - аналогично деление
8R - аналогично побитовое OR
9R - аналогично побитовое AND
AR - аналогично побитовое XOR
BR - аналогично SIN (!)
CL,DL - переход на строку L (label) если значение в аккумуляторе меньше 2^15 (C-переход на строки: 0-15, D-переход 16-31)
EL,FL - переход на строку L (label) если значение в аккумуляторе больше 2^15 (E-переход на строки: 0-15, F-переход 16-31)
Все остальные значения (4R-AR где значения R>3) приводят к перемешиванию памяти кратно значению в аккумуляторе.
где:
R-номер регистра 0-3
M-номер ячейки памяти (0-15)
L-номер строки программы (0-15)

Итого:
Ό  всех случайных команд приводит к условному переходу
примерно ⅓ команд - к случайному наполнению аккумулятора
примерно ⅓ команд - к перемешиванию хеша

Можно убрать все арифметические операции (команды 4R-AR), а ввести только сложные тригонометрические функции, как например команда BR, чтобы затруднить работу на GPU

UPD2:
Функция перемешивания на JS:
Code:
function meshhash(hash)
{
    var regs=[hash[3],hash[2],hash[1],hash[0]];
    var mem=[];
    for(var i=0;i<16;i++)
    {
        mem[i]=hash[i*2]+(hash[i*2+1]<<8);
    }

    var WasGoto=0;
    var L=0;
    for(var i=0;i<64;i++)
    {
        var c=hash[L&31];
        L++;
        var a=(c>>4)&0xF;
        var b=c&0xF;
        var r=c&0x3;


        switch (a)
        {
            case 0:
                regs[0]=regs[0] + regs[r];
                break;
            case 1:
                regs[0]=regs[0] * regs[r];
                break;
            case 2:
                regs[0]=regs[0] | regs[r];
                break;
            case 3:
                regs[0]=regs[0] & regs[r];
                break;
            case 4:
            case 5:
            case 6:
            case 7:
                regs[0]=regs[0] + regs[1] + regs[2] + regs[3];
                break;
            case 8:
                if((regs[0]&0xFFFF)<32768 && !WasGoto)
                {
                    L=32+L-b;
                    WasGoto=1;
                }
                break;
            case 9:
                if((regs[0]&0xFFFF)>32768 && !WasGoto)
                {
                    L+=b;
                    WasGoto=1;
                }
                break;

            default:
                regs[a%4]=mem[b];

        }


        var index1=regs[0]&0xF;
        var index2=(regs[0]>>8)&0xF;
        if(index1!==index2)
        {
            var temp=mem[index1];
            mem[index1]=mem[index2];
            mem[index2]=temp;
        }
    }

    var ret=[];
    for(var i=0;i<16;i++)
    {
        ret[i*2]=mem[i]&0xFF;
        ret[i*2+1]=mem[i]>>8;
    }

    return ret;
}


UPD3

Алгоритм реализован в блокчейне TERA
https://bitcointalk.org/index.php?topic=4573801
Consensus: PoW
Algorithm:  sha3 + meshhash (ASIC resistent hashing)
Max emission: 1 bln (TER)
Reward for block: 1-20 coins, depends on network power (one billionth of the remainder of undistributed amount of coins and multiplied by the hundredth part of the square of the logarithm of the network power)
Block size 120 KB
Premine: 5%
Development fund: 1% of the mining amount
Block generation time: 1 second
Block confirmation time: 8 seconds
Speed: from 1000 transactions per second
Commission: free of charge


14  Local / Идеи / Давайте создадим идеальную криптовалюту on: December 12, 2017, 08:30:59 PM
Друзья, давайте создадим идеальную криптовалюту, лишенную проблем масштабирования и стоимости комисии.

На мой взгляд идеальная криптовалюта должна иметь:
1. Бесконечную масштабируемость, например если число нод 1000, то обрабатывает 1000 транзакций в секунду (tps), если число нод стало 1 млн, то скорость сети пропорционально увеличилась до 1 млн tps
2. Маленькое время подтверждения транзакции - не более 5 сек.
3. Бесплатные или практически бесплатные транзакции:
Либо в транзакции указывается какая-то комиссия (мин сумма задается в константе см п.13). Комиссия всегда сжигается, майнеры получают только вознаграждение.
Либо оплачена подписка на транзакции (см. пункт 14)
Либо в транзакции указан PoW эквивалентный работе компьютера в течении например 1 сек (управляется константой) - также это будет использоваться для дополнительной защиты сети, т.к. в транзакции идет ссылка на один из предыдущих блоков
Будет установлено минимально допустимое время между транзакциями предок-потомок (например 1 минута)
При неудовлетворении этих условий транзакция считается невалидной и сетью не принимается.
4. Защиту от атак (защита от спама через пункт 3, защита от резкого изменения мощностей майнеров - через алгоритм)
5.1  Распределение вознаграждения за блок: 10% за максимальный PoW хэша, 10% оракулам, 80% остальным активным участникам сети (нодам) за обмен транзакций.
5.2  Консенсус с двумя pow
6. Запускать поверх себя другие активы (по типу цветных монет в биткоине) и в том числе содержать транзакции всех популярных криптовалют (наличие точной информации по курсам этих валют позволит создать децентрализованные биржи/обменники/ломбарды и т.п.)
7. Регулируемый размер эмиссии через голосование и пропорционально количеству нод (точнее логарифму их числа)
8. Смарт-контракты
9 Пиринговый файлообмен
10. Пиринговые сообщения (чат)
11. DApp (хостинг проектов)
12. Асикостойкий алгоритм PoW https://bitcointalk.org/index.php?topic=2666995.0
13. “Управляемые” константы - константы, которые меняются через систему голосования. Например размер эмиссии, процент распределения награды, стоимость подписка на сервисы и т.п. Сама система голосования возможно будет реализована путем сжигания суммы валюты за то или иное решение. Время голосования длительное - минимум 2 недели или при наборе большинства. Подумать про отдельную систему выборщиков...
14. В сети будут реализованы встроенные сервисы (например подписка на бесплатные транзакции в течении года). Оплата осуществляется путем  сжигания определенной суммы на определенный адрес - например 0x000000001
15. Безопасные кошельки - специальное свойство кошелька, показывающее возможность отмены транзакции в случае кражи пароля. Механика: перевод с таких кошельков осуществляется долго, например 1 неделя, при этом в течении этого времени есть возможность создать блокировочную транзакцию, по которой все деньги отправляются на резервный кошелек. А также опция ограничение суммы платежа в день/месяц за исключением переводов на резервный кошелек.
Применение: повышение безопасности брэйн-кошельков.
16. Оракулы - заливка экспертных знаний реального мира внутрь блокчейна. Системно будут поддерживаться несколько финансовых показателей, например, курс данной валюты к USD, курсы других валют (Биткоина, Эфириума, фиатных валют). Алгоритм вознаграждения за правильные знания: ноды, которые максимально ближе были к среднему значению участвуют в розыгрыше монеты.
Установка осуществляется в момент достижения консенсуса сети (в момент лавинной отправки макс блока).
17. Сделать поддержку для полных нод работать только в браузере на базе WebRTC
18. Ввести понятие гарантия ноды: нода замораживает N монет и гарантирует честную работу, если обнаружены доказательства обмана, то эти монеты сжигаются.
Список доказательств обмана:
византийское поведение (отправка разных данных о своем состоянии)
подтверждение заведомо неправильных транзакций (двойных трат)
спам (превышение количества сообщений больше нормы)
не передача данных от соседних нод или таймаут (как доказывать??)
При подключении ноды использовать такую гарантию в качестве одного из приоритетов
19. Анонимные транзакции через “ветер” (авто движение монеты из одной шарды в другую). Реализуется посредством автообменов, механизм нужный для избавления от мелких монет (консолидации монет в одну).
Примечание: мелкие монеты это проблемы, которые будут возникать из-за шардирования.
20. Стабильность курса валюты (создание второй валюты STBL, привязанной к курсу какого-либо фиата)



СЕРВИСЫ за которые нужно платить:
-Подписка на быстрые (без PoW) транзакции без комиссии
-Расчет баланса кошелька для тонкого клиента
Подписка осуществляется путем сжигания (переводы на заранее определенные нулевые адреса). Период подписки: день, месяц, год


Приложения на платформе:
1. Биржа услуг и товаров с гарантией исполнения: например заказ транспорта. Лицо оказывающее услугу вносит на биржу лоты с описанием и стоимостью и датой, объем лотов ограничено внесением залогового депозита (гарантии сделки). Клиент покупает услугу, деньги переводятся спустя 2-3 дня при взаимном согласии сторон. В случае спора подключается третья сторона Оракул (за 5%, которые списываются от продавца лота).

2. Учет долгов. Универсальная бухгалтерская книга - взаиморасчеты между друг другом (как людьми, так и организациями). Учитываться будут именно долги, например за поставку товара начисляется долг одного кошелька перед другим кошельком. Начисление долга будет произвольным, но допускается только если уже были переводы средств между кошельками (для защиты от спама).
Внедрить в функционал ERP систем, например: увеличение долга - в документ Отгрузочная накладная, списание долга - в документ Выписка банка.
Плюсы для всех - видеть состояние взаиморасчетов сразу, не дожидаясь проведения бухгалтерских актов сверок.
TODO: Продумать пределы “произвольности” начисления долгов, механизм сдержек и противовесов...


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


Прошло полгода, встречайте:

Introducing TERA | Smart money


Specification

Name: TERA
Consensus: PoW
Algorithm:  sha3 + meshhash (Asic resistent hashing)
Max emission: 1 bln (TER)
Reward for block: 1-20 coins, depends on network power (one billionth of the remainder of undistributed amount of coins and multiplied by the hundredth part of the square of the logarithm of the network power)
Block size 120 KB
Premine: 5%
Commission from the mining: 1% (to the development fund)
Block generation time: 1 second
Block confirmation time: 8 seconds
Speed: from 1000 transactions per second
Commission: free of charge

...

https://bitcointalk.org/index.php?topic=4573801
Pages: [1]
Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!