Author

Topic: Mercury - второй слой для Биткоина (Read 208 times)

legendary
Activity: 2464
Merit: 4415
🔐BitcoinMessage.Tools🔑
Tom Trevetha, CTO CommerceBlock анонсировал в своем твиттере, что код MercuryLayer, новой имплементации концепции statechain, полностью дописан и проходит тестирование. Также он добавил, что запущен тестовый сервер, где любой желающий может попробовать новый слой в действии. Гайд как запустить клиент с тестовым биткоином находится здесь: https://github.com/commerceblock/mercurylayer/blob/testnet_guide/docs/testnet_guide.md Если вкраце, то для запуска клиента понадобится сервер Tor, запущенный локально, или обычный Tor браузер, также нужно установить Rust для компиляции и запуска программы.
legendary
Activity: 1974
Merit: 3049
А MercuryWallet-то, оказывается, больше не работает! После трёх лет работы они пришли к выводу, что этот бизнес бесперспективен.

Мне все придумки, как к биткойну привязать альткойн так, чтобы имитировать, что это по-прежнему биткойн, кажутся слабыми. Для меня все альткойны по своей сути вполне себе второй слой биткойна, и если мне надо перегнать по ходу событий где-то что-то раньше собачками, теперь лайткойном, троном или той же соляной, я не вижу каких-то с этим проблем. И я знаю, что эти монетки каждая с собственными рисками, с собственным блокчейном и прочим, у меня нет ложного ощущения большей надёжности авторитета биткойна. Я бы предположил, что для тех, кто очень сильно именно биткойн-ориентирован, тоже подобные костыли недостаточно биткойн. И тогда кому остаётся интересными подобные странные решения? Сложные, неоднозначные...
legendary
Activity: 1610
Merit: 2026
А MercuryWallet-то, оказывается, больше не работает! После трёх лет работы они пришли к выводу, что этот бизнес бесперспективен.

Часть разработчиков продолжают какое-то развитие проекта, но работающего софта, которым можно было бы пользоваться ан практике, сейчас вроде бы нет. Возможно, в будущем появится что-то новое (например, как часть какого-то более универсального проекта). Следить за развитием можно на сайте https://mercurylayer.com/
legendary
Activity: 1610
Merit: 2026
мы говорим тут о кратковременном переходе в другую валюту с одной лишь целью - совершить транзакцию. Так как в множестве криптовалют транзакции происходят очень быстро, за считанные секунды, то риск потери актива в цене - минимальный. Не вижу тут особых проблем с надежностью, для меня даже вопрос не стоит в данной ситуации таким образом, чтобы сравнивать криптовалюты по такому критерию. Просто использовали более быстрый и дешевый путь для транзакции, а потом снова перевели в биткоин и храним дальше.
Для такого кратковременного перехода понадобится несколько транзакций:
- транзакция отправки биткоинов для перехода в другую криптовалюту (то есть для обмена на другую криптовалюту),
-транзакция получения другой криптовалюты в обмен на отданные биткоины,
- транзакция отправки другой криптовалюты получателю,
- а если получатель планирует перевести полученное в Биткоин и хранить дальше, то ему тоже нужно совершить транзакцию в другой коиптовалюте для её обмена на биткоины, и, кроме того, потребуется транзакция в Биткоине, в которой он получит биткоины от того, с кем поменялся.
Итого в одном только блокчейне Биткоина потребуются две транзакции вместо одной.

Смысл перехода есть тогда, когда между двумя транзакциями, попадающими в блокчейн Биткоина, будет проведено множество транзакций вне блокчейна. И на протяжении всего времени между этими транзакциями Mercury продолжает вести учёт активов всех участников транзакций в биткоинах, а не в других единицах, как это происходит при использовании других криптовалют.

hero member
Activity: 504
Merit: 816
Top Crypto Casino
Видимо, биткоин всё-таки надёжнее.   

Для долгосрочного хранения биткоин, несомненно, надежнее и имеет более устойчивую тенденцию к росту. Но мы говорим тут о кратковременном переходе в другую валюту с одной лишь целью - совершить транзакцию. Так как в множестве криптовалют транзакции происходят очень быстро, за считанные секунды, то риск потери актива в цене - минимальный. Не вижу тут особых проблем с надежностью, для меня даже вопрос не стоит в данной ситуации таким образом, чтобы сравнивать криптовалюты по такому критерию. Просто использовали более быстрый и дешевый путь для транзакции, а потом снова перевели в биткоин и храним дальше.
legendary
Activity: 1610
Merit: 2026
А разве нельзя воспользоваться альтернативами в виде других криптовалют?
Да, конечно, это тоже вариант. И тоже со своими минусами. Например, минус в том, что на длинной дистанции все другие криптовалюты дешевеют (по отношению к биткоину). В этом смысле перевод своих сбережений в другую криптовалюту для меня мало чем отличается от перевода в фиатные деньги: слишком велика вероятность потерь. Mercury, Молния, Ark и всякого рода сайдчейны хотя бы не подразумевают отказа от той учётной единицы, устойчивость которой уже проверена временем.

Хотя я тут смотрю, что творят люди в Эфириуме ( https://tlsnotary.org/ , https://zkp2p.xyz/ , https://emailwallet.org/ ), и это настолько крышесносно, что спрос на эфир, небходимый для использования всех этих проектов, по-любому будет расти, а значит, именно эта конкретная криптовалюта имеет шансы не дешеветь, а может быть, даже и дорожать. С другой стороны, у Эфириума много подражателей, и, вероятно, аналогичные проекты рано или поздно возникнут и на базе других криптовалют, что опять размоет ценность каждой из них в отдельности.

Видимо, биткоин всё-таки надёжнее.   
hero member
Activity: 504
Merit: 816
Top Crypto Casino
Проблема заключается не столько в самих комиссиях,сколько в том,что место в блоках ограничено.Уже сейчас его не хватает на всех желающих. Люди вынуждены отказываться от совершения транзакций. А отказываться от транзакций - значит отказываться от возможности распорядиться своими деньгами.

А разве нельзя воспользоваться альтернативами в виде других криптовалют? Не обязательно совершать транзакции в биткоине. И даже не обязательно искать какие-то новые пути, такие, как Mercury, чтобы совершать транзакции. Мне кажется, что Ваше утверждение в данном случае несколько категоричное. Все таки способы распоряжаться своими деньгами не ограничиваются транзакциями именно биткоина.
legendary
Activity: 1610
Merit: 2026
Кто-нибудь может объяснить как работает эта отложенная транзакция? Сначала транзакция создается для Алисы и в ней выставляется к примеру блок 1000000, то есть время не раньше которого транзакция не может быть потрачена. Эта транзакция является невалидной или почему она не может попасть в блок сразу?
Чёткое объяснение я нашёл в русском издании «Осваиваем биткоин» А. Антонопулоса (Москва: ДМК Пресс, 2018) на с. 190-191. Если в двух словах, то задействуется параметр CHECKLOCKTIMEVERIFY языка Bitcoin Script, проверяющий в транзакции поле nLocktime. По словам Антонопулоса, если транзакция транслируется в сеть раньше времени, определённого этим полем, то каждый узел, получивший её, должен отвергнуть её как недействительную и не передавать на другие узлы.

Как узнать, что Bob или Carol - это последнее звено в цепочке и именно они должны получить конечные средства?
Сервер Mercury узнаёт об этом так. В момент передачи стейткоина отправитель посылает на сервер уведомление о том, что больше не является держателем этого стейткоина, поскольку теперь им является получатель. Если Вася не сообщал серверу о том, что он больше не держатель, - следовательно, на данный момент он и является последним звеном, имеющим право на погашение (вывод) стейткоина.

Если же сервер не работает или отказывается сотрудничать, то Вася дожидается, когда наступает время, определённое в поле nLocktime его транзакции вывода, которая была подписана и им, и сервером в момент получения Васей стейткоина от Боба, и транслирует эту транзакцию в сеть. Упустил момент - через сто блоков аналогичная транзакция Боба тоже станет действительной с точки зрения консенсуса Биткоина, и тогда Боб тоже сможет вывести эту монету. Тут уж кто окажется шустрее. А если и Боб прощёлкает, то ещё через сто блоков действительной станет и транзакция вывода, имеющаяся у Алисы.

И еще вопрос, стоит ли комиссия в 10-20$ того, чтобы рисковать своими средствами, передавая часть ключа стороннему серверу?
Проблема заключается не столько в самих комиссиях,сколько в том,что место в блоках ограничено.Уже сейчас его не хватает на всех желающих. Люди вынуждены отказываться от совершения транзакций. А отказываться от транзакций - значит отказываться от возможности распорядиться своими деньгами.

Mercury - одно из решений этой проблемы. С его помощью можно провести несколько десятков транзакций, из которых место в блоке понадобится только для двух: транзакции ввода и транзакции вывода.
legendary
Activity: 2464
Merit: 4415
🔐BitcoinMessage.Tools🔑
Кто-нибудь может объяснить как работает эта отложенная транзакция? Сначала транзакция создается для Алисы и в ней выставляется к примеру блок 1000000, то есть время не раньше которого транзакция не может быть потрачена. Эта транзакция является невалидной или почему она не может попасть в блок сразу? Потому что если она попадет туда случайно, то вся схема сломается и придется ждать своих денег не один месяц. Ну если она не может попасть по какой-то причине, то в какой момент она становится валидной? Как узнать, что Bob или Carol - это последнее звено в цепочке и именно они должны получить конечные средства? И еще вопрос, стоит ли комиссия в 10-20$ того, чтобы рисковать своими средствами, передавая часть ключа стороннему серверу?
legendary
Activity: 2338
Merit: 1775
Catalog Websites
Сама идея хорошая. Причём я подозреваю, что на практике так достаточно часто делается, не транзакция осуществляется, а весь кошелёк передаётся вместе с ключами.

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

Это обеспечит добропорядочность обоих участников сделки по передаче приватных ключей и оплаты их получения.

Потому что, если кто-то из них совершит кидок, его залог так и останется замороженным в трасте. А добропорядочный участник сделки, после того, как докажет свою добропорядочность и правоту, получит замороженные средства своего недобропорядочного контрагента в качестве компенсации потерь.
legendary
Activity: 1610
Merit: 2026
Что касается сохранности - да, я могу себе представить, что владельцы сервера сговорятся с кем-то из бывших держателей моего стейткоина и совместно подпишут транзакцию, выводящую обеспечение этого стейткоина куда угодно, только не на мой адрес. Не знаю, есть ли защита от этого. Думаю, что что-то должно быть. Надо будет почитать повнимательнее. Найду - расскажу.
Нашёл, рассказываю. При передаче стейткоина новому держателю часть ключей, хранившихся у старого держателя, удаляется. За это отвечает блок с открытым исходным кодом. Вот он: https://github.com/commerceblock/lockbox

С одной стороны, каждый может ознакомиться с исходниками и убедиться, что после передачи ключей Бобу у Алисы не остаётся своей копии ключей, а значит, сервер не может сговориться с ней и вывести монету, служащую обеспечением стейткоина.
С другой стороны, у нас нет доступа к админке сервера, и мы не можем проверить, что на нём запущен именно этот код.

В итоге получается, что это решение и кастодиальным не назовёшь (ведь если всё честно, то ни у кого нет всех ключей от обеспечения, а у держателя стейткоина всегда есть готовая подписанная транзакция его вывода), но и self-custody здесь отсутствует (ведь нам приходится доверять тому, что владельцы сервера запустили на нём именно тот код, который размещён на Гитхабе).
legendary
Activity: 1610
Merit: 2026
А в чем заинтересованность такого стороннего актора заниматься такой деятельностью? Если внутри самого Mercury комисси не платятся, то за счет чего вообще Mercury существует?

Также не совсем понятно, каким образом устанавливается срок, по истечению которого биткоины переводятся на личный адрес владельца. А если через 2 месяца (1 месяц и 29, 1 месяц и 28 дней, неважно) комисси в биткоин сети будут еще выше, чем сейчас? Я мало того, что заплачу больше, так еще и не сразу получу свои биткоины, потому что буду вынуждена ждать. Может я чего-то не поняла, но мне кажется, что огромным непродуманным минусом.
Мне пока известна лишь одна практическая имплементация этой технологии: кошелёк Mercury Wallet. Он берёт комиссию 0,5% за вывод биткоинов на первый слой. То есть в каждую транзакцию вывода на личный адрес владельца автоматически добавляется второй выход: 0,5% на адрес разработчиков кошелька. Из-за этого стейткоины с истекающим сроком действия становятся «горячей картошкой» в ещё большей степени.

Что касается комиссии в блокчейне - да, никто не знает, какой она будет через несколько месяцев. Может быть, пул будет настолько загружен, что комиссия за транзакцию вывода, назначенная при создании стейткоина, окажется ниже порога отсечения и вообще не попадёт в сеть. Я даже не знаю, что делать в таком случае. Полагаю, что помочь может развёртывание собственного узла Биткоина со своим мемпулом, помещение этой транзакции в свой мемпул и добавление ещё одной транзакции по принципу CPFP, которая протащит за собой изначальную. Если кто-то знает, сработает ли такая схема, - напишите, пожалуйста, об этом.

Срок действия стейткоина в Mercury Wallet по умолчанию установлен на 90 дней. Судя по документации, его можно менять.

Второй минус: если Mercury централизован, то сохранность монет начинает зависеть от централизованного сервиса. Если децентрализован, то это второй контур рисков из-за ошибок в коде. Все хранящиеся с его помощью частички приватника могут быть утрачены, и тогда получить к ним доступ станет не сильно проще, чем к любому случайному адресу. ИМХО разновидность случая «не твои ключи — не твои биткойны». Или я чего недопонял?
Децентрализованных серверов Mercury, похоже, нет. Что касается сохранности - да, я могу себе представить, что владельцы сервера сговорятся с кем-то из бывших держателей моего стейткоина и совместно подпишут транзакцию, выводящую обеспечение этого стейткоина куда угодно, только не на мой адрес. Не знаю, есть ли защита от этого. Думаю, что что-то должно быть. Надо будет почитать повнимательнее. Найду - расскажу.
hero member
Activity: 504
Merit: 816
Top Crypto Casino
Чтобы это работало, нужен сторонний актор, следящий за тем, чтобы отправитель ключа сам впоследствии не воспользовался этим ключом.

А в чем заинтересованность такого стороннего актора заниматься такой деятельностью? Если внутри самого Mercury комисси не платятся, то за счет чего вообще Mercury существует?

Также не совсем понятно, каким образом устанавливается срок, по истечению которого биткоины переводятся на личный адрес владельца. А если через 2 месяца (1 месяц и 29, 1 месяц и 28 дней, неважно) комисси в биткоин сети будут еще выше, чем сейчас? Я мало того, что заплачу больше, так еще и не сразу получу свои биткоины, потому что буду вынуждена ждать. Может я чего-то не поняла, но мне кажется, что огромным непродуманным минусом.
legendary
Activity: 1974
Merit: 3049
По-моему, в этом есть один минус.

Второй минус: если Mercury централизован, то сохранность монет начинает зависеть от централизованного сервиса. Если децентрализован, то это второй контур рисков из-за ошибок в коде. Все хранящиеся с его помощью частички приватника могут быть утрачены, и тогда получить к ним доступ станет не сильно проще, чем к любому случайному адресу. ИМХО разновидность случая «не твои ключи — не твои биткойны». Или я чего недопонял?
legendary
Activity: 1610
Merit: 2026
Из-за высоких комиссий в блокчейне вопрос альтернатив становится всё более актуальным. Поэтому я хочу рассказать о решении под названием Mercury: https://github.com/commerceblock/mercury

Идея такая. Для избежания комиссий мы передаём друг другу не сами монеты, а ключи от них. Чтобы это работало, нужен сторонний актор, следящий за тем, чтобы отправитель ключа сам впоследствии не воспользовался этим ключом. Таким актором является сервер Mercury. Но он не может ни забрать чьи-либо биткоины, ни запретить распоряжаться ими.

Реализовано это следующим образом.

1. Внутри Mercury циркулируют только монеты определённых номиналов. Например, таких: 0.001 BTC, 0.01 BTC, 0.05 BTC, 0.1 BTC, 0.5 BTC, 1 BTC. Эти монеты называются стейткоинами (statecoins).

2. Когда Алиса вносит 0.001 BTC в свой кошелёк Mercury, они поступают на адрес Mercury, часть ключей от которого есть у Алисы, а часть - у сервера Mercury. Одновременно с внесением этой суммы создаётся транзакция на основном слое Биткоина, которая переводит эту сумму обратно Алисе. Транзакция является отложенной. Её скрипт написан таким образом, что транзакция станет валидной только по прошествии указанного в ней времени (например, через два месяца). Таким образом, даже если сервер выключат, Алиса может быть уверена, что через два месяца она получит свои биткоины обратно на её личный адрес в блокчейне.

3. Когда Алиса отправляет этот стейткоин Бобу внутри Mercury, фактически она отправляет Бобу свою часть приватных ключей и сообщает серверу, что в дальнейшем ему следует принимать эти ключи только от Боба, а не от неё. Одновременно Алиса подписывает на первом слое транзакцию, отправляющую внесённые ею 0.001 BTC с адреса Mercury на адрес Боба, и сервер со своей стороны тоже подписывает её. Транзакция является отложенной, но срок у неё чуть меньше, чем у транзакции, отправляющей эти биткоины на адрес Алисы (например, 1 месяц и 29 дней). Таким образом, транзакция, отправляющая биткоины Алисе, становится невалидной.

4. Когда Боб передаёт стейткоин Васе, происходит всё то же самое. На первом слое создаётся транзакция, которая станет валидной через 1 месяц и 28 дней с момента внесения Алисой биткоинов на адрес Mercury. До тех пор, пока эти транзакции не попали в блок, платить комиссии за них не надо. Комиссию придётся заплатить один раз, когда срок наступит. И заплатит её тот, у кого на этот момент окажется стейткоин.



По-моему, в этом есть один минус. Стейткоины с бОльшим сроком хранения объективно оказываются более ценными, чем стейткоины с меньшим сроком.

Тем не менее, Mercury вполне годится как способ избежать лишних комиссий за переводы. Вот только эти стейткоины вообще нигде не принимаются, несмотря на то, что Mercury существует уже около трёх лет. Или, может быть, кто-нибудь видел сервисы, принимающие такой способ платежа?
Jump to: