Bitcoin Forum
November 12, 2024, 12:08:55 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 »  All
  Print  
Author Topic: Как "заморозить" биткойны?  (Read 11954 times)
Antibit (OP)
Full Member
***
Offline Offline

Activity: 137
Merit: 113



View Profile
October 24, 2014, 11:05:44 AM
Last edit: October 24, 2014, 11:34:45 AM by Antibit
 #1

Допустим, что у меня есть несколько монет и я хочу уберечь их от:

1) Доступа третьих лиц
2) Траты самим собой на определенный период времени (до определенной даты)

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

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

Или, например, хочется сделать подарок в виде 5 монет самому себе на ДР, который будет 05.05.15, но для этого нужно, чтобы эти 5 BTC мне стали доступны не ранее этой даты.

Небходимо решение, которое ограничивало бы доступ самого себя на определенный срок к:

1) Файлу - в нашем случае это может быть файл кошелька
ИЛИ/И
2) Текстовой информации - в нашем случае это может быть private key биткоин-адреса

При этом, крайне нежелательно задействовать третьих лиц и вот такие варианты решения не подойдут:

- Файл кошелька с монетами (вариант: txt-файл с приватным ключом) положить в архив под пароль, архив передать другу на хранение, пароль не сообщать, копию архива у себя удалить. Дать наказ, ранее определенной даты архив не возвращать.
- Перевод WMX WebMoney с протекцией по времени.
- ...

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

У кого-нибудь есть идеи на этот счет?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 24, 2014, 11:22:31 AM
 #2

Вкратце ответ "нет".
Должно быть понятно, почему так.

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

Я употребляю слово "транзакция", но разумеется, это не транзакция в протоколе биткойна, но нечто по своим свойствам очень похожее.

Второй вариант, когда вы сами себя ограничиваете тоже можете не думать.
Есть такая вещь Парадокс всемогущества
Вы не сможете создать такой замок, который не сможете открыть до наступления определеной даты, если у вас есть возможность подкрутить стрелки часов.
Limbo
Jr. Member
*
Offline Offline

Activity: 56
Merit: 10



View Profile
October 24, 2014, 01:44:17 PM
 #3

ТС, напишите программу, которая будет выдавать вам приватный ключ только после наступления строго определенного времени.
Пусть время она определяет, подключившись к тайм-сайтам в интернете, дабы исключить возможность подкрутки часов в системе.
Компилируйте, стирайте исходники, затем на флешку и в укромное место.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 24, 2014, 01:56:02 PM
 #4

Quote
дабы исключить возможность подкрутки часов в системе.
Это затруднит трату до указанного часа (мы не ищем легких путей? стоя, в гамаке и в скафандрах?)
Но не исключит возможности.
Если я могу написать программу, которая определяет время по часам из интернета - я еще быстрее напишу программу, которая первой программе подсовывает подкрученное время.
Limbo
Jr. Member
*
Offline Offline

Activity: 56
Merit: 10



View Profile
October 24, 2014, 02:33:16 PM
 #5

Если я могу написать программу, которая определяет время по часам из интернета - я еще быстрее напишу программу, которая первой программе подсовывает подкрученное время.

Это не проблема. ТС может заложить в свою программу адреса сотни тайм-ресурсов. Привязаться к выдаче гугла с упоминанием этой даты. К ленте.ру, твиттеру, жж. Усложнить алгоритм определения текущей даты как можно сильнее.
К тому времени, когда захочется программу обмануть - он просто не вспомнит, как это сделать.
Здесь принцип запоминания пароля - чем он сложнее, тем быстрее вероятность что ты его вспомнишь стремится к нулю. Wink

Но вы правы, возможность конечно имеется. Стопроцентной защиты от дизассемблинга не существует  Grin
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 24, 2014, 02:43:52 PM
 #6

Quote
Но вы правы, возможность конечно имеется. Стопроцентной защиты от дизассемблинга не существует  Grin

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

Особый цимес будет послать себе письмо на "год вперёд", а через полгода узнать, что почтовая служба дала дубу и письмо не придёт.

ЗЫ. Синхронизацию по времени я сделаю не с помощью дизассемблинга и хакинга существующей программы, а просто подменю сетевой трафик на свой собственный. Мэн-ин-зе-миддл, так сказать.
Limbo
Jr. Member
*
Offline Offline

Activity: 56
Merit: 10



View Profile
October 24, 2014, 02:45:34 PM
 #7

Спасибо, кстати, за статью про Парадокс. Именно там содержится решение вопроса ТС, на мой взгляд:

Всемогущество А значит, что утверждение «А может Б» истинно тогда и только тогда, когда Б — логически последовательное описание конъюнктуры. Это положение было когда-то защищено Фомой Аквинским. Это определение всемогущества решает некоторые из парадоксов, связанных со всемогуществом, но некоторые современные формулировки парадокса все ещё работают против этого определения. Пусть Б это «сделать кое-что, что его создатель не может поднять». В этом действии нет ничего логически противоречащего, человек может, например, сделать лодку, которую он не может поднять.

То есть, раз человек не может сам спрятать от себя приватный ключ до наступления определенного момента, то задача человека сводится к тому, чтобы создать устройство, которое сделает это за него.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 24, 2014, 02:50:35 PM
 #8

Это уже ближе к Закону Шнайера
http://habrahabr.ru/post/239287/

Каждый человек может изобрести систему безопасности, которую он был бы не в силах взломать.
Но если к системе безопасности есть ключ - то как его хранить?
Создавать очередную систему безопасности? Рекурсия.
Melifaro
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
October 24, 2014, 03:44:49 PM
 #9

"Допустим, что у меня есть несколько монет и я хочу уберечь их от:

1) Доступа третьих лиц
2) Траты самим собой на определенный период времени (до определенной даты)"

О, майн Готт...
Мне бы ваши проблемы, господа...

ЗЫ. Знаю совершенно 100% способ, обращайтесь... Wink
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 24, 2014, 03:47:47 PM
 #10

Quote
ЗЫ. Знаю совершенно 100% способ, обращайтесь... Wink

Ээээ!! Ты третье лицо! А он просил без третьих! Я четвертое! Обращайтесь ко мне!
Я даже могу пообещать вернуть ваши битки с процентами! Мамой клянусь!
Melifaro
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
October 24, 2014, 03:56:08 PM
 #11

Вы ошиблись.
Я лицо без номера...  Cool
Pivo
Legendary
*
Offline Offline

Activity: 1876
Merit: 1000



View Profile
October 25, 2014, 01:42:25 AM
 #12

Вы ошиблись.
Я лицо без номера...  Cool

https://ru.wikipedia.org/wiki/%CE%F1%F2%E0%EF_%C1%E5%ED%E4%E5%F0

 Grin
rPman
Legendary
*
Offline Offline

Activity: 1120
Merit: 1069


View Profile WWW
October 25, 2014, 12:28:21 PM
 #13

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

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

Размер скрипта для этих задач - считанные десятки строк.

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

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
Antibit (OP)
Full Member
***
Offline Offline

Activity: 137
Merit: 113



View Profile
October 30, 2014, 06:32:18 PM
 #14

Спасибо всем отписавшимся по теме.
Некоторые из предложенных вариантов были в голове, но до идеального решения ни один из них все равно не дотягивает  Sad

Видимо придется ждать, когда разработчики запустят заложенную в протокол функцию отложенных транзакций lock_time, если это вообще произойдет  Smiley

Тем не менее, рад буду выслушать еще идеи, если таковые имеются.
fruit
Legendary
*
Offline Offline

Activity: 1064
Merit: 1023


habr


View Profile
October 31, 2014, 03:29:01 PM
Last edit: October 31, 2014, 09:16:35 PM by fruit
 #15

Спасибо всем отписавшимся по теме.
Некоторые из предложенных вариантов были в голове, но до идеального решения ни один из них все равно не дотягивает  Sad

Видимо придется ждать, когда разработчики запустят заложенную в протокол функцию отложенных транзакций lock_time, если это вообще произойдет  Smiley

Тем не менее, рад буду выслушать еще идеи, если таковые имеются.

Попробуйте с другой стороны:
Ограничить не самого себя (или не себя) на определенный срок к биткам (как хотите, так и понимайте).
P.S.: Фьючерс?  (вроде есть фьючерсные криптобиржи).


~DefaultTrust (Trust - is fraud.)
Доверие - это разновидность мошенничества.
ligeros
Full Member
***
Offline Offline

Activity: 182
Merit: 100

★Bitin.io★ - Instant Exchange


View Profile
November 04, 2014, 08:32:04 PM
 #16

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

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

Antibit (OP)
Full Member
***
Offline Offline

Activity: 137
Merit: 113



View Profile
November 05, 2014, 02:36:20 PM
 #17

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

Какие, например, блоги позволяют постить в будущее? Из массово используемых.
ligeros
Full Member
***
Offline Offline

Activity: 182
Merit: 100

★Bitin.io★ - Instant Exchange


View Profile
November 05, 2014, 02:46:59 PM
 #18

Какие, например, блоги позволяют постить в будущее? Из массово используемых.

livejournal.com точно позволяет

bee7
Hero Member
*****
Offline Offline

Activity: 574
Merit: 523


View Profile
November 11, 2014, 01:59:54 PM
 #19

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

Главное, не забывать менять батарейку вовремя, что бы часики не останавливались.
Borrris
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
December 05, 2014, 01:18:13 PM
 #20

внутри протокола уже есть script. он позволяет это сделать.
готовьте raw-транзакцию от себя себе со срабатыванием на заданную дату.
Pages: [1] 2 3 4 »  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!