Author

Topic: Miniscript - Смарт Контракт для Биткойна ? (Read 453 times)

kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
3. Там спрятан ип адрес командного сервера. В транзакциях биткоина теоретически можно спрятать хоть фотки голых лолиток, в транзакциях эфира и подавно...

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

Вот кстати новость, что у Крейга Райта уже делают такое, с голыми лолитами - https://www.bbc.com/news/technology-47130268 

Надо же, всего-то три года прошло с тех пор как я предупреждал...
https://bitcointalksearch.org/topic/m.14503534


legendary
Activity: 2436
Merit: 1849
Crypto for the Crypto Throne!
3. Там спрятан ип адрес командного сервера. В транзакциях биткоина теоретически можно спрятать хоть фотки голых лолиток, в транзакциях эфира и подавно...

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

Вот кстати новость, что у Крейга Райта уже делают такое, с голыми лолитами - https://www.bbc.com/news/technology-47130268 
member
Activity: 196
Merit: 52
Quote from: kzv
/////
Ну вот и разобрались. Ничего страшного.
Но что интересно, многие ресурсы уже  тупо распространили данную информацию, как страшную новость, не пытаясь разобраться.
Первоисточник TNW изначально снабдил статью полезными ссылками и если не лениться и походить по ним, можно прийти к выводу, что бздеть не нужно.
А так, если я воткну в OP_RETURN ссылку, на блокируемый Роспотребнадзором ресурс kzv, то следует ожидать новость от Роспотребнадзора о размещении в блокчейне зловред. ресурсов, с требованием запретить блокчейн в России.  Grin
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange

И все же хотелось бы услышать ответы на пункты:
1. Как могут быть биткоины заражены вредоносными данными? /по моему это лажа какая-то, или нет?/
2. Каким образом идет поиск таких транзакций?
3. Что за данные спрятаны в OP_RETURN. И видимо аналогичные данные могут быть спрятаны к примеру
в транзакциях эфира?

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

2. Искать транзакции в сети биткоина можно примерно 100500 способами. Прямым подключением к пирам биткоина, через RPC, через АПИ сторонних сервисов и т.д и т.п.

3. Там спрятан ип адрес командного сервера. В транзакциях биткоина теоретически можно спрятать хоть фотки голых лолиток, в транзакциях эфира и подавно...
member
Activity: 196
Merit: 52
1. Злоумышленники перемещают биткоины, зараженные вредоносными данными
2. Вредоносная программа, запрограммированная с помощью надежно закодированной строки ScriptHash пробирается через общедоступный список серверов Electrum, чтобы найти каждую транзакцию, совершенную злоумышленником.
3. В этих транзакциях скрыты, казалось бы, невинные данные OP_RETURN, которые содержат зашифрованный домен C&C. Строка ScriptHash затем используется для расшифровки этих данных.


И все же хотелось бы услышать ответы на пункты:
1. Как могут быть биткоины заражены вредоносными данными? /по моему это лажа какая-то, или нет?/
2. Каким образом идет поиск таких транзакций?
3. Что за данные спрятаны в OP_RETURN. И видимо аналогичные данные могут быть спрятаны к примеру
в транзакциях эфира?
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange

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


Хм, ну конечно подозрительно будет если какой-нибудь system.exe будет дергать из сети похожие на биткоин пакеты. Но для обычного юзера такое отследить не под силу. Пацаны которые антивирусы пишут - пусть свой хлеб и отрабатывают )
hero member
Activity: 1358
Merit: 635


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

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

Вывод: если на вашем компе нет вирусов, то никакие биткоин транзакции вам вреда не приченят. ВНЕЗАПНО ))


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


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

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

Вывод: если на вашем компе нет вирусов, то никакие биткоин транзакции вам вреда не приченят. ВНЕЗАПНО ))
sr. member
Activity: 1337
Merit: 288
0xbt
Пару дней назад, просматривая новостную ленту, обратил внимание на интересную статью, по которой хотел задать вопрос, да подзамотался и забыл.
А тут сегодня, в разделе Новостей @Xal0lex опубликовал статью(спасибо напомнил, видимо его она тоже заинтересовала):
Дроппер Glupteba использует блокчейн Bitcoin
Но всё же, я бы порекомендовал более полную оригинальную версию статьи сайта TNW.
Вернусь к вопросам по статье:
1. Злоумышленники перемещают биткоины, зараженные вредоносными данными
2. Вредоносная программа, запрограммированная с помощью надежно закодированной строки ScriptHash пробирается через общедоступный список серверов Electrum, чтобы найти каждую транзакцию, совершенную злоумышленником.
3. В этих транзакциях скрыты, казалось бы, невинные данные OP_RETURN, которые содержат зашифрованный домен C&C. Строка ScriptHash затем используется для расшифровки этих данных.

Я снова запутался:
Как может скрипт-информация повлиять на мой Electrum?

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

Может и ошибаюсь, но может это близко к "Пылевым атакам"?
legendary
Activity: 2436
Merit: 1849
Crypto for the Crypto Throne!
После Дао, когда произошло разделение, использовали контракт ReplaySafeSplit

Я это помню. И как можно заметить, все дело было в этой функции
Code:
function split(address targetFork, address targetNoFork) returns(bool)
Тоесть на высокоуровневке все выглядело отлично, а на нижнем уровне происходило черти зна что. Миллион раз уже обсасывалось.
member
Activity: 196
Merit: 52
То же Дао случилось, потому что ребята не понимали как толком работает в Солидити функция split(). Ну тоесть говнокод написали, внешне все отлично. А взаимодействие высокого уровня и уровня низкого (где собственно этот сплит монет и происходил) - тайна за семью печатями для кодо писателей.
После Дао, когда произошло разделение, использовали контракт ReplaySafeSplit. Но что интересно последняя транзакция на 100 эфиров была около 70 дней назад. Получается, что данным контрактом до сих пор пользуются. Если кому интересно, есть руководство по этому контракту -
Ethereum Fork: Step-by-Step Guide to Safely Splitting your ETH/ETC
legendary
Activity: 2436
Merit: 1849
Crypto for the Crypto Throne!
Просто кроме Битка, эфира и лайта по сути нет более-менее стабильных систем. Не считать же стабильными всякие форки с их постоянными атаками 51.

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

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

Да что говорить, люди тупят даже в самом высоком уровне. Помню был взлом шаблона контракта на Эфире (это когда кучу Эфирных токенов натырили. Я вот помню украли так у Edgless). Контракт был для распределения монет и им пользовались все баунтисты. В чем была суть:

Был конструктор __init__, где собственно и происходила инициализация token holder (это адрес был), и блять умники не додумались эту функцию сделать разовой. Тоесть, не хватило ума сделать очевидную вещь: вызывать конструктор только при инициализации контракта, а потом делать его не доступным. Эти умники даже конструктор приватным не сделали, а просто общая функция, к которой может обратиться любой. Ну вот хакер и обратился, и просто переписал хозяина токенов на свой адрес.

Просто гениально, какие блин еще разговоры могут дальше то быть?

legendary
Activity: 1540
Merit: 1457
Проблема высокоуровневых языков хорошо видна в Эфире с его ордой багов.

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


Всегда хотел узнать у тех, кто в теме про эфир. Неоднократно слышал, что язык на котором написан эфир (солидити кажется) это и есть основной плюс и минус эфира, что написанный на таком языке продукт в принципе не имеет шансов на масштабирование? Зато устойчив к многим бедам и если не спешить, то критичных багов можно спокойно избежать. Это действительно так?
Просто кроме Битка, эфира и лайта по сути нет более-менее стабильных систем. Не считать же стабильными всякие форки с их постоянными атаками 51.
Причем Лайт написан я так понимаю на языке программирования таком же, что и Биткоин и по сути является "испытательным" полигоном для Битка. Кстати к стыду своему понял что не уверен на каком языке написан Биткоин(неужели C++) ? 

Вот эта попытка писать на других(менее распространенных языках вроде солидити) - это тупик для разработчика или платформы или наоборот?
hero member
Activity: 1358
Merit: 635
Хорошая обзорная статья по данной теме, начиная с азов о скриптах Биткоина:
Miniscript: Как инженеры Blockstream сделали программирование Биткойна простым[ще]

Хм, как я понял из той статьи  Miniscript наоборот упрощенная версия скрипта и значит с биткоинами ничего страшного не произойдет даже если они будут отправлены с кошельков, которые были не обновлены.  Вот только упрощенная версия  по сравнению с чем, с тем что встроено сейчас?

In short, Miniscript is a “stripped down” version of Script
sr. member
Activity: 1337
Merit: 288
0xbt
Хорошая обзорная статья по данной теме, начиная с азов о скриптах Биткоина:
Miniscript: Как инженеры Blockstream сделали программирование Биткойна простым[ще]
legendary
Activity: 2436
Merit: 1849
Crypto for the Crypto Throne!
Проблема высокоуровневых языков хорошо видна в Эфире с его ордой багов.

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

Ничего этот язык не расширяет. Это просто более высокоуровневый язык программирования. Так же как бейсик не расширяет систему комманд процессора, а является более высокоуровневым (удобным для людей) языком вместо нативного для процессора языка нулей и единиц.

Как появиться мерит, обязательно поддержку полезный и умный комментарий. Контракты можно было всегда в биткоине делать, но на Форт подобном языке это требовало слишком много усилий и понимания, поэтому практически никто это не делал. Сейчас станет проще, но и количество дурачков увеличится.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
Ничего этот язык не расширяет. Это просто более высокоуровневый язык программирования. Так же как бейсик не расширяет систему комманд процессора, а является более высокоуровневым (удобным для людей) языком вместо нативного для процессора языка нулей и единиц.
sr. member
Activity: 1337
Merit: 288
0xbt
По языку Miniscript  - бегло прошелся по ссылкам, первое впечатление положительное. В принципе давно уже напрашивался такой высокоуровневый инструмент, хотя лично я им вряд ли буду пользоваться в ближайшем будущем ибо привык к OP - кодам )
Спасибо, в случае если тот язык Miniscript буде принят, то каким образом будет происходить его введение в код, путем хардфорка? или как то еще? И нужно ли будет одобрение сообщества для такого изменения, если все решатся его принять? А насчет кошельков, которыми мы пользуемся,  им тоже надо будет делать апдейт, чтобы соответствовать новому коду? Кошельки  меня больше всего и  волнуют, если честно.

Полагаю здесь волноваться не нужно:
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-August/017270.html
Quote
Чтобы было ясно: Miniscript предназначен для Биткойна, как он существует сегодня (в первую очередь
P2WSH) и не требует каких-либо согласованных изменений. Тем не менее, мы планируем расширить
Биткойн может включать в себя дизайн для поддержки будущих изменений скриптов.

Как я понял, данный язык расширяет возможности Смарт Контрактов Биткоина, которые
и так существовали.
А если и будут какие-то изменения дизайна, то это будет не скоро, т.к. это все еще в стадии разработки.
hero member
Activity: 1358
Merit: 635


P.S.
Интересно мнение специалистов в области скриптов, блокчейна Биткойна,
коим я к своему сожалению не являюсь, как и писал ранее.
Часто я вижу скрипты и OP_коды Биткойна, но пока еще не видел ни одной реальной транзакции,
приведенной в качестве примера с пошаговым руководством к сей.
Неужели жаль потратить пару баксов?


Любая биткоин транзакция это скрипт. Так что если вы говорите, что не видели ни одной реальной транзакции со скриптом, то это значит - вы не видели ни одной реальной транзакции биткоина  Wink
Если тема интересна, то кое-что о скриптах биткоина можете почитать здесь: https://bitcointalksearch.org/topic/m.48078730

По языку Miniscript  - бегло прошелся по ссылкам, первое впечатление положительное. В принципе давно уже напрашивался такой высокоуровневый инструмент, хотя лично я им вряд ли буду пользоваться в ближайшем будущем ибо привык к OP - кодам )

Спасибо, в случае если тот язык Miniscript буде принят, то каким образом будет происходить его введение в код, путем хардфорка? или как то еще? И нужно ли будет одобрение сообщества для такого изменения, если все решатся его принять? А насчет кошельков, которыми мы пользуемся,  им тоже надо будет делать апдейт, чтобы соответствовать новому коду? Кошельки  меня больше всего и  волнуют, если честно.
kzv
legendary
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange


P.S.
Интересно мнение специалистов в области скриптов, блокчейна Биткойна,
коим я к своему сожалению не являюсь, как и писал ранее.
Часто я вижу скрипты и OP_коды Биткойна, но пока еще не видел ни одной реальной транзакции,
приведенной в качестве примера с пошаговым руководством к сей.
Неужели жаль потратить пару баксов?


Любая биткоин транзакция это скрипт. Так что если вы говорите, что не видели ни одной реальной транзакции со скриптом, то это значит - вы не видели ни одной реальной транзакции биткоина  Wink
Если тема интересна, то кое-что о скриптах биткоина можете почитать здесь: https://bitcointalksearch.org/topic/m.48078730

По языку Miniscript  - бегло прошелся по ссылкам, первое впечатление положительное. В принципе давно уже напрашивался такой высокоуровневый инструмент, хотя лично я им вряд ли буду пользоваться в ближайшем будущем ибо привык к OP - кодам )
hero member
Activity: 1358
Merit: 635

P.S.
Интересно мнение специалистов в области скриптов, блокчейна Биткойна,
коим я к своему сожалению не являюсь, как и писал ранее.
Часто я вижу скрипты и OP_коды Биткойна, но пока еще не видел ни одной реальной транзакции,
приведенной в качестве примера с пошаговым руководством к сей.
Неужели жаль потратить пару баксов?


Может быть поэтому лучше переместить тему в раздел к кодерам? Там они разберут ее по косточкам и расскажут нам, не кодерам, что за зверь этот минискрипт, что он даст, если его введут в основной код. Здесь кодеры редко  появляются и тема так и зависнет в воздухе без всяких объяснений и разъяснений. К сожалению я тоже не кодер.  Sad

 
sr. member
Activity: 1337
Merit: 288
0xbt
19.08.2019 Pieter Wuille опубликовал в списке рассылки для разработчиков биткойна, новый язык "Miniscript" для написания биткойн-скриптов в структурированном виде, позволяющий анализировать, составлять, генерировать подписи и многое другое.

По словам Pieter Wuille, программисты Wuille, Andrew Poelstra и Sanket Sanjalkar работают над данным кодом около года.

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

Язык Miniscript получил одобрение сообщества, так разработчик Bitcoin's Lightning Network Расти Рассел написал в Твиттере:

Quote
"Как, черт возьми, мы это делали раньше?!"  

 В качестве примера Pieter Wuille показал, как разрешает А -брать монеты в любое время, а В - через [один] день:

Code:

 
В Miniscript это будет:

Code:
or_d(c:pk(A),and_v(vc:pk_h(B),older(144)))


Т.е. Miniscript:

- Учитывает сочетание условий расходов, находя наиболее экономичный сценарий для его реализации.
- Учитывает два сценария, создавая сценарий, который реализует композицию условий их расходов (например, мультисиг, где один из «ключей» является другим мультисигом).
- По заданному сценарию выясняет, какие условия расходования разрешены.
- Учитывает сценарий и доступ к достаточному набору закрытых ключей, создайте общее убедительное свидетельство для него.
- Учитывает сценарий, умения прогнозирования стоимости затрат на вывод.
- Учитывает сценарий, где могут ли определенные ограничения ресурса, такие как ограничение операций, быть затронутыми на затраты.
 
Так Джимми Сонг рассказал в своем видео, как Miniscript можно использовать для поддержки Bitcoin's Lightning Network .

Возможно, что появление языка "Miniscript" даст новый интересный толчок в развитии блокчейна Биткойна, а так же приблизит Биткойн к реальному платежному эквиваленту.

 
Материалы:
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-August/017270.html
http://bitcoin.sipa.be/miniscript/
https://twitter.com/pwuille/status/1163592166062473217

Источник:
0xbt


P.S.
Интересно мнение специалистов в области скриптов, блокчейна Биткойна,
коим я к своему сожалению не являюсь, как и писал ранее.
Часто я вижу скрипты и OP_коды Биткойна, но пока еще не видел ни одной реальной транзакции,
приведенной в качестве примера с пошаговым руководством к сей.
Неужели жаль потратить пару баксов?
Jump to: