Author

Topic: Как сделать криптозавещание ? (Read 17348 times)

legendary
Activity: 2534
Merit: 1510
Умно! Но что если владельца тупо похитят и закроют в ШИЗО, года на 3?
Или налетят уёбищные пидорашки, дегенератские, и расхуячат дома,
как в Мариуполе: https://twitter.com/BenDoBrown/status/1516309704934412289?s=20&t=3EA088u2d8_UFpoeEIbIcA
и пострадает установка, отправляющая сигналы, которые означают что чел жив?
Чел как-бы будет жив, но его бабалу - пизда.
В данном случае отсылка сигнала идет путем подписывания сообщения Метамаск, поэтому важна лишь seed-фраза и доступ к аккаунту.
Насчет длительного похищения, то все варианты не предусмотреть, мир тоже не идеален, а вот сделать наиболее безопасно и надежно надо пытаться.


И ещё ничё, что сумма залоченная на смарт-контракте - она палится по блохчейну?
Если потомки узнают, что там не лям, а лярд, скажем, зелени, они же могут сами грохнуть нахуй за этот лярд.
Ну или подментованные крысы, могут замутить хуйню всякую, за парочку косарей, тупо чтобы отжать бабло,
и спиздить последнее, и вложить в патроны, взрывчатку - для террористов бородатых, вылезших, дон, из гор,
ну прям так как делает вон тот нищий тракторист, галстучке, из WavesPlatform.
Лучше не палить баланс, всяким пробивонам. Даже на форуме. Даже на дваче.
Хороший вопрос. Который думаю тоже решиться со временем путем создания разного рода анонимных пулов, где нельзя ничего отследить.
Более того, вроде сейчас есть примерно такая возможность анонимного хранения денег в Tornado Cash. Смысл в том, что там при внесении денег выдается приватный ключь, который и нужен чтобы их снять. Все деньги в одном хранилище и непонятно у кого сколько.
Таким образом надо тогда сделать так.

Загнать суммы разбитые по 12 частям: 1-11 части по 5% от всей суммы, последняя 12 составляет 65%.

И тогда уже так. Прошел год, потом ещё 1 месяц, появляется доступ к 1 части суммы и так каждый месяц по сумме. Но учитывая, что мы анонимизировали саму сумму и её количество, то лучше использовать не равные части в каждом месяце, как у нас по 5%, а случайно сгенерированные, но чтобы последняя часть всегда давала своему хозяину возможность сохранить 60%-65% от всей суммы в последний месяц.


То есть в окончательном варианте у нас будет так:

Сразу создаем 12 часть и закладываем туда 60% от всех денег и отправляем в Tornado Cash.

После этого нам надо создать ещё 11 частей и случайным образом постараться сгенерировать распределение оставшихся 40%.
Примерный вариант: 1%, 5%, 2%, 4%, 5%, 2%, 3%, 2%, 9%, 4%, 3%.
full member
Activity: 1589
Merit: 214
Умно! Но что если владельца тупо похитят и закроют в ШИЗО, года на 3?
Или налетят уёбищные пидорашки, дегенератские, и расхуячат дома,
как в Мариуполе: https://twitter.com/BenDoBrown/status/1516309704934412289?s=20&t=3EA088u2d8_UFpoeEIbIcA
и пострадает установка, отправляющая сигналы, которые означают что чел жив?
Чел как-бы будет жив, но его бабалу - пизда.

И ещё ничё, что сумма залоченная на смарт-контракте - она палится по блохчейну?
Если потомки узнают, что там не лям, а лярд, скажем, зелени, они же могут сами грохнуть нахуй за этот лярд.
Ну или подментованные крысы, могут замутить хуйню всякую, за парочку косарей, тупо чтобы отжать бабло,
и спиздить последнее, и вложить в патроны, взрывчатку - для террористов бородатых, вылезших, дон, из гор,
ну прям так как делает вон тот нищий тракторист, в галстучке, из WavesPlatform.
Лучше не палить баланс, всяким пробивонам. Даже на форуме. Даже на дваче.
legendary
Activity: 2534
Merit: 1510
Господа Вы немного неправильно подходите к событию. Вы ориентируетесь в первую очередь на техническую сторону в то же время, упуская, скажем так оценочно вероятностную.

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

А последствия здесь следующие:

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

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

А потому упор надо делать на постепенное перетекание капитала.

Условно. У нас есть смарт-контракт в котором забиты следующие адреса:

- адрес завещателя
- адрес наследника_1
- адрес наследника_2
...
- - адрес наследника_N

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

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

В итоге имеем схему доступа к завещанию по месяцам, скажем наследуется 1 000 000:
В 1-й месяц доступно для наследников 50 000(5%)
В 2-й месяц доступно для наследников 50 000(5%)
В 3-й месяц доступно для наследников 50 000(5%)
...
В 11-й месяц доступно для наследников 50 000(5%)
В 12-й месяц доступно для наследников 650 000(65%)

Таким образом данная схема рассчитана на получения наследства по времени на 2 года, где первый год, это ожидание вести, что человек не умер и второй год, это постепенное получение наследство причем даже если человек объявиться, то у него ещё останется 65% его средств к последнему месяцу.
full member
Activity: 1589
Merit: 214
Ну примерно такую идею и мусолят в этой и подобных темах.
Типа даже в блокчейне битка можно такое сделать: херачишь таймлок (на год для наследников и 10 месяцев для себя) транзакцию с мультиподписью, подписи раздаешь наследникам. Когда 10 месяцев прошло, если ты еще живой и в уме, то переподписываешь тразу еще на год и т.д. пока не сдохнешь.
В битке херово, что все будут видеть - сколько ты морозишь бабла. Но можно обойти это если в транзакции морозить не бабло, а зашифрованный приватный ключ к другому адресу, где и лежит бабло, но про который знает только тот, кто умеет расшифровать приватник.
Короче тут целый надчейновый протокол надо делать.  Grin
Та бля, как всё сложно. Таймлоки, мультиподписи.
Можно отправить сразу транзу на адреса потомков, и приватник к транзе, указать в 80-ти байтах, в OP_RETURN.
Приватник - это 32-байтный hex, а значит его можно поксорить (шифрование)
какой-нить хэш (ключ), зашифровав тем самым.
Расшифровка потомками - просто обратным XOR, по известному им этому вот ключу.

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

Чтоб не ибаццо с OP_RETURN, можно просто 2 транзы отправить на 2 разных фейко-адреса (по 20 байт каждый), разрезав заксоренный приватник на 2 части.
Адрес же свой - дать потомкам заранее, чтобы они уже после смерти глянули транзы по нему, в блохчейне, и выколупали инфу с адресов.

Или вот взять блокчейн KevaCoin'a - указываешь потомкам NameSpace свой,
и когда надо будет - добавляется запись ключ-значение,
а в значении указываешь что угодно, либо текст, либо шифр - например завещание зашифрованное и подписанное PGP.

Кошель с приватником можно хранить на какой-нить Raspberry Pi, за 5 баксов,
и скрипт небольшой там написать, замкнув через инет, всю хуйню - на датчик сердцебиения, и ебись оно конём.
copper member
Activity: 1540
Merit: 487
Stop the war!


Ты говоришь, надо придумать что-то без посредников, и надежное, что не требовало бы доверия...
Хм... А что если просто использовать блокчейн какого-нибудь кефира, и смарт-контракт,
который выдавал бы куда-то, инфу, при отсутствии сигнала в течении некоего времени, скажем, в течении месяца.
Вот нет сигнала, в течении месяца, значит - сердце остановилось, или хату разъебали,
или комп/хуйфон сломался, в общем - что-то пошло по пизде, и короче, можно считать, что владелец сдох.
Поэтому, инфа после этого - взала и выскочила, по смарт-контракту - его потомкам...
Но я не знаю как такую хуйню запилить, просто оставлю это здесь, как идею.


Ну примерно такую идею и мусолят в этой и подобных темах.
Типа даже в блокчейне битка можно такое сделать: херачишь таймлок (на год для наследников и 10 месяцев для себя) транзакцию с мультиподписью, подписи раздаешь наследникам. Когда 10 месяцев прошло, если ты еще живой и в уме, то переподписываешь тразу еще на год и т.д. пока не сдохнешь.
В битке херово, что все будут видеть - сколько ты морозишь бабла. Но можно обойти это если в транзакции морозить не бабло, а зашифрованный приватный ключ к другому адресу, где и лежит бабло, но про который знает только тот, кто умеет расшифровать приватник.
Короче тут целый надчейновый протокол надо делать.  Grin
full member
Activity: 1589
Merit: 214
Смысл в том, чтобы избежать посредников: банковские ячейки, нотариусы и т.д. Найти надежный способ, не требующий доверия, который невозможно отменить каким-либо образом (санкции, экзитскам и т.д).
Ну, из вышеописанного, очевидно, что хранить завещание следовало бы в секрете,
а иначе, если потомки будут знать о наличии завещания,
то нет гарантии того, что сами потомки не грохнут нахуй,
чтобы поскорей получить доступ к завещанию.
Поэтому, банковская ячейка необходима, как-бы.
В частности её свойство - переход права собственности на неё, наследованием по закону.

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

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

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

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

Где гарантия, что актив БУДЕТ обмениваться?
Где гарантия, что стены на закуп БУДУТ стоять, и что их не уберут по флеш-мобу?
Где гарантия, что объёмы у стен на закуп будут пиздатые, а не эти вот издевательские лесенки мочерских хуесосов?

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

В общем, всё это говно, надо чистить вилкой, и отсекать бритвой оккама.

Ты говоришь, надо придумать что-то без посредников, и надежное, что не требовало бы доверия...
Хм... А что если просто использовать блокчейн какого-нибудь кефира, и смарт-контракт,
который выдавал бы куда-то, инфу, при отсутствии сигнала в течении некоего времени, скажем, в течении месяца.
Вот нет сигнала, в течении месяца, значит - сердце остановилось, или хату разъебали,
или комп/хуйфон сломался, в общем - что-то пошло по пизде, и короче, можно считать, что владелец сдох.
Поэтому, инфа после этого - взала и выскочила, по смарт-контракту - его потомкам...
Но я не знаю как такую хуйню запилить, просто оставлю это здесь, как идею.

UPD:
Добавлю, что этим сигналом, может быть сигнал с датчика сердцебиения, скажем.
Мол, если сигнала нет, значит челу пиздос -> завещание потомкам.
Ну и также, вместо завещания, может выдаваться какая угодно инфа, например слив компромата, запуск ракет в ебало хуйлу, и т. д.
copper member
Activity: 1540
Merit: 487
Stop the war!
Смысл в том, чтобы избежать посредников: банковские ячейки, нотариусы и т.д. Найти надежный способ, не требующий доверия, который невозможно отменить каким-либо образом (санкции, экзитскам и т.д).
full member
Activity: 1589
Merit: 214
Если так удуматься, то что такое есть - завещание?
Передача права собственности, которая имеет подпись владельца, верно?
Либо, если точнее - передача доступа к собственности, ну или доступа к активам каким-то.
Завещание - это ценная бумага. Она хранится, как актив - в банковской ячейке владельца, например.
Чтобы владельца не грохнули нахуй, за это завещание ебучее,
эта бумага - его собственность, и желательно, держать её в секрете.
Когда владелец умирает, право на банковскую ячейку - наследуется по закону,
и там, короче - завещание лежит, и дальше уже завещанные активы наследуются, и наследуются по закону.
Там подпись нотариуса, значит, в завещании этом, и короче претензий к праву собственности, на завещанное имущество, ни у кого нема.

Если упростить всё это, то, по-сути, завещание, это некая инфа, дающая доступ к активам, и имеющая подпись владельца.
И чтобы реализовать это, в электронном виде, я думаю, можно использовать PGP (исходный код - здесь).

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

1. Генерируем два ключа RSA - приватный, и публичный.
2. Пишем приватник от адреса с криптой (пароль, пин-код, и т. п.)
3. С помощью PGP - подписываем эти данные с помощью приватного ключа RSA, и сохраняем результат - в секрете.
4. Отдаём публичный ключ потомкам, чтобы они могли проверить подпись.
5. Подписанный текст кладём в банковскую ячейку, которая будет наследована потомками - после смерти.
6. После смерти, потомки, по закону, получают доступ к банковской ячейке, и находят там подписанное завещание, проверяют подпись и получают приватник от адреса, или пин-коды всякие, пароли, короче - доступ к криптоговну (карте, счету в банках и платежных системах, и т. д.).
7. Важно понять, что подпись - это просто подпись, она не шифрует данные. И чтобы какое-то хуйло не спиздило сами данные, их следовало бы зашифровать. Тогда, потомки, могут сгенерить тоже пару ключей, ну и собственно операция Sign(+Encrypt) может быть применена, на принципах асимметричного шифрования. Потомки же, тогда, сделают Decrypt(+Verify), чтобы и расшифровать, и проверить подпись владельца.
8. К полученному шифротексту, можно также применить цифровую подпись нотариуса в том числе.

Ну вот, собственно и всё, вроде. Но это не точно.
full member
Activity: 1589
Merit: 214
Сохранять данные, можно уже сейчас, в блокчейне биткоина, и любой другой монеты,
просто разрезая их по 20 байт, формируя из 20-ти байтных фрагментов адреса,
и сжигая сатоши, отправкой на эти адреса.
Читать данные, можно последовательно, исходя из истории транзакций, парся адреса и декодируя их и инфу,
а затем склеивая фрагменты по 20 байт, и восстанавливая инфу из них.
Не понял, что вы собираетесь сохранять, но для сохранения данных в блокчейне биткоина проще использовать OP_RETURN. Таким образом можно сохранить до 80 байт в одной транзакции.

для сохранения данных в блокчейне биткоина проще использовать OP_RETURN. Таким образом можно сохранить до 80 байт в одной транзакции.
Можно сохранять гораздо больше 80 байт. Есть готовые библиотеки уже давно

Нарыл Kevacoin, с открытым исходным кодом
позволяет сохранять больше 80-ти байт,
и даже вести блоги на блокчейне: https://kevacoin-project.github.io/keva_ws/

Потыкайте код.
copper member
Activity: 1540
Merit: 487
Stop the war!
для сохранения данных в блокчейне биткоина проще использовать OP_RETURN. Таким образом можно сохранить до 80 байт в одной транзакции.
Можно сохранять гораздо больше 80 байт. Есть готовые библиотеки уже давно
legendary
Activity: 1806
Merit: 1940
Crypto Swap Exchange
Сохранять данные, можно уже сейчас, в блокчейне биткоина, и любой другой монеты,
просто разрезая их по 20 байт, формируя из 20-ти байтных фрагментов адреса,
и сжигая сатоши, отправкой на эти адреса.
Читать данные, можно последовательно, исходя из истории транзакций, парся адреса и декодируя их и инфу,
а затем склеивая фрагменты по 20 байт, и восстанавливая инфу из них.
Не понял, что вы собираетесь сохранять, но для сохранения данных в блокчейне биткоина проще использовать OP_RETURN. Таким образом можно сохранить до 80 байт в одной транзакции.
full member
Activity: 1589
Merit: 214
Очень актуальная тема, для Украины.
Как мы все знаем, на Мариуполь, тупо напали пидорахи.
Пару часов назад, эти конченные, с дрона, кинули бомбу с химическим оружием,
по международным наблюдателем ОБСЕ, на предприятии Азовсталь.

До этого, обезумевшие хуйлопитеки, тупо разбомбили танками и ракетами жилые кварталы мирных людей, их дома.





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

А ведь кто-то всю жизнь работал, чтобы купить там квартиру. И за раз, потерял и квартиру, и жизнь.
Кто-то успел уехать. Но вернуться в свой дом уже не сможет. Дома тупо нет.
А как доказать, например, что это был твой дом, если пидорахи всё подчистили уже,
разъебали компы с базой данных, сожгли всю документацию и убили всех соседей и всех свидетелей?

Итак, задача:
Заранее, описать имущество, оценить его, и сделать крипто-завещание.
Либо же сделать что-то вроде декларации имущества - задекларировать его.
Почему криптозавещание? Почему криптодекларация?
А чтобы нельзя было удалить из базы данных. Данные из блокчейна сложно удалить.
Хотя орфаны блоков, в блокчейне возможны, возможен также и форк блокчейна,
но если это майнябельная монета, и сложность майнинга высока, то хуй - нужно затратить дохуя мощностей вычислительных.

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

Это пока, как вариант.
Надо бы довести это до ума. Можете заняться этим.


P.S.: Основная проблема всей хуйни электронной, заключается в том,
что данные могут - тупо поудалять, всякие мочераторы, дегенератские.
Чтобы этой хуйни не было, можно исключить цензуру, с помощью DHT.
Заебавшись колупать этот код наноборды,
я пришёл к этим 10-ти простым пунктам.
Но так как распределённая хэш-таблица не имеет центра хранения данных,
то чтобы надёжно соединить всю последовательность сообщений, добавляемых в DHT,
можно было бы использовать и блокчейн, который будучи самым длинным - сам является центром, в децентрализованной сети.
Но это не точно.
Как довести всё это дело до ума, хуй знает, не до этого мне чёт.
Пойду лучше спамить на имиджбордах, и дарквебах, про то, как Хуйло бомбит Харьков.
legendary
Activity: 1806
Merit: 1940
Crypto Swap Exchange
А почему на битке мультиподпись не воспользоватся?
Допустим есть один наследник.
Наследник создает простой кошель.
Адвокат создает кошель.
Хозяин создает два кошеля.
Из 4-х этих кошелей, делается мульти с минимум двумя подписями.
А чем это лучше простой передачи одной части сида наследнику, а другой юристу/банку? В этом случае есть плюсы: никто размер наследства не видит, средства морозить не надо. А главные минусы такие же: сторонний сервис (платный к тому же), теоретическая возможность сговора адвоката с наследником.
member
Activity: 255
Merit: 27
А почему на битке мультиподпись не воспользоватся?
Допустим есть один наследник.
Наследник создает простой кошель.
Адвокат создает кошель.
Хозяин создает два кошеля.
Из 4-х этих кошелей, делается мульти с минимум двумя подписями.
Адвокат не может воспользоватся сам, наследник тоже не может сам. Вы может управлять.
Если не надо управлять, то сам тоже один кошель создаешь.
Вместо адвоката может быть ячейка в банке и как говорилось ранее, наследники через полгода получат свое наследство.

Если наследников больше, то в принципе такая же схема, просто нужно будет больше подписей.
К примеру три наследника.
Каждый наследник создает по кошелю.
Адвокат кошель.
Вы 4 кошеля (кол-во наследников +1). Это если нужно будет самому управлять.
И делается из этих 8 или 5 кошельков, мультикошель с минимум 4 подписями.
И всё.
Правда если потом один из наследников полезет в ..... Тогда у наследников будет головная боль.

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

Ну и чутка фантастики. Брелок на отпечаток пальца и проверки температуры. Если отпечаток совпадает и температура ниже тела, то тогда высвечивает ключ от кошеля. Этот (эти) брелки отпрыскам. Не пришёл на похороны, не сканировал пальчик, всё, хана, остался без наследства.
Правда если там пожар какой-то или авария в дребесги или без вести пропавший, тогда туго будет.
Ну и смотря какие наследники. А то и палец могут отрезать  Grin

Или вариант со смарт часами, особенно который пульс и всё остальное проверяют. Сейчас их активно начинают юзать. Написать приблуду, если часы не чувствуют пульса часа 24, то отсылать какие-то ключи или в смарт контракт дать задание на активацию.
Но тоже, потеря или кража часов. Забухал на недельку, забыл надевать. И т.д.
legendary
Activity: 3108
Merit: 1358
Нестандартные отмечены красными комментариями здесь https://en.bitcoin.it/wiki/Script
Не нестандартные, а отключенные. Любые транзакции с отключенными опкодами, если они попали в исполняющуюся ветку, невалидны. Как и блок, в который их включили.
Не путайте.

Нестандартных опкодов нет и быть не может, бывают только нестандартные скрипты.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Нестандартные отмечены красными комментариями здесь https://en.bitcoin.it/wiki/Script

Хотя вот это самая свежая информация
https://github.com/bitcoin/bitcoin/blob/master/src/script/script.h#L54
legendary
Activity: 1806
Merit: 1940
Crypto Swap Exchange
В коре стандартных скриптов штуки три вроде всего. Но нестандартные редим скрипты не делают транзакцию нестандартной. Главное, чтобы в скрипте не было нестандартных опкодов.
Еще бы разобраться, какие опкоды являются нестандартными )? Я знаю, OP_NOP2 и OP_NOP3 были раньше нестандартными, а теперь, когда они превратились в OP_CLTV и OP_CSV? А всякие OP_IF и подобные?
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
В коре стандартных скриптов штуки три вроде всего. Но нестандартные редим скрипты не делают транзакцию нестандартной. Главное, чтобы в скрипте не было нестандартных опкодов.
Скрипт = набор опкодов
Правильный скрипт = набор стандартных опкодов который возвращает логическую истину
Стандартный скрипт = очень малое подмножество правильных скриптов.
Стандартная транзакция = транзакция у которой стандартный запирающий скрипт и правильный отпирающий.
Нестандартная транзакция = транзакция у которой правильный запирающий и правильный отпирающий скрипты

Подробности тут https://bitcointalksearch.org/topic/bitcoin-5072655
legendary
Activity: 1806
Merit: 1940
Crypto Swap Exchange

Скрипт для коры может и нестандартный, но транзакция получается стандартная. Вот по вашей ссылке написано:
Quote
If you create a redeem script, hash it, and use the hash in a P2SH output, the network sees only the hash, so it will accept the output as valid no matter what the redeem script says.
Это я понимаю, я говорю не про p2sh-транзакцию, а следующую, которая тратит этот p2sh-выход. Там же все эти опкоды в открытом виде будут?

Ладно, пока каша в голове, буду разбираться. Спасибо.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange

P2SH это стандартные транзакции.
Все P2SH? А проверьте свой скрипт в коре командой decodescript, разве вы не получаете в ответ "type": "nonstandard"? Или это о другом?
И тогда, видимо, я неправильно понимаю фразу: "The transaction’s signature script must only push data to the script evaluation stack. It cannot push new opcodes, with the exception of opcodes which solely push data to the stack", так?
[/quote]


Скрипт для коры может и нестандартный, но транзакция получается стандартная. Вот по вашей ссылке написано:
Quote
If you create a redeem script, hash it, and use the hash in a P2SH output, the network sees only the hash, so it will accept the output as valid no matter what the redeem script says.

А то, что вы процитировали переводится на русский так: "в скирпте запрещено использовать нестандартные опкоды". То есть в скриптах можно использовать OP_RIPEMD160 можно любой другой стандартный опкод из тех которые описаны тут https://en.bitcoin.it/wiki/Script

legendary
Activity: 1806
Merit: 1940
Crypto Swap Exchange
Например.
секретное слово1 = blablabla
хэш(blablabla)  = 7f9038204185da148f636a56713991e379473089
секретное слово2 = ololo
хэш(ololo) = 4a287de13f0649b7645ea163d1949af3baf0e1be
Почему-то у меня другие хеши получились. Я делал хеш(blablabla) = ripemd160(sha256(626c61626c61626c61)), это неправильно?


Опкод OP_RIPEMD160 делает просто "The input is hashed using RIPEMD-160."
Опкод OP_HASH160 делает "The input is hashed twice: first with SHA-256 and then with RIPEMD-160."
https://en.bitcoin.it/wiki/Script
Аа, только сейчас заметил, что там у вас OP_RIPEMD160. Теперь все сходится, спасибо! А есть какие-то причины использовать OP_RIPEMD160 вместо OP_HASH160?

И такой вопрос возник, а насколько это вообще надежно, это же нестандартная транзакция? Не может ли случиться так, что ноды перестанут такие транзакции обрабатывать?

P2SH это стандартные транзакции.
Все P2SH? А проверьте свой скрипт в коре командой decodescript, разве вы не получаете в ответ "type": "nonstandard"? Или это о другом?
И тогда, видимо, я неправильно понимаю фразу: "The transaction’s signature script must only push data to the script evaluation stack. It cannot push new opcodes, with the exception of opcodes which solely push data to the stack", так?
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Например.
секретное слово1 = blablabla
хэш(blablabla)  = 7f9038204185da148f636a56713991e379473089
секретное слово2 = ololo
хэш(ololo) = 4a287de13f0649b7645ea163d1949af3baf0e1be
Почему-то у меня другие хеши получились. Я делал хеш(blablabla) = ripemd160(sha256(626c61626c61626c61)), это неправильно?


Опкод OP_RIPEMD160 делает просто "The input is hashed using RIPEMD-160."
Опкод OP_HASH160 делает "The input is hashed twice: first with SHA-256 and then with RIPEMD-160."
https://en.bitcoin.it/wiki/Script

Хэши кстати тоже хитрая штука. Всякие онлайн-сервисы дают хэши которые биткоин не понимает.
Вот тут я вопрос задавал https://bitcointalksearch.org/topic/bitcoin-script-need-help-5048638
Тут решение https://bitcointalksearch.org/topic/m.46822169


И такой вопрос возник, а насколько это вообще надежно, это же нестандартная транзакция? Не может ли случиться так, что ноды перестанут такие транзакции обрабатывать?

P2SH это стандартные транзакции.
Алгоритм примерно следующий:
1. Пишем скрипт
2. Считаем хэш скрипта redeemScriptHash = hash160(скрипт)
3. Посылаем стандартную P2SH транзакцию scriptPubKey = OP_HASH160 OP_EQUAL

Чтобы потратить битки из транзакции посылаем стандартную транзакцию у которой scriptSig = скрипт
legendary
Activity: 2408
Merit: 1834
Crypto for the Crypto Throne!
И такой вопрос возник, а насколько это вообще надежно, это же нестандартная транзакция? Не может ли случиться так, что ноды перестанут такие транзакции обрабатывать?

Ну нестандартная это не не валидная (invalid), правда? Значит отвергать ее могут только обычные ноды, большинство майнеров ее с радостью смайнит и еще за хорошую комиссию (так как большинство нестандартных за исключением пересылки пыли имеют очень даже неплохие комиссии) спасибо скажет. А протолкнуть майнерам можно хоть на прямую, в том же акселераторе ViaBTC например.
legendary
Activity: 1806
Merit: 1940
Crypto Swap Exchange
Например.
секретное слово1 = blablabla
хэш(blablabla)  = 7f9038204185da148f636a56713991e379473089
секретное слово2 = ololo
хэш(ololo) = 4a287de13f0649b7645ea163d1949af3baf0e1be
Почему-то у меня другие хеши получились. Я делал хеш(blablabla) = ripemd160(sha256(626c61626c61626c61)), это неправильно?

Quote
Время, когда можно будет забрать биткоины с помощью первого слова (blablabla) = 1.01.2019 = 1546331341 (время в формате юникс)

Тогда контракт выглядит так
OP_IF 1546331341 OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 7f9038204185da148f636a56713991e379473089 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 4a287de13f0649b7645ea163d1949af3baf0e1be OP_EQUALVERIFY OP_ENDIF

В шестнадцатиричном виде:
63051546331341b175a6147f9038204185da148f636a56713991e3794730898867a6144a287de13f0649b7645ea16 3d1949af3baf0e1be8868
Вы забыли в шестнадцатеричный вид время перевести.

И такой вопрос возник, а насколько это вообще надежно, это же нестандартная транзакция? Не может ли случиться так, что ноды перестанут такие транзакции обрабатывать?
full member
Activity: 1589
Merit: 214
Подскажите, как сделать подобие завещания в биткоине. Хочется, чтобы до определенного момента монеты можно было потратить одним ключом, а после другим или несколькими.
Ты там ещё не гробанулся? Если да, то я - некропостер. Если нет, то...

Вот здесь: https://www.bitaddress.org/
Если поялозишь мышкой, то на вкладке Split Wallet,
можно сгенерировать некие шары, в N-ном количестве, задав число шар K, для объёдинения их - в приватный ключ.
Тогда, для получения приватного ключа - достаточно объединить K шар из N, и не важно в каком порядке.

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

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

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

Дальше... Если ты сгенерировал 2 шары из двух, допустим, то очевидно, то что ты можешь
передать одну из шар - получателю, а другую - просто прописать в примечании к транзакции.
Для этого, можешь использовать OP_PUSHDATA,
и закодировать одну из шар в hexadecimal value,
также, как некоторые - оставляют скрытые послания в блокчейне.
Чтобы вшить текст в RAW-транзакцию, глянь вот этот пост.

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

Разумеется, делать всё это, рекомендуется - после успешных тестов. А bitaddress.org - он в zip-e с сети выкачивается.
Однако к моменту декодирования уже, онлайн его может не быть,
разве что в виде исходников где-то, на чьих-то поломанных - жестких дисках и флешках.
Так что потомки могут не найти его вовсе.
А в примечание к RAW-транзакции - целый скрипт пихать... Ну хз, хз...
cablegate-201012041811.7z без проблем, вон, запхнули... Просто порезали hex и частями в блокчейн прям засунули.

Имей же в виду это!
legendary
Activity: 1792
Merit: 1028
dzyk.ru
пароль от кошелька отдаете сразу, флешку в банковскую ачейку и все ))) после смерти все по завещанию или по закону родне через 6 мес)))
никакой эфир не нужен, не мудрите))) проблема эфира = проблема оракула.... эфир ничего не изменил
sr. member
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
Тогда нужно, чтобы завещание срабатывало при введении номера свидетельства о смерти, который бъётся с блокчейн-реестром, который уже внедряется.

Внедряется только в твоих фантазиях. Ссылку на гитхаб в студию. Такими темпами этот раздел придётся переименовать в Фантазёры.
newbie
Activity: 60
Merit: 0
Тогда нужно, чтобы завещание срабатывало при введении номера свидетельства о смерти, который бъётся с блокчейн-реестром, который уже внедряется.
jr. member
Activity: 46
Merit: 3
А не лучше ли все данные кошелька указать в бумажном завещании, которое будет храниться в сейфе, например?  Если нет сейфа, то просто частями в разных местах, о которых будут знать только наследники.
Это уже предлагалось. Наследники могут сговориться и объединить части завещания которые у них есть и потратить крипту.
member
Activity: 602
Merit: 10
God is with us
Ну когда то давно было похожее через емейл: если человек пропустил контрольные сроки и не ответил на письмо - то считался мертвым и его файлы куда то переправлялись. Может и тут что-то подобное - не запустил кошелек, заболел, через сколько то дней не запустил - в реанимации, ну и последний срок пропустил - значит конец настал.

На таких условиях? Не дай бог тебя пошлют в командировку в какую -нибудь Тьму-Таракань, где не только интернета, но и обычной связи то нет, кроме голубиной почты.  Или не приведи господи в тюрьму загреметь. Все плакали твои биткоины. Ты для них умер.
newbie
Activity: 60
Merit: 0
А не лучше ли все данные кошелька указать в бумажном завещании, которое будет храниться в сейфе, например?  Если нет сейфа, то просто частями в разных местах, о которых будут знать только наследники.
member
Activity: 196
Merit: 52
...OP_IF 1546331341 OP_CHECKLOCKTIMEVERIFY ...
Понятно, мы заряжаем контракт на определенный срок.
Но как применить это к основному вопросу темы? Т.е. получатель завещания вскроет
его в строго назначенную дату. Но кто данную дату определит?
Ведь никто не ждет этого события раньше времени. А если человек с хорошим
здоровьем зарядил контракт лет на 10, то в случае форс мажора получателям придется
ждать.... Хотя подобные контракты по моему не рекомендуется создавать на  слишком
длительный срок?
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange

Хочу попробовать сделать такое в тестнете. Подскажите пожалуйста, как вы получаете из OP_IF 1546331341 OP_CHECKLOCKTIMEVERIFY ... шестнадцатеричный вид ? Как сделать, отправить и потратить такую транзакцию в bitcoin-core ? или для этого нужны какие-то другие инструменты ?

Я использую библиотеку bitcoinjs-lib
sr. member
Activity: 316
Merit: 251
Подскажите, как сделать подобие завещания в биткоине. Хочется, чтобы до определенного момента монеты можно было потратить одним ключом, а после другим или несколькими.

OP_IF время OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 OP_EQUALVERIFY OP_ENDIF

Тему можно закрывать  Smiley
А можно объяснить в общих чертах для неподкованных, что это за код, как и где применяется в BTC ?

Ой, ошибочка.
Вот правильно

OP_IF время OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 хэш_какого-то_секрета1 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 хэш_какого-то_секрета2 OP_EQUALVERIFY OP_ENDIF

Это смарт контракт биткоина...

Да, в биткоине можно делать смарт-контракты ))
Более того, абсолютно все до единой транзакции в биткоине - это смартконтракты!

Вот если написать такой контракт
потом сформировать адрес этого контракта
потом отправить на сформированный адрес биткоины...
то потом эти биткоины можно будет забрать одним из двух способов:
1. Сформировав новый контракт в котором будет написано правильное время и правильное секретное слово1
2. Сформировав новый контракт в котором будет написано правильное секретное слово2

Например.
секретное слово1 = blablabla
хэш(blablabla)  = 7f9038204185da148f636a56713991e379473089
секретное слово2 = ololo
хэш(ololo) = 4a287de13f0649b7645ea163d1949af3baf0e1be
Время, когда можно будет забрать биткоины с помощью первого слова (blablabla) = 1.01.2019 = 1546331341 (время в формате юникс)

Тогда контракт выглядит так
OP_IF 1546331341 OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 7f9038204185da148f636a56713991e379473089 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 4a287de13f0649b7645ea163d1949af3baf0e1be OP_EQUALVERIFY OP_ENDIF

В шестнадцатиричном виде:
63051546331341b175a6147f9038204185da148f636a56713991e3794730898867a6144a287de13 f0649b7645ea163d1949af3baf0e1be8868

Адрес контракта:
33XxDxPsvyMmMPA4VALTQ5aPso5c3czwA5
Хочу попробовать сделать такое в тестнете. Подскажите пожалуйста, как вы получаете из OP_IF 1546331341 OP_CHECKLOCKTIMEVERIFY ... шестнадцатеричный вид ? Как сделать, отправить и потратить такую транзакцию в bitcoin-core ? или для этого нужны какие-то другие инструменты ?
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
jr. member
Activity: 46
Merit: 3
Подскажите, как сделать подобие завещания в биткоине. Хочется, чтобы до определенного момента монеты можно было потратить одним ключом, а после другим или несколькими.

OP_IF время OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 OP_EQUALVERIFY OP_ENDIF

Тему можно закрывать  Smiley
А можно объяснить в общих чертах для неподкованных, что это за код, как и где применяется в BTC ?

Ой, ошибочка.
Вот правильно

OP_IF время OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 хэш_какого-то_секрета1 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 хэш_какого-то_секрета2 OP_EQUALVERIFY OP_ENDIF

Это смарт контракт биткоина...

Да, в биткоине можно делать смарт-контракты ))
Более того, абсолютно все до единой транзакции в биткоине - это смартконтракты!

Вот если написать такой контракт
потом сформировать адрес этого контракта
потом отправить на сформированный адрес биткоины...
то потом эти биткоины можно будет забрать одним из двух способов:
1. Сформировав новый контракт в котором будет написано правильное время и правильное секретное слово1
2. Сформировав новый контракт в котором будет написано правильное секретное слово2

Например.
секретное слово1 = blablabla
хэш(blablabla)  = 7f9038204185da148f636a56713991e379473089
секретное слово2 = ololo
хэш(ololo) = 4a287de13f0649b7645ea163d1949af3baf0e1be
Время, когда можно будет забрать биткоины с помощью первого слова (blablabla) = 1.01.2019 = 1546331341 (время в формате юникс)

Тогда контракт выглядит так
OP_IF 1546331341 OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 7f9038204185da148f636a56713991e379473089 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 4a287de13f0649b7645ea163d1949af3baf0e1be OP_EQUALVERIFY OP_ENDIF

В шестнадцатиричном виде:
63051546331341b175a6147f9038204185da148f636a56713991e3794730898867a6144a287de13 f0649b7645ea163d1949af3baf0e1be8868

Адрес контракта:
33XxDxPsvyMmMPA4VALTQ5aPso5c3czwA5



Cпасибо за развернутый ответ. Эта инфа наверняка для многих будет новостью. Я в принципе не удивлен, потому что часто слышал что на BTC можно многое, а не только покупать продавать. Но теперь это нужно изучать, что б лучше понять. тему бы на форуме...
Не знал что на BTC можно смарт контракты делать, а где можно посмотреть исходники по этому делу?
hero member
Activity: 784
Merit: 814
Подскажите, как сделать подобие завещания в биткоине. Хочется, чтобы до определенного момента монеты можно было потратить одним ключом, а после другим или несколькими.

OP_IF время OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 OP_EQUALVERIFY OP_ENDIF

Тему можно закрывать  Smiley
А можно объяснить в общих чертах для неподкованных, что это за код, как и где применяется в BTC ?

Ой, ошибочка.
Вот правильно

OP_IF время OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 хэш_какого-то_секрета1 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 хэш_какого-то_секрета2 OP_EQUALVERIFY OP_ENDIF

Это смарт контракт биткоина...

Да, в биткоине можно делать смарт-контракты ))
Более того, абсолютно все до единой транзакции в биткоине - это смартконтракты!

Вот если написать такой контракт
потом сформировать адрес этого контракта
потом отправить на сформированный адрес биткоины...
то потом эти биткоины можно будет забрать одним из двух способов:
1. Сформировав новый контракт в котором будет написано правильное время и правильное секретное слово1
2. Сформировав новый контракт в котором будет написано правильное секретное слово2

Например.
секретное слово1 = blablabla
хэш(blablabla)  = 7f9038204185da148f636a56713991e379473089
секретное слово2 = ololo
хэш(ololo) = 4a287de13f0649b7645ea163d1949af3baf0e1be
Время, когда можно будет забрать биткоины с помощью первого слова (blablabla) = 1.01.2019 = 1546331341 (время в формате юникс)

Тогда контракт выглядит так
OP_IF 1546331341 OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 7f9038204185da148f636a56713991e379473089 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 4a287de13f0649b7645ea163d1949af3baf0e1be OP_EQUALVERIFY OP_ENDIF

В шестнадцатиричном виде:
63051546331341b175a6147f9038204185da148f636a56713991e3794730898867a6144a287de13 f0649b7645ea163d1949af3baf0e1be8868

Адрес контракта:
33XxDxPsvyMmMPA4VALTQ5aPso5c3czwA5



Cпасибо за развернутый ответ. Эта инфа наверняка для многих будет новостью. Я в принципе не удивлен, потому что часто слышал что на BTC можно многое, а не только покупать продавать. Но теперь это нужно изучать, что б лучше понять. тему бы на форуме...
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Подскажите, как сделать подобие завещания в биткоине. Хочется, чтобы до определенного момента монеты можно было потратить одним ключом, а после другим или несколькими.

OP_IF время OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 OP_EQUALVERIFY OP_ENDIF

Тему можно закрывать  Smiley
А можно объяснить в общих чертах для неподкованных, что это за код, как и где применяется в BTC ?

Ой, ошибочка.
Вот правильно

OP_IF время OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 хэш_какого-то_секрета1 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 хэш_какого-то_секрета2 OP_EQUALVERIFY OP_ENDIF

Это смарт контракт биткоина...

Да, в биткоине можно делать смарт-контракты ))
Более того, абсолютно все до единой транзакции в биткоине - это смартконтракты!

Вот если написать такой контракт
потом сформировать адрес этого контракта
потом отправить на сформированный адрес биткоины...
то потом эти биткоины можно будет забрать одним из двух способов:
1. Сформировав новый контракт в котором будет написано правильное время и правильное секретное слово1
2. Сформировав новый контракт в котором будет написано правильное секретное слово2

Например.
секретное слово1 = blablabla
хэш(blablabla)  = 7f9038204185da148f636a56713991e379473089
секретное слово2 = ololo
хэш(ololo) = 4a287de13f0649b7645ea163d1949af3baf0e1be
Время, когда можно будет забрать биткоины с помощью первого слова (blablabla) = 1.01.2019 = 1546331341 (время в формате юникс)

Тогда контракт выглядит так
OP_IF 1546331341 OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 7f9038204185da148f636a56713991e379473089 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 4a287de13f0649b7645ea163d1949af3baf0e1be OP_EQUALVERIFY OP_ENDIF

В шестнадцатиричном виде:
63051546331341b175a6147f9038204185da148f636a56713991e3794730898867a6144a287de13 f0649b7645ea163d1949af3baf0e1be8868

Адрес контракта:
33XxDxPsvyMmMPA4VALTQ5aPso5c3czwA5


hero member
Activity: 784
Merit: 814
Подскажите, как сделать подобие завещания в биткоине. Хочется, чтобы до определенного момента монеты можно было потратить одним ключом, а после другим или несколькими.

OP_IF время OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 OP_EQUALVERIFY OP_ENDIF

Тему можно закрывать  Smiley
А можно объяснить в общих чертах для неподкованных, что это за код, как и где применяется в BTC ?
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Подскажите, как сделать подобие завещания в биткоине. Хочется, чтобы до определенного момента монеты можно было потратить одним ключом, а после другим или несколькими.

OP_IF время OP_CHECKLOCKTIMEVERIFY OP_DROP OP_RIPEMD160 OP_EQUALVERIFY OP_ELSE OP_RIPEMD160 OP_EQUALVERIFY OP_ENDIF

Тему можно закрывать  Smiley
member
Activity: 462
Merit: 10
после выхода продукта от RSK (RootStock) на биткоин блокчейне можно будет использовать смарт контракты тогда это будет вполне реализуемо
sr. member
Activity: 1337
Merit: 288
0xbt
Продолжение -
https://bitcointalksearch.org/topic/m.46952741

Создаем заключительный контракт -
https://rinkeby.etherscan.io/tx/0xc98bafdfb0990fa3b1ed8a75f7359a977472bddf085b5213d4244fd1b914c4ba
Переходим на адрес контракта -
https://rinkeby.etherscan.io/address/0xc112b24c9a03ed200a741e875d4f24035a6f85fd
Заходим в - Erc Token Txns  и видим транзакцию на этот адрес, проведенную
несколько дней назад.
Заходим в транзакцию -
https://rinkeby.etherscan.io/tx/0x1067fc99b589df974b75dc962cd1fa849e8327c0569d1a6b1584f8b75e9c0efe
кликаем "Decode Input Data"
копируем строку, вставляем в сервис WebCrypt и декодируем.
Пароль - "to be or not to be"
И мы видим результат.

Таким образом мы и смогли увидеть сообщение отправленное несколько дней назад.
Все.
member
Activity: 728
Merit: 13
А если к примеру создать кошелек -потом записать фразу для восстановления и положить в банковскую ячейку на предъявителя?Такой вариант не рассматриваете?
Это же удобней намного-при форс -мажоре ячейка вскрывается на кого вы составили завещание-а всё остальное дело техники.
member
Activity: 266
Merit: 42
The rising tide lifts all boats
У Bitcoin есть свой язык Scrypt. Если он поддерживает понятие "время" - то и завещание можно сделать
Во-первых, Bitcoin Script а не Scrypt, не путайте с алгоритмом хеширования.
Во-вторых, можно, таймлокед аутпуты и нужные опкоды уже давно есть. Именно по блокам.
Так что можно таймлокать периодически, и возобновлять перед самым истеканием, если наследодатель всё ещё жив.
sr. member
Activity: 1337
Merit: 288
0xbt
Да в Ethereum это не проблема сделать. Лучше поясните как это сделать в Bitcoin блокчейне )
Мне всегда нравились говорливые умники.
Предложите свой "не проблемный" вариант на Ethereum.

Заключительный контракт создам через пару дней.
Так будет интереснее провести тест.
sr. member
Activity: 1337
Merit: 288
0xbt
Да в Ethereum это не проблема сделать. Лучше поясните как это сделать в Bitcoin блокчейне )
Мне всегда нравились говорливые умники.
Предложите свой не проблемный вариант на Ethereum.
jr. member
Activity: 53
Merit: 2
Да в Ethereum это не проблема сделать. Лучше поясните как это сделать в Bitcoin блокчейне )
sr. member
Activity: 1337
Merit: 288
0xbt
Вчера еще раз перечитал ваш топик и задумался над возможностью
реализации данной задачи.

И похоже я ее решил.

Теперь все по порядку. Буду объяснять фактически на пальцах:

Покрутив данное условие в голове, начал думать, как отправить сообщении в
будущее. Задал в гугл поиск: незавершенные транзакции ethereum, bitcoin.
И начал читать. Через некоторое время нашел 2 статьи:
https://ethereum.stackexchange.com/a/761/3032  
https://habr.com/post/341518/
- настоятельно рекомендую прочитать, чтобы были понятны мои действия.
Покрутив прочитанное в голове, начала зарождаться реализация, которую я
сегодня и осуществил.
Как вы увидите я пользовался тест сетями Ropsten и Rinkeby.

1. Создал аккаунт, на который перевел Эфир
https://ropsten.etherscan.io/address/0xfbe202d3a837dc07d375ebf227ee5bcab050fa37
Ropsten Etherscan работает некорректно, так как недавно они пережили:
Notice: The Ropsten network is currently forked
На самом деле в MetaMask сейчас находится 3,527 Eth.
И используя Remix начал разворачивать простой контракт за контрактом,
подобно статьям, которые я рекомендовал прочитать выше.
 
Ropsten
0xe4f586a5CAc3603900581b8Ad571326bFB3eB6B0 Nonce-1
0xf4b00679afb7b7fb221d5312568071ae4c54b1f9 Nonce-2
0x621751c275d01653683c9d8d53aa1507ac825c60 Nonce-3
0x53ffea7224d070e9a1c4202612cc5e9190e05dfe Nonce-4
0xf25714710e803ec772d9e2b12e90e6385e770b81 Nonce-5

2. Перешел на этот же аккаунт сети Rinkeby
https://rinkeby.etherscan.io/address/0xfbe202d3a837dc07d375ebf227ee5bcab050fa37
и так же начал разворачивать контракты с легким кошельком.

3. Третьей транзакцией я отправил сообщение из данной сети на контракт созданный в Ropsten
0xf25714710e803ec772d9e2b12e90e6385e770b81 Nonce-5 -
https://rinkeby.etherscan.io/tx/0x10583ccaf898279456a9a98f8da83b9a71f2af7fe2cc95b161970554fa332aa7
Для создания сообщения я использовал ранее созданный контракт -
https://rinkeby.etherscan.io/address/0xce7aa541c307d2946b7df8777d793a619120fbee
(О том, как использовать возможности данного контракта и токена, то есть -
как отправлять в блокчейн сообщения, изображения, сайты и т.д. описано в различных
проектах данного контракта и видео -
https://bitcointalksearch.org/topic/decentralized-token-4341911 )
Сообщение зашифровал, используя сервис Webcrypt. Пароль -
"я пришел к тебе с приветом рассказать что солнце встало"

Здесь же я совершил ошибку - Нужно было отправлять данную транзакцию с другого аккаунта.
Дело в том, что адрес на который было отправлено сообщение
(0xf25714710e803ec772d9e2b12e90e6385e770b81 Nonce-5) стал виден на данном аккаунте.
В дальнейшем я совершу транзакцию на адрес контракта Nonce-6, но об этом позднее.

4. Продолжаю разворачивать контракты до Nonce-5.
И вы можете увидеть, что контракты созданные в Ropsten, Rinkeby, а так же в
главной сети соответствуют друг другу.
То есть мы увидим сообщение отпавленное на Nonce-5

5. Исправляю свою ошибку. То есть отправляю транзакцию с сообщением с другого
аккаунта сети Rinkeby на адрес нового контракта Nonce-6 сети Ropsten.
Так как Ropsten работает не корректно, вы не сможете увидеть его Nonce-6.
Хотя сообщение уже отправлено с другого аккаунта и доставлено на адрес
Nonce-6 сети Rinkeby, которые вы сможете увидеть завтра когда я разверну
контракт соответствующий Nonce-6 в сети Rinkeby. Подождем до завтра.

Коротко заключение:
Вы передаете адрес Ethereum c приватным ключом вашему будущему или реальному
отпрыску, объясняете ему на пальцах, что в случае чего и как ему будет нужно
развернуть 3-5-7... контрактов, чтобы он смог получить ваше криптозавещание.
Конечно слишком шустрый отпрыск может и сразу приступить к решению данной
задачи. Но вы сможете установить оповещение на etherscan по данному адресу
и в случае чего сможете кое-что поменять и сделать отпрыску или кому там еще
необходимое внушение.
Чересчур умный может пойти еще дальше и поковыряться в тест сетях,
но это же хорошо, вас можно поздравить!
И конечно же надо делать подобное сообщение в основной сети.
Кто знает, что случится с тест сетями.
Если что неясно спрашивайте.
Ну а окончание истории завтра.
sr. member
Activity: 316
Merit: 251
В биткоине по времени не получается, даже по количеству блоков нельзя задать условие.
Можно сформировать и подписать биткоин транзакцию, в которой распределить средства между адресами наследников. Зашифровать эту транзакцию и раздать на флешке наследникам. Ключ для расшифровки положить в гугл аккаунт и через сервис "на всякий случай" задать, чтобы ключ от зашифрованной транзакции отправился наследникам. Хотелось бы, конечно, без гугла и других блокчейнов, кроме биткоина, но я пока не вижу вариантов.
jr. member
Activity: 53
Merit: 2
У Bitcoin есть свой язык Scrypt. Если он поддерживает понятие "время" - то и завещание можно сделать
В сети Ethereum это вообще просто реализуется смарт-контрактом. К примеру не вызываешь какой-нибудь метод 3 года (умер) и в этом случае средства уходят на определённый кошелёк
member
Activity: 420
Merit: 20
simply getting the job done
Не знаю, насколько это правда, но читал новость о том, что в сети Bitcoin скоро так же появится возможность создавать смарт-контракты на подобие эфира. Как это будет осуществляться не имею понятия, но можете погуглить. Инфа об этом точно была в нескольких группах в телеграмме. Возможно, что это правда и тогда у битка со временем тоже появится такая же возможность как и у эфира и вы сможете осуществить задуманное. Вот только не понимаю, для чего вам это. ) Было бы гораздо проще со временем просто передать данные кошелька тем, кому вы планировали оставить ваши накопления.
newbie
Activity: 28
Merit: 0
Следил за проектом Chronologic, у них там есть выплаты по расписанию. По-идее можно там реализовать как раз какие-то задачи по платежам с привязкой к будущим периодам. 100 лет я точно не проживу, а вот отправить все на конкретные адреса в 90-летний мой юбилей вполне решение...
member
Activity: 266
Merit: 42
The rising tide lifts all boats
Есть уже такой генератор смартконтрактов начинали они именно с идеи завещания, но пошли дальше https://mywish.io

посмотрел - смарт-контракт завещания в Ethereum, EOS или NEO не нашел.  Есть вроде реализация через BTC+rootstock
Можно вот так:

Digital Testament:
A way to give away your digital assets automatically after a certain period of time. If after a period of time, which can be set, an account has not made any transaction, then everything it has, Assets, Aliases, Coins, is transferred to another address or several.
https://nxtforum.org/adel/(ann)-(adl)-adel-startup-incubator-for-blockchain-innovation/msg231704/#msg231704
newbie
Activity: 28
Merit: 0
Есть уже такой генератор смартконтрактов начинали они именно с идеи завещания, но пошли дальше https://mywish.io

посмотрел - смарт-контракт завещания в Ethereum, EOS или NEO не нашел.  Есть вроде реализация через BTC+rootstock
newbie
Activity: 28
Merit: 0
Проблема с оракулом, выше вроде обозначалась. Нельзя найти 100% достоверный источник внешних данных о смерти владельца для смарт-контракта
jr. member
Activity: 53
Merit: 2
Это надо сделать с помощью смарт-контрактов. Например EOS или Ethereum. Всё реализуемо
newbie
Activity: 28
Merit: 0
Тема интересная, пару лет назад задавал этот вопрос спикерам на конференциях, ни разу не получил внятного ответа.
full member
Activity: 360
Merit: 100
На биткойне можно сделать такие UTXO, что будут тратиться при предъявлении в Script кода от оракула.
Оракул должен не врать про данные ЗАГС. Как этого достичь, другая задача.
Где-то был англоязычный топик про это, я вникал и вроде да, можно.
Так что совсем без участия человека не получится обойтись.
member
Activity: 266
Merit: 42
The rising tide lifts all boats
На биткойне можно сделать такие UTXO, что будут тратиться при предъявлении в Script кода от оракула.
Оракул должен не врать про данные ЗАГС. Как этого достичь, другая задача.
Где-то был англоязычный топик про это, я вникал и вроде да, можно.
legendary
Activity: 2294
Merit: 1047
Есть уже такой генератор смартконтрактов начинали они именно с идеи завещания, но пошли дальше https://mywish.io
jr. member
Activity: 46
Merit: 3
newbie
Activity: 47
Merit: 0
Это можно реализовать не только на смарт-контрактах, хотя будет и не совсем криптозавещание.
В качестве идеи : можно хранить битки, как впрочем и любую крипту, на бирже (рисковано, но как вариант), но лучше на своем сервере. Написать бота, которые при определенных условиях зайдет в кошелек и отправит на кошельки наследников необходимые суммы.
Если у наследников нет кошельков, то можно позаботиться и заранее зарегистрировать и передать их им еще при жизни. Не забыв рассказать, что это и для чего, чтобы не забыли и не потеряли доступ.
full member
Activity: 184
Merit: 101
А зачем это вам?
Не ранно ди еще писать завещание. Вам же не 60 лет.

Или вы сервис хотите сделать такой?
newbie
Activity: 8
Merit: 0
хорошая идея,  я все вынашиваю подобную на только по совершению сделок а в качесвте гаранта сммарт контракт
jr. member
Activity: 46
Merit: 3
Это на эфире делается

А как эфир узнает что вы умерли, и что надо проводить операции по завещанию?
Может вы еще живой, или системой манипулирует хакер?

Мертвым можно считать человека если он более года не тратил биткоины с этого адреса или сам себе не отправлял.

А если вас посадили на срок от года, то вы стали мертвым?
На такой случай можно дать права адвокату или другу право переводить монеты самому себе и больше никому.
member
Activity: 136
Merit: 10
Здесь уже многие писали, повторю. Эфир и только эфир.
Потому что это самая развитая платформа для смартконтрактов.
member
Activity: 126
Merit: 10
Криптозавещанте можно передать в виде холодного кошелька, где храниться основное количество монет
А мнемоническую фразу отдать   в отдельном конверте
Это один из вариантов
Со смарт-контрактами сложнее и интереснее
Не все смогут разобраться в этом для получения заветного завещания
member
Activity: 980
Merit: 48
Это на эфире делается

А как эфир узнает что вы умерли, и что надо проводить операции по завещанию?
Может вы еще живой, или системой манипулирует хакер?

Мертвым можно считать человека если он более года не тратил биткоины с этого адреса или сам себе не отправлял.

А если вас посадили на срок от года, то вы стали мертвым?
jr. member
Activity: 46
Merit: 3
Это на эфире делается

А как эфир узнает что вы умерли, и что надо проводить операции по завещанию?
Может вы еще живой, или системой манипулирует хакер?

Мертвым можно считать человека если он более года не тратил биткоины с этого адреса или сам себе не отправлял.
jr. member
Activity: 103
Merit: 1
Можно сохранить хеш завещания в блокчейне эфира, как вариант. Потом можно просто везде где можно копию сохранить.
member
Activity: 97
Merit: 10
Подскажите, как сделать подобие завещания в биткоине. Хочется, чтобы до определенного момента монеты можно было потратить одним ключом, а после другим или несколькими.

На эфире, и на всех остальных монетах где есть смарт контракты
member
Activity: 322
Merit: 11
Blockchain for PLANTS (www.industrial.markets)
Единственный тред, который меня интересует
jr. member
Activity: 275
Merit: 1
в биткойне никак. можно только в сети с поддержкой контрактов.
newbie
Activity: 41
Merit: 0
никогда о таком не слышал. а не легче ли передать пароли и номера кошельков родственникам?
member
Activity: 322
Merit: 11
Blockchain for PLANTS (www.industrial.markets)
Ну когда то давно было похожее через емейл: если человек пропустил контрольные сроки и не ответил на письмо - то считался мертвым и его файлы куда то переправлялись. Может и тут что-то подобное - не запустил кошелек, заболел, через сколько то дней не запустил - в реанимации, ну и последний срок пропустил - значит конец настал.
Или пульс пропал
full member
Activity: 1246
Merit: 138
Hodl DeepOnion
Ну когда то давно было похожее через емейл: если человек пропустил контрольные сроки и не ответил на письмо - то считался мертвым и его файлы куда то переправлялись. Может и тут что-то подобное - не запустил кошелек, заболел, через сколько то дней не запустил - в реанимации, ну и последний срок пропустил - значит конец настал.
member
Activity: 322
Merit: 11
Blockchain for PLANTS (www.industrial.markets)
Кстати да, проблема смарт-контрактов не в том, что они выполняются, а в том, что входные данные легко поддаются манипуляциям. Поэтому исходя из того, что я сказал выше - нужно превратить людей в киборгов со встроенной системой отслеживания жизненных показателей крутой защитой от взлома, в противном завещания будут срабатывать и при живом "завещателе"
member
Activity: 322
Merit: 11
Blockchain for PLANTS (www.industrial.markets)
Это на эфире делается

А как эфир узнает что вы умерли, и что надо проводить операции по завещанию?
Может вы еще живой, или системой манипулирует хакер?

Нужно тогда вживить в людей IOT Датчики, всё же просто Roll Eyes
member
Activity: 980
Merit: 48
Это на эфире делается

А как эфир узнает что вы умерли, и что надо проводить операции по завещанию?
Может вы еще живой, или системой манипулирует хакер?
full member
Activity: 1246
Merit: 138
Hodl DeepOnion
А в биткоине, я так понял не получится ? Нету там таких op кодов ?
Вроде только по времени можно заблокировать, но трата все равно тем же ключем.
sr. member
Activity: 316
Merit: 251
А в биткоине, я так понял не получится ? Нету там таких op кодов ?
member
Activity: 135
Merit: 14
Подскажите, как сделать подобие завещания в биткоине. Хочется, чтобы до определенного момента монеты можно было потратить одним ключом, а после другим или несколькими.

Эфир, смартконтракт.
А так же другие блокчейны с поддержкой смартконтракта.
full member
Activity: 204
Merit: 103
Это на эфире делается
sr. member
Activity: 316
Merit: 251
Подскажите, как сделать подобие завещания в биткоине. Хочется, чтобы до определенного момента монеты можно было потратить одним ключом, а после другим или несколькими.
Jump to: