Авторская Замораживаем средства

Тема в разделе "Статьи", создана пользователем MoneroRus, 25 янв 2018.

  1. MoneroRus

    Команда форума Модератор Редактор

    Регистрация:
    30 ноя 2017
    Сообщения:
    125
    Симпатии:
    19
    Вы, наверное, встречали в описании некоторых монет, что часть (заранее добытых) монет заблокирована до какого-то времени. Но мало кто знает, что вы тоже можете заморозить часть своих средств. Или отправить их в "будущее" :)

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

    Делается это отправкой транзакции через команду locked_transfer в CLI кошельке. В GUI, Mymonero и Monerujo, похоже, нет такой возможности, во всяком случае, я не смог найти. В CakeWallet не смотрел.

    Код:
       locked_transfer [<ring_size>] <addr> <amount> <lockblocks> [<payment_id>]
    
    [<ring_size>] - количество участников для RTC, по умолчанию 5, необязательный параметр
    <addr> - адрес кошелька, куда отправляем средства
    <amount> - сколько монерок отправить
    <lockblocks> - число блоков, в течении которых(!) средства будут недоступны. Т.е. указываете, не номер блока, после которого средства станут доступны, а через сколько блоков (после текущего) средства станут доступны. Это более удобно для расчетов и понимания. Максимально можно указать 1 000 000 блоков, что равно почти году, при времени нахождения блока около 2 мин.
    [<payment_id>] - собственно payment_id, необязательный параметр

    Причем кошелек за вас пересчитает блоки в дни, покажет номер блока, на котором произойдет разблокировка и спросит перед отправкой: «Все верно или нет?»
    Пример отправки с блокировкой на час:
    Код:
    [wallet 4AQx9M]: locked_transfer 47jubm.... 0.15 30
    Wallet password: ****************************************************************
    No payment id is included with this transaction. Is this okay?  (Y/Yes/N/No): y
    There is currently a 1 block backlog at that fee level. Is this okay?  (Y/Yes/N/No)y
    Sending 0.150000000000.  The transaction fee is 0.002995020000.
    This transaction will unlock on block 1494691, in approximately 0.0416667 days (assuming 2 minutes per block)
    Is this okay?  (Y/Yes/N/No): y
    Transaction successfully submitted, transaction <fe892e99baab6a....>
    You can check its status by using the `show_transfers` command.
    
    Обратите внимание, вот тут, кошелек говорит, на каком блоке и через сколько дней произойдет разблокировка средств и спрашивает ваше подтверждение:
    В GUI кошельке при получении таких средств будет указано через сколько они будут доступны.
    GUI balance.png

    Внимание!
    Если у транзакции будет сдача, то она тоже заблокируется на время транзакции. Есил обставить заблокированным только один из выходов, возможно нарушение конфиденциальности транзакции.
    Как образуется сдача можно почитать тут.
    Чтобы увидеть какая будет заблокирована сумма, в качестве сдачи, необходимо в кошельке установить
    set print-ring-members 1

    Зачем это надо?

    Не знаю, придумайте сами :)

    Можете рассматривать это как сверх надежный сейф, который откроется только по истечению определенного времени, как в приключенческих фильмах: "тайник откроется в день весеннего равноденствия в полночь при полной луне." :)

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

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

    Возможен вариант косвенного обеспечения успешного выполнения сделки. Например, вы заключаете договор: исполнитель должен за месяц, ну, допустим, выкопать яму. Вы друг другу не доверяете. Исполнитель опасается, что он сделает работу, а вы не заплатите, поэтому он настаивает на предоплате. Вы как заказчик опасаетесь, что после предоплаты исполнитель просто испарится и\или переведет\потратит деньги так, что вернуть их обратно будет сложно\невозможно\долго, даже доказав свою правоту (например, в суде). Решение: отправить предоплату, заблокировав ее на месяц. Исполнитель уже получил предоплату и удовлетворен, заказчик знает, что даже если исполнитель испариться, у него есть месяц на разбирательства, а средства за это время никуда не исчезнут.

    Предложите свои варианты в комментариях. :)

    Хотите больше тестов? Кнопочка "Отблагодарить" находится внизу ;).
    Считаете форум полезным, кнопочка "Пожертвовать" ждёт вас вверху :).

    Автор:
    MoneroRus (@MoneroRus)
    Редактирование:
    Mr. Pickles (@v1docq47)
    Коррекция:
    Kukima (@Kukima)
     
    #1 MoneroRus, 25 янв 2018
    Последнее редактирование: 8 фев 2018
    TheFuzzStone нравится это.
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.