Title: Тех вопрос по биржам Post by: dnnick on February 13, 2018, 07:08:55 AM Дублирую вопрос из "Новичков"
Всем привет! Нужен технический эксперт. Описание ситуации: - предположим мы делаем некоторый сервис, на подобие обменника криптовалюты между различными крипто и фиатными валютами - каждый пользователь регистрируется в Сервисе, где ему создаются необходимое кошельки из тех что мы сбираемся поддерживать, допустим Bitcoin, Eth, Ripple, USD - т.е. у каждого пользователя есть ID его кошелька (Кошелек пользователя) на который он сможет перевести часть своих криптосредств - понятно что Кошелек пользователя принадлежит Системе и Система предоставляет GUI интерфейс для работы с ними - Система предоставляет возможность мгновенно обменять пару по заданному курсу, например Bitcoin на USD или ETH на Ripple Теперь вопрос: - как технически правильно должны проводиться данные операции обмена? - например Пользователь меняет 1 ETH на 800 Ripple: -- Система уменьшает ETH кошелек пользователя на 1 ETH -- Система увеличивает Ripple кошелек пользователя на 800 Ripple -- Пользователь должен иметь возможность сразу вывести 800 Ripple, например на какую-то биржу -- Если проводить транзакции через сеть Eth и Ripple - это займет определенное время, как биржи делают это мгновенно? -- Предполагаю, что так как все кошельки фактически принадлежат системе вероятно фактического, классического перевода через blockchain не происходит, а весь учет на внутренних балансах Системы? Т.е. вопрос по сути о том как устроены биржи, как они работают с балансами, ведут внутренние операции, обеспечивая при этом корректное взаимодействие с blockchain сетью? Заранее спасибо. Title: Re: Тех вопрос по биржам Post by: SilentN on February 13, 2018, 08:39:12 AM Если нужен именно сам код или сервис процесса, то тут к сожалению ничем не могу помочь, думаю более опытные форумчане раскроют этот вопрос куда лучше и правильнее.
Если речь идет о сути, работы системы с внутренним обменом крипты между пользователями при первоначальном вливании средств на саму биржу, тут несколько проще. 1 - при вливании средств на биржу, пользователь получает на счет не физические средства, а своего рода векселя, говорящие о том, что пользователь дал бирже на хранение собственные средства и может по желанию потребовать их обратно. Биржа в свою очередь гарантирует, что каждый такой вексель подкреплен физической валютой, находящейся у нее на хранении и в случае предъявления готова обменять его на валюту, которая присвоена этому векселю. 2 - при обмене внутри системы, происходит обмен, не самой валюты, а векселей ранее полученных от биржи в свое распоряжение. Учет производится автоматизированной системой которая подтверждает наличие необходимой суммы, выставляемой и запрашиваемой на обмен, в случае совпадения система переносит или изменяет данные пользователей и сделка считается завершенной. Таким образом пользователи обмениваются не монетой, а долговыми обязательствами системы, учет которых происходит внутри самой системы, без использования внешних сетей, что позволяет мгновенно увидеть изменения баланса на "кошельке" 3 - после получения в свое распоряжение новых векселей, пользователь считается их полноправным владельцем и в праве потребовать у биржи исполнение долговых обязательств по имеющимся у него в распоряжении векселям. То есть при выводе средств со своего "кошелька" или "счета" внутри системы на внешний кошелек, пользователь предъявляет системе вексель, сообщая о том, что хочет забрать ранее принятые биржей на хранение средства и отправить их в другое место. После проверки обоснованности запроса системой (т.е. проверки "векселя" на подлинность), система дает добро, биржа забирает вексель, и отправляет соответствующую сумму из своего хранилища на указанный пользователем адрес. Возможно где то был не точен или ошибся, но в целом, в системе где средства пользователей находятся на хранении у какого либо сервиса, все происходит примерно так. Title: Re: Тех вопрос по биржам Post by: Vtools on February 13, 2018, 09:55:56 AM - предположим мы делаем некоторый сервис, на подобие обменника криптовалюты между различными крипто и фиатными валютами ... Т.е. вопрос по сути о том как устроены биржи, как они работают с балансами, ведут внутренние операции, обеспечивая при этом корректное взаимодействие с blockchain сетью? Какое-то несоответствие у вас. Делаете обменник, а спрашиваете о бирже. 1. Если делаете обменник, то не нужно создавать кошелек пользователю - у пользователя он должен быть (вы конечно можете помочь создать ему, но тут большой вопрос доверия пользователя вашей системе...) 2. Если делаете биржу: то создаете для него расчетные счета, для каждой валюты свои. Когда пользователь хочет вывести эти средства, то вы в блокчейн создаете транзакцию и выводите на его кошелек (для этого в личном кабинете пользователь должен заранее указать адрес такого кошелька для каждой валюты). Аналогичным образом он вводит криптовалюты (переводит на ваш кошелек, а ввы по адресу источника понимаете от кого пришли средства и кому их соответственно зачислить на расчетный счет). Title: Re: Тех вопрос по биржам Post by: ICO-MANAGER on February 13, 2018, 07:35:33 PM Дублирую вопрос из "Новичков" Всем привет! Нужен технический эксперт. Описание ситуации: - предположим мы делаем некоторый сервис, на подобие обменника криптовалюты между различными крипто и фиатными валютами - каждый пользователь регистрируется в Сервисе, где ему создаются необходимое кошельки из тех что мы сбираемся поддерживать, допустим Bitcoin, Eth, Ripple, USD - т.е. у каждого пользователя есть ID его кошелька (Кошелек пользователя) на который он сможет перевести часть своих криптосредств - понятно что Кошелек пользователя принадлежит Системе и Система предоставляет GUI интерфейс для работы с ними - Система предоставляет возможность мгновенно обменять пару по заданному курсу, например Bitcoin на USD или ETH на Ripple Теперь вопрос: - как технически правильно должны проводиться данные операции обмена? - например Пользователь меняет 1 ETH на 800 Ripple: -- Система уменьшает ETH кошелек пользователя на 1 ETH -- Система увеличивает Ripple кошелек пользователя на 800 Ripple -- Пользователь должен иметь возможность сразу вывести 800 Ripple, например на какую-то биржу -- Если проводить транзакции через сеть Eth и Ripple - это займет определенное время, как биржи делают это мгновенно? -- Предполагаю, что так как все кошельки фактически принадлежат системе вероятно фактического, классического перевода через blockchain не происходит, а весь учет на внутренних балансах Системы? Т.е. вопрос по сути о том как устроены биржи, как они работают с балансами, ведут внутренние операции, обеспечивая при этом корректное взаимодействие с blockchain сетью? Заранее спасибо. Вы выделяете адреса только для приема средств! После поступления средств на адрес закрепленный за пользователем вы заносите информацию о поступлении в бд сайта! И работаете не с балансом кошелька, а с балансом аккаунта на сайте! уточнение: бд- база данных Пример 1: Пользователь купил за фиат 1 ETH у Вас на бирже и обменял на 800 Ripple и вывел: 1) API обменника стучится к вам на сайте и говорит о поступлении нужной суммы (800$) 2) система зачисляет на баланс 1 ETH , не на адрес ETH кошелька пользователя, а на баланс аккаунта в системе(вносит в бд). 3) Пользователь дает сигнал на обмен. 4) Система отнимает баланс в бд ETH у аккаунта и прибавляет Ripple 5) Пользователь вывел рипл 6) Система проверяет кошельки которые имеются в её распоряджении, находит кошелек с балансом. 7) Дает команду на вывод средств, при удачной операции , вычитает 800 Риплов с баланса бд аккаунта. Пример 2: Пользователь вносит депозит в ETH 1) Пользователь берет у Вас на сайте личный адресс кошелька 2) Пополняет его) 3) Система проверяет пополнение, видит зачисление 4) Добавляет зачисленную сумму к балансу аккаунта в бд. Пример 3: Пользователь имеет на счету ETH и хочет вывести в фиат допустим на киви : 1) Заправшивает вывод у системы 2) Система проверяет курс 3) Система отправляет запрос в платежку(мерчант) на вывод 4) ПРоисходит вывод средств и вы вычитаете с баланса пользователя в бд сумму вывода в ETH! Можно предварительно конвертировать все в фиат и иметь баланс пользователя еще в фиат деньгах. И только так! Ни каких переводом между кошельками внутри системы! Все переводы внутри системы это изменения балансов пользователя в бд сайта! Title: Re: Тех вопрос по биржам Post by: dnnick on February 14, 2018, 06:46:34 AM Спасибо за ответы, теперь все складывается.
|