Bitcoin Forum
June 21, 2024, 08:19:30 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 6 7 »  All
  Print  
Author Topic: Еще один проект децентрализованной биржи  (Read 7837 times)
GGUL (OP)
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
March 03, 2014, 09:09:59 AM
Last edit: March 28, 2014, 03:05:55 PM by GGUL
 #1

Децентрализованная биржа для обмена криптовалют


A  Типы ценностей, обращающихся на бирже.

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

В Адреса.
  Адреса генерируются по подобию криптовалют.  На балансе адреса может быть много разных знаков I типа.

С Сделки (транзакции)
  Все сделки фиксируется в блокчейне в виде транзакций. Майнеры получают только комиссию с транзакций.
  Размер комиссии фиксированный для каждого вида знака.
  Комиссию выплачивает тот, кто создает транзакцию.
  
1. Передача знаков I типа (трансфер) . (можно использовать для ввода/вывода внешних ценностей)
   стандартная транзакция с одного адреса на другой с указанием вида знака и количества.

2. Обмен разных знаков I типа
   Продавец выставляет транзакцию (подписанную) с предложением обмена N1 своих знаков на N2 знаков другого вида.
   Покупатель выставляет встречную транзакцию со ссылкой на выставленную.
   После вхождения в блокчейн балансы меняются.
  
   Также необходима отмена выставленного обмена со стороны покупателя и переопределение сумм.
   
   Возможен один вариант транзакции:
   если в нем нет ссылки на предыдущую транзакцию такого же вида, то это выставление новой транзакции
   если есть ссылка на предыдущую транзакцию такого же вида, то это переопределение
   если есть ссылка на предыдущую транзакцию такого же вида и суммы нулевые,то это отмена.


3. && отложено на следующие версии

4. Эмиссия знаков I типа.
  
   Это, пожалуй, самая сложная часть. Поэтому небольшое введение.
    
   Для того,  чтобы биржа начала функционировать, необходимо ввести в нее учетные знаки,или, другими словами, выполнить эмиссию.
   Здесь получается небольшое логическое противоречие:
   С одной стороны у нас должна быть полностью децентрализованная система.
   С другой стороны, наличие эмиссии влечет за собой наличие эмитента, который начинает играть роль центра.
    
   Один из способов (а может и единственный)избежать противоречия, это дать право любому адресу стать эмитентом.
  
   Но при этом включается такой фактор, как доверие, которое будет совершенно разным у эмитентов.
  
   Отсюда следующий шаг.Мы должны различать эмиссии, выполненные от разных адресов.
   Другими словами, эмиссия долларов от адреса A1 не должны смешиваться с долларами от адреса A2.
   То есть на балансе адреса могут находиться доллары от А1 и доллары от А2.
   Для системы это будут два разных знака.

   Эмиссия подразумевает серьезные обязательства.
   Для того, чтобы эмиссия стала котироваться на бирже, необходимо организовать ввод/вывод на биржу.
   Даже гарантированный обратный обмен здесь намного важнее.
  
   Также клиенты должны быть уверены в обеспеченности эмиссии, что у эмитента есть в наличии средства.
   Немаловажный фактор играет размер эмиссии. Не должно быть слишком мелких эмиссий.

   Исходя из вышеизложенного предлагается такой вариант.

   эмитент выставляет транзакцию на создание эмиссии.
   в ней указывается:
   размер эмиссии
   вид (USD,RUR, BTC,...)  && вид может быть любой, главное чтобы он был понятный для остальных Smiley
   кол-во BTC в качестве обеспечения (не меньше минимальной суммы, например 100BTC)
   адрес BTC (или адреса) на котором должно быть зачислено обеспечение и которое должно там находиться, пока
   эмиссия функционирует на бирже.

   Во избежание ссылок на чужие адреса эмиссия может быть поделена на 2 транзакции.
   На первом этапе на счету обеспечения должно лежать   не менее половины, но и не 100%.
   После подтверждения эмиссии в блокчейне на счет должна быть перечислена ровно оставшаяся сумма.
   Только после этого на балансе эмитента появляются сумма эмиссии.

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

   Размер комиссии по сделкам для эмиссии определяется по формуле:
   размер эмиссии/размер обеспечения  * установленный(стандартный для системы) размер комиссии для BTC.

   Например
   Если установленный(стандартный для системы) размер комиссии будет  равен 0.0001BTC за сделку,  то при эмиссии долларов
   на сумму 50000 и обеспечением 100 BTC  размер комиссии составит 0.05.

* дополнение от 15.03.2014
   фиксированный размер комиссии не будет учитывать рост/уменьшение  стоимости BTC. Поэтому возможен более гибкий вариант, когда размер комиссии пересчитывается с какой-то периодичностью.
  Если например, заложить, что майнеры должны получить где-то 0.1% от объема сделок, то размер комиссии вычислять по формуле
  сумма сделок по всем эмиссиям за период/кол-во сделок за период * 0.001
  Все эмиссии приводятся к единому знаменателю с учетом суммы обеспечения и кол-ва.
************
    
   Возможен перевыпуск эмиссии с увеличением (или уменьшением)  размера эмиссии/размера обеспечения.
  
   Для того, чтобы эмитент имел выгоду ,можно рассмотреть вариант, при котором он получает часть комиссии с каждой сделки.

  
5. Сообщения от одного адреса к другому.
    Зашифрованные сообщения от одного адреса к другому не более определенной длины. Разумеется за комиссию.
    На их основе можно надстроить чаты, доски объявлений.


6.  Подтверждение остатка
    Для удобства можно в каждой транзакции при записи в блокчейн указывать остаток на адресе по текущему знаку с учетом текущей  транзакции.  Скорее всего остаток на счете будет состоять из двух частей- реально остаток и сумма, которая заблокирована для  выполнения выставленных транзакций.
    При таком хранении можно безболезненно сокращать хвост блокчейна.
    Проблема возникает только с остатками, по которым длительное время нет движения.
    Поэтому и нужна транзакция по подтверждению остатка. Выполнение таких транзакций возложить на майнера.
    
    Если например по всем остаткам, по которым не было движения 3 месяца обязательно выполнять такие транзакции, то блокчейн
    можно держать всего длиной 3 месяца.

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


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


******** отложено на следующие версии **********
II тип - внешние ценности , сделки по которым можно программно проверить. ( криптовалюты, может быть платежные системы.)

III тип - внешние ценности, сделки по которым нельзя проверить программно. (фиатные деньги,малоизвестные форки)

Ценности III типа пока под вопросом: Надо ли вообще вводить на биржу сделки со знаками III типа ?

Сделки

3. Обмен знаков I и II типа. (можно использовать для ввода/вывода криптовалют на биржу/с биржи)
   Покупатель криптовалюты выставляет транзакцию на покупку.
   В транзакции указывается вид знака, кол-во , вид криптовалюты, кол-во,  адрес криптовалюты для получения .
   продавец подписывает транзакцию своей подписью.
   после вхождения транзакции в блокчейн  в течение определенного времени  продавец перечисляет
   криптовалюты и добавляет еще одну транзакцию с указанием идентификатора транзакции по переводу криптовалют.
   Транзакция включается в блокчейн после окончания выделенного времени.
   После вхождения в блокчейн балансы меняются.
        
   Соответственно необходима транзакция по отмене выставленного обмена со стороны покупателя или для переопределения сумм.

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

   Добавить возможность выставлять такую транзакцию со стороны продавца.
***  
cryptodev
Member
**
Offline Offline

Activity: 108
Merit: 12


View Profile
March 03, 2014, 12:27:07 PM
 #2

Правильно ли я понимаю, что вы заняты изобретением автоматизированного арбитража, который автоматически и дистанционно сведет между собой покупателя и продавца неких условных сущностей так, чтобы никому не было страшно?
GGUL (OP)
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
March 03, 2014, 01:03:44 PM
 #3

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

Взгляд немножко с другого угла. Smiley

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

cryptodev
Member
**
Offline Offline

Activity: 108
Merit: 12


View Profile
March 03, 2014, 01:05:28 PM
 #4

Ну это и есть в общем-то автоматизированный арбитраж, клиринг и т.п. Smiley
cryptodev
Member
**
Offline Offline

Activity: 108
Merit: 12


View Profile
March 03, 2014, 01:32:25 PM
 #5

Но ведь покупатель и продавец могут предварительно "потрясти" друг у друга перед носом своими условными денежными средствами, а в момент, когда их обоих устроят условия, сделать обычный двунаправленный MultiSig, а "биржа" подтвердит обмен, как только увидит оба обеспечительных платежа на объявленных условиях?
GGUL (OP)
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
March 03, 2014, 01:40:52 PM
 #6

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

А при выставлении предложения покупателем, ему все равно, кто примет его предложение.

Покупатель выставил, продавец принял. Сделка состоялась.

А биржа должна проверить сделку на наличие  средств и зафиксировать сделку.
cryptodev
Member
**
Offline Offline

Activity: 108
Merit: 12


View Profile
March 03, 2014, 01:51:00 PM
 #7

Примерно так, т.к. если это MultiSig, то помимо ключа биржи (или escrow-сервиса) должен быть еще ключ получателя.
GGUL (OP)
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
March 03, 2014, 02:08:32 PM
Last edit: March 03, 2014, 02:27:05 PM by GGUL
 #8

Примерно так, т.к. если это MultiSig, то помимо ключа биржи (или escrow-сервиса) должен быть еще ключ получателя.

Признаюсь честно, не знаю,  что такое MultiSig.  Smiley И не совсем понятно, что такое ключ биржи, если биржа децентрализованная.
Это может быть ключ майнера, который обрабатывает текущий блок?
И наверно, все-таки, не совсем понимаю, что Вы мне пытаетесь объяснить.

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

Нашел что такое MultiSig. Тут MultiSig не нужен. Smiley
cryptodev
Member
**
Offline Offline

Activity: 108
Merit: 12


View Profile
March 03, 2014, 02:45:22 PM
 #9

Т.е. в предложенной схеме нечетные транзакции (с нулевой) - обеспечительные, никому конкретно не адресованные, а четные (с первой) - транзакции для регистрации биржевых сделок, закрывающие транзакции первого типа?
GGUL (OP)
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
March 03, 2014, 02:55:39 PM
 #10

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

Да, можно и так сказать.
Лучше наверно, транзакции по предложению - обеспечительные, никому конкретно не адресованные.
Транзакции по приему предложения - транзакции для регистрации биржевых сделок, закрывающие транзакции по предложению.
Четные и нечетные как-то не очень точно, ведь в такой сделке только 2 транзакции.

В принципе могут быть коллизии - транзакций по приему предложения может быть несколько до включения в блокчейн.
Майнер должен включить только одну.
cryptodev
Member
**
Offline Offline

Activity: 108
Merit: 12


View Profile
March 03, 2014, 03:02:29 PM
 #11

Соответствие курса из транзакции-акцепта курсу из транзакции-оффера проверяет майнер?
GGUL (OP)
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
March 03, 2014, 03:09:25 PM
 #12

Соответствие курса из транзакции-акцепта курсу из транзакции-оффера проверяет майнер?
транзакция-акцепт не может менять суммы из транзакции-оффера.
Правильность транзакции должен проверять майнер. Да и потом все остальные должны проверить и принять этот блок.
cryptodev
Member
**
Offline Offline

Activity: 108
Merit: 12


View Profile
March 03, 2014, 08:32:00 PM
 #13

С механизмом регистрации сделок все более-менее понятно, но он оказывается как-то в отрыве от реальных обязательств.
Вот с ними как будет обстоять? Т.е. когда некто, собираясь менять n BTC, как-то делает из них резерв, он их фактически отправляет куда, одному из эмитентов?
GGUL (OP)
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
March 04, 2014, 08:25:36 AM
 #14

С механизмом регистрации сделок все более-менее понятно, но он оказывается как-то в отрыве от реальных обязательств.
Вот с ними как будет обстоять? Т.е. когда некто, собираясь менять n BTC, как-то делает из них резерв, он их фактически отправляет куда, одному из эмитентов?

Естественно. Когда Вы вводите средства на биржу, Вы же отдаете их.

Вы перечисляете BTC эмитенту N1, взамен получаете на счет учетные знаки BTC1. Меняете их  на другие учетные знаки RUR1.
Выводите учетные знаки RUR1 через эмитента N2. 
В принципе ввод/вывод не обязательно проводить через эмитентов. Другие участники биржи тоже могут этим заниматься.
cryptodev
Member
**
Offline Offline

Activity: 108
Merit: 12


View Profile
March 04, 2014, 09:43:42 AM
 #15

И что же должно меня заставить верить эмитенту N1, что я ему перечислю BTC?
GGUL (OP)
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
March 04, 2014, 09:59:42 AM
Last edit: March 04, 2014, 10:24:09 AM by GGUL
 #16

И что же должно меня заставить верить эмитенту N1, что я ему перечислю BTC?

А что заставляет Вас и других верить mtgox, btc-e, btc-trade,metabank  и т.д. (список длинный), когда перечисляете им свои BTC?

В данном случае, если реализовать это через сделку 3 Вы гарантированно получите на счет сумму от эмитента.

Если по сделкам на бирже Вы видите, что данный Вид эмиссии котируется, то у Вас есть какая-то уверенность, что Вы ничего
не теряете.
cryptodev
Member
**
Offline Offline

Activity: 108
Merit: 12


View Profile
March 04, 2014, 10:07:44 AM
 #17

MtGox уже, пожалуй, ничего не заставляет, а верить остальным заставляет их репутация и собственный опыт использования. Smiley
Уверенность же от видимости биржевых котировок вряд ли прибавится.
GGUL (OP)
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
March 04, 2014, 10:37:58 AM
 #18

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

Так репутация зарабатывается.
Вы видите, что эмитент продает свои знаки и выкупает свои знаки.
Кто-то из знакомых использует эти знаки.
На бирже выставлены ордера на покупку этих знаков.

Да еще у эмитента на всю сумму эмиссии есть обеспечение в виде BTC.
Кстати, это обеспечение может и не принадлежать эмитенту. Может кто-то известный, имеющий доверие в определенных кругах, выступить в качестве гаранта. Или круг лиц. Вариантов много.

И собственный опыт использования можно начинать с малых сумм.
GGUL (OP)
Legendary
*
Offline Offline

Activity: 1468
Merit: 1102


View Profile
March 04, 2014, 11:57:08 AM
 #19

Могу прикинуть на своем примере.

Я не доверяю биржам крупные суммы по нескольким причинам (в порядке убывания значимости для меня):

1. Мой аккаунт могут взломать.
2. Биржу могут взломать.
3. При массовом выводе средств у биржи может не хватить средств.(у меня нет никакой информации).
4. Биржа может исчезнуть с моими средствами.

Из этих причин в моем варианте реализации биржи  остается только 4-я. Не биржа в целом, а конкретный эмитент.
------------

я вводил на биржу btc-e средства через одного человека. Начинал с малых сумм.
Дошел до сумм в несколько 100к рублей за раз.

Если он введет эмиссию на биржу, 100% я буду пользоваться его знаками. Будут ли другие?
Я думаю, не только у меня он пользуется доверием. 

И у него могут возникнуть резоны заниматься этим. Работа та же. Но на бирже btc-e он вынужден
доверять бирже довольно крупные объемы средств. Здесь этот риск практически обнуляется.
cryptodev
Member
**
Offline Offline

Activity: 108
Merit: 12


View Profile
March 04, 2014, 12:09:09 PM
 #20

Т.е. это все - что-то вроде цифровой подписи, по сути, для сделок, которые "...эмитент продает свои знаки и выкупает свои знаки...
Кто-то из знакомых использует эти знаки... На бирже выставлены ордера на покупку этих знаков..."
Никаких гарантий бегства эмитента N n со всеми собранными криптовалютами по-прежнему никаких?
Pages: [1] 2 3 4 5 6 7 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!