Bitcoin Forum
November 23, 2017, 10:31:51 PM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Color Coins - рабочий проект  (Read 2510 times)
Reshetov
Newbie
*
Offline Offline

Activity: 20


View Profile
November 04, 2013, 10:46:08 AM
 #1

Не путать с colored coins... уже не ищем программистов, т.к. это совершенно разные проекты.

Открытые исходники и бинарники можно взять по ссылке: http://www.mql5.com/ru/forum/15091 (прикреплённый к первому сообщению архив colorcoins.zip).

Англоязычная ветка проекта на этом форуме: https://bitcointalk.org/index.php?topic=325244.0

Немного текста:

Color coins - принципы системы
(в сравнении с битком)

Существует легенда, согласно которой, когда Сатоши Накамото сгенерировал первый блок для биткоина, то он послал на три буквы ФРС. Однако, рановато было. Почему?

Разберем по порядку:

    1. Proof of work – функция достаточно полезная для любой валюты, которая позволяет платёжное средство заработать, т.е. произвести некий товар и обменять его на деньги. Не суть важно, какой товар. В Color Coins заработать валюту можно, выиграв её в Black Jack. Может быть кто-то возразит, что игра и работа – понятия не совместимые и майнинг биткоинов выполняет «полезные» функции, поддерживая блокчейн. Однако стоит напомнить, что герерация блоков для биткоина является энергозатратной. И если сравнить все плюсы и минусы, то минусов биткоин майнинга окажется больше, т.к. не только тратится электроэнергия (иногда и ворованная), но и сам майнинг способствует доходам производителей совершенно бесполезного для дома и семьи железа (асики имеются в виду), что создаёт нездоровую инфраструктуру вокруг всего этого хозяйства. Игра в Блек Джек менее затратна для пользователей и развивает мышление.
    2. Децентрализованность. Является ли данная функция обязательной для независимости валюты? Скорее всего нет. В Color Coins сервер централизован. Теоретически его базу данных можно засунуть в какую нибудь распределённую noSQL и заставить клиентские приложения выполнять репликации, открыв доступ на чтение базы всем желающим. Ведь общественный скептицизм относительно работоспособности системы позволяет повысить доверие к этой системе. Людям уже давно надоели всякие коммерческие тайны, распространенные в финансовых системах и позволяющие финансистам безнаказанно мошенничать чужими денежными средствами. В Color Coins в данный момент все транзакции складываются в отдельную папку, которую, как минимум, можно сделать общедоступной, открыв к ней доступ, например, по FTP протоколу в режиме чтения. В будущем конечно же предполагается все транзакции разместить в распределённой базе noSQL также с открытым доступам для чтения. Т.е. не столь важна децентрализация, сколь важно удовлетворить общественный скептицизм со стороны пользователей системы. Ведь пользователям системы необходимо убедиться, что их деньги не идут куда-то налево или что эмиссия не вышла за пределы лимита и т.д. и т.п.
    3. Криптография. Этот пункт безусловно важен для любой электронной валюты. Ведь криптография основана на презумпции виновности, т.е. всё, что можно плохо защищено, рано или поздно украдут (исключение - Неуловимый Джо). Бизнес, построенный на доверии – лохотрон. Бизнес, построенный на гарантиях – наиболее надёжен. Недостатком современных экономических отношений является неравенство между финансистами и пользователями финансовых систем. По умолчанию предполагается заведомая «честность» со стороны финансистов, при заведомой «нечестности» со стороны остальной части населения. Ведь, если вы приходите в банк, чтобы получить  кредит, то по отношению к вам предполагается презумпция виновности, т.е. банкиры предпримут все меры, чтобы максимально гарантировать возврат этого кредита. Если вы кладёте свои деньги в банк, то по отношению к банкирам предполагается презумпция невиновности. Криптография устраняет это неравенство, по умолчанию предполагая презумпцию виновности по отношению ко всем заинтересованным лицам. В Color Coins также, как и биткоине, используется криптография: каждый кошелек имеет приватный и публичный ключи, генерируемые на стороне клиента (владельца кошелька). Публичный ключ позволяет серверу с помощью алгоритма идентификации без особых затруднений удостовериться, что клиент желающий управлять денежными средствами в бумажнике, является владельцем приватного ключа от кошелька, без передачи приватного ключа за пределы клиента.
    4. Денежные транзакции. Также безусловно важный пункт для любой валюты. Ведь с помощью транзакций можно менять права собственности на владение валютой по желанию её прежних владельцев, а следовательно и использовать её в качестве платежного или благотворительного средства. Для того, чтобы избавить от нежелательного для владельцев валюты изменения прав собственности и используется криптография. В Color Coins применяются две разновидности транзакций: разъединить кошелёк (split), когда создаётся ещё один кошелек и на него переправляются денежные средства. Вновь созданный кошелёк может использоваться в качестве платежа, причём система позволяет посмотреть содержимое кошелька без знания приватного ключа от него, а только с помощью публичного. Управлять содержимым кошельков, как и биткоине (и не только в биткоине) можно только с помощью приватных ключей от них. Вторая операция – это объединение кошельков (join), т.е. все денежные средства с одного кошелька переправляются на другой кошелёк, а опустевший кошелёк удаляется (система удаляет все пустые кошельки, чтобы не засорять ими базу данных). Вполне понятно, что переправить деньги с какого либо кошелька невозможно без знания приватного ключа от него. Не менее важна и скорость выполнения транзакций. Для биткоина она как известно равна порядка 10 минут, а в некоторых случаях и больше, только потому что майнеры по своему усмотрению могут откладывать транзакции в долгий ящик, независимо от их достоверности.
    Количество валют. В биткоине задействована всего одна единственная валюта и в качестве добычи в майнинге и в качестве платёжного средства. И то и другое является слабым местом биткоина. В Color Coins при настройках по умолчанию существует три валюты: белые, красные и зелёные монеты и одна добыча: чёрные монеты. Дело в том, что чёрные монеты являются товаром, а не платёжным средством, поэтому их нельзя передавать на разъединенные кошельки.
    5. Фиксированная эмиссия денежных средств. Тоже очень важное свойство валют, защищающее их от инфляции (обесценивания денег). Именно по этой причине товар – чёрные монеты, которые можно добывать (выигрывать в Блек Джек) эмиссионно нелимитированы, а остальные монеты: белые, красные и зеленые имеют жёстко фиксированную эмиссию в количествах: 10 000 белых монет, 100 000 красных и 1 000 000 зеленых.
    6. Ликвидность. Если в системе всего одна единственная валюта, то обеспечить её ликвидностью в самой системе проблематично. В биткоине этот недостаток присутствует. По этой причине, несмотря на то, что биткоин децентрализован, но его обеспечение ликвидностью возможно только через централизованные биржи или централизованные торговые точки. От этого, все достоинства децентрализации сводятся на нет (достаточно вспомнить примеры, когда курс биткоина падал и из-за взлома хакерами биржи и из-за ареста владельца торговой точки - Silk Road, обеспечивающей ликвидность товаром). Касаемо Color Coins, то все валюты в нем ликвидны относительно друг друга. В системе есть встроенный обменный пункт валют, через который пользователи системы могут в любой момент обменять одну валюту на другую по достаточно низкому курсу (незначительной разнице между ценой продажи и покупки - спредом). Теоретически? пользователи системы могут самостоятельно попытаться создать свой «чёрный рынок» обмена валют вне системы, но практически конкурировать с внутренним обменником у них вряд ли получится (обменник решает проблемы отсутствия биржи, организация которой более затруднительна). Другое дело, что те же самые пользователи системы получают возможность для арбитражных сделок, если возникнет перекос между курсом обменника и курсами обмена на фиатные или анархические валюты вне системы. К тому же, если система моновалютна, а у нее появляются форки, то эти самые форки опять же опять никоим образом децентрализовано не в состоянии обеспечить обмен одних валют на другие. Поэтому чтобы не плодить форки, в Color Coins заведомо задействованы различные валюты.
    7. Ценообразование. Тоже очень важный пункт существования любой платёжной системы. Проще говоря, все товары и деньги должны адекватно регулироваться относительно спроса и предложения. Если регулирование неадекватно, то обязательно возникнет «чёрный рынок», который и будет проводить справедливый арбитраж в соответствии с рыночными спросом и предложением. Встроенный в систему Color Coins обменный пункт автоматически следит и меняет цены на внутренние курсы валют в соответствии со спросом и предложением. Т.е. если кто-то меняет одну валюту на другую в обменнике, то та валюта, которую пользователь отдаёт, будет дешеветь, а та валюта, которую пользователь получает – дорожать. Опять же, сторонники рыночной экономики могут заявить, что якобы ценообразование должно регулироваться самим рынком, а не какими-то алгоритмами. Могу возразить: если отдать ценообразование на откуп рынку, то рано или поздно наиболее шустрые его воротилы, сколотят себе состояние на менее шустрых и начнут с помощью этого самого состояния регулировать цены в нужные им стороны. Адекватный алгоритм встроенного в систему обменника сделан так, что не позволяет всяким воротилам конкурировать с ним (отпадает необходимость в контролирующих регуляторах типа комиссии по ценным бумагам). Более того, он делает невыгодным внешнее регулирование с помощью крупных сумм, т.е. попытаться изменить цены можно, а вот заработать на этом, т.е. вернуть свои деньги с прибылью будет весьма проблематично. Внутренний обменник создает примерное равноправие для всех пользователей системы, т.к. для него нет блатных и нищих и курсы обмена одинаковы для всех без исключения. К тому же, как я уже говорил, никто не запрещает, создавать свои «чёрные рынки» вне системы, но при этом исключен и запрет доступа к обменнику пользователей со стороны внешних «регуляторов», не суть важно каких, будь они: государством, центральным банком или же частным толстосумом.
    8. Комиссия. Всякие поборы и налоги отрицательно сказываются на денежных средствах. От того, что биткоин децентрализован, система обязательных комиссионных за транзакции сводит все «анархические» декларации на нет. В Color Coins комиссия за транзакции нулевая. Да в ней и нет никакой необходимости, т.к. во внутреннем обменном пункте есть небольшая разница между ценой продажи и ценой покупки валют – спред. Несмотря на то, что этот спред с виду ничтожен, но при активном использовании обменника, он складывается во вполне приличные суммы.

Остальной текст идет с прицепе исходниками в файле readme.htm
1511476311
Hero Member
*
Offline Offline

Posts: 1511476311

View Profile Personal Message (Offline)

Ignore
1511476311
Reply with quote  #2

1511476311
Report to moderator
1511476311
Hero Member
*
Offline Offline

Posts: 1511476311

View Profile Personal Message (Offline)

Ignore
1511476311
Reply with quote  #2

1511476311
Report to moderator
1511476311
Hero Member
*
Offline Offline

Posts: 1511476311

View Profile Personal Message (Offline)

Ignore
1511476311
Reply with quote  #2

1511476311
Report to moderator
Join ICO Now Coinlancer is Disrupting the Freelance marketplace!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1511476311
Hero Member
*
Offline Offline

Posts: 1511476311

View Profile Personal Message (Offline)

Ignore
1511476311
Reply with quote  #2

1511476311
Report to moderator
1511476311
Hero Member
*
Offline Offline

Posts: 1511476311

View Profile Personal Message (Offline)

Ignore
1511476311
Reply with quote  #2

1511476311
Report to moderator
1511476311
Hero Member
*
Offline Offline

Posts: 1511476311

View Profile Personal Message (Offline)

Ignore
1511476311
Reply with quote  #2

1511476311
Report to moderator
Reshetov
Newbie
*
Offline Offline

Activity: 20


View Profile
November 04, 2013, 11:24:33 AM
 #2

Алгоритм автоматического обменного пункта


Как работает встроенный в Color Coins обменный пункт. Для того, чтобы было понятнее, нужно вспомнить историю. А история финансов такова, что с какого-то момента в качестве платежных средств использовались монеты из цветных металлов. Поскольку содержание тех или иных металлов в монетах являлось их самообеспечением этими металлами, то особых проблем не возникало (за исключением фальшивых монет). Но позднее появились казначейские обязательства в виде бумажных или тряпичных аналогов денег. Суть казначейского обязательства в том, что на бумаге указывается её обеспеченность цветными металлами. Тут и начались проблемы. Окончательно проблема выявилась во времена правления во Франции генерала Шарля де Голля. Проще говоря, этот генерал собрал американские баксы из всех доступных французских валютных резервов и предъявив их ФРС США, потребовал обменять на золото, которое было указано в казначейских обязательствах.

Давайте разбираться. Например, у вас есть килограмм золота. Вы выпускаете свои деньги под залог этого золота, например, одна купюра – 1 грамм, т.е. 1000 купюр. Пускаете свои деньги в оборот. В один прекрасный день к вам приходит какой-то француз, который собрал ваши деньги и требует обменять их на золото, согласно казначейским обязательствам. Вспомним что было в начале: у вас было и золото и макулатура. А что получилось в результате: у француза ваше золото, а у вас осталась только макулатура. Надеюсь, что бестолковость идеи фиксированного обеспечения макулатуры металлами или другими материальными ценностями теперь понятна?

Ещё большая бестолковость заключалась в идее полного отказа от казначейских обязательств – отмена золотого стандарта.

Теперь можно уже рассказать, как работает обменник в Color Coins. Предположим, что у вас есть килограмм золота и 1000 выпущенных вами электронных банкнот. В таком случае, мы можем утверждать, что каждая банкнота обеспечена 1 граммом золота, хотя на самом деле 1 банкнота = 1 грамм золота – это только справедливая цена в соответствии со спросом и предложением на данный момент. Но дело в том, что золото можно намайнить, а эмиссия банкнот фиксирована. Плюс ко всему ни у кого кроме вас этих банкнот пока ещё нет в наличии (нет ни спроса, ни предложения, а следовательно и ликвидности).

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

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

Как вычислить курс продажи или покупки золота за банкноты? По тривиальной формуле:

Price = m / (g + 2 * dg)

Где:

Price – цена грамма золота в банкнотах
m – количество банкнот у вас в наличии (общий номинал)
g – количество золота в граммах у вас в наличии
dg – количество предлагаемого вам золота. Если с отрицательным знаком, то количество спрашиваемого золота.

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

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

Давайте предположим, что некто принёс нам 10 грамм золота, чтобы обменять на наши электронные банкноты. В этом случае курс обмена будет:

Price = m / (g + 2 * dg) = 1000 / (1000 + 2 * 10) = 0.98039215686274509803921568627451

В таком случае за 10 грамм золота мы отдадим 9.8039215686274509803921568627451 банкнот
В результате, после обмена у нас останется 1010 грамм золота и 990.19607843137254901960784313726 банкнот.

Вычислим справедливую цену: 990.19607843137254901960784313726 / 1010 = 0.98039215686274509803921568627451

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

Price = m / (g + 2 * dg)  = (m - 2 * dm) / g = (m - dm) / (g + dg)

Где:

signum(dm) = -signum(dg)


Итак, мы получили плавающий курс золота, выраженный в наших банкнотах в соответствии со спросом и предложением и в соответствии с совершаемыми сделками.

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

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

Price = (m + 2 * dm) / g,



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


neiros
Legendary
*
Offline Offline

Activity: 1946



View Profile WWW
November 04, 2013, 11:51:00 AM
 #3

...Игра в Блек Джек менее затратна для пользователей и развивает мышление...  ...В Color Coins сервер централизован...
Казино Undecided
А tor для того что бы владельцев не нашли, если вдруг что обязательно случится?

icreator
Legendary
*
Offline Offline

Activity: 1050



View Profile WWW
November 06, 2013, 08:38:41 AM
 #4

а в блек ждека будут играть скррипты а не люди

Erachain.org - First Legal Blockchain in World
CROWDSALE preICO at 20.10.17
Reshetov
Newbie
*
Offline Offline

Activity: 20


View Profile
November 06, 2013, 09:08:45 AM
 #5

а в блек ждека будут играть скррипты а не люди
Пусть играют скрипты, разницы большой нет.
icreator
Legendary
*
Offline Offline

Activity: 1050



View Profile WWW
November 06, 2013, 09:19:18 AM
 #6

а в блек ждека будут играть скррипты а не люди
Пусть играют скрипты, разницы большой нет.
тогда асики под них будут так же делать

Erachain.org - First Legal Blockchain in World
CROWDSALE preICO at 20.10.17
Reshetov
Newbie
*
Offline Offline

Activity: 20


View Profile
November 06, 2013, 02:26:33 PM
 #7

а в блек ждека будут играть скррипты а не люди
Пусть играют скрипты, разницы большой нет.
тогда асики под них будут так же делать

Вот банальная защита в коде от асиков:

Code:
               ...
                char useraction = '0';  // User's response, 'H' or 'S'.
                String command = "";
                do {
                    pw.println(menu);
                    pw.flush();
                    command = br.readLine().trim();
                } while (! menu.checkCommand(command));
                Thread.sleep(1000);  // Sleep 1 second
                useraction = command.charAt(0);
               ...

Задержка всего на 1 секунду (1000 миллисекунд) и асики отдыхают. Хотя для обычного юзера 1 секунда - фигня. Нормальный бот должен научиться считать карты по системе в БлекДжеке, чтобы ему не пришлось много раз нарываться на такие задержки.

icreator
Legendary
*
Offline Offline

Activity: 1050



View Profile WWW
November 06, 2013, 04:05:24 PM
 #8

из кода ничего не понял

очень просто этот код вырезать.. или у вас все централизовано? нет p2p?
тогда вас ФСБ разом закроет

Erachain.org - First Legal Blockchain in World
CROWDSALE preICO at 20.10.17
Anis1984
Full Member
***
Offline Offline

Activity: 197


View Profile
November 27, 2013, 01:49:08 AM
 #9

Какой-то поток сознания.
Pages: [1]
  Print  
 
Jump to:  

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!