• Как они это делают? Обзор технологий анонимизации криптовалют

      Наверняка вы, как пользователь биткоина, эфира или любой другой криптовалюты, были обеспокоены тем, что любой желающий может видеть, сколько монет у вас в кошельке, кому вы их переводили и от кого получали. Вокруг анонимных криптовалют ходит много споров, но кое с чем нельзя не согласиться — как сказал управляющий проектом Monero Рикардо Спаньи (Riccardo Spagni) в своем Twitter-аккаунте: «Что если я просто не хочу, чтобы кассир в супермаркете знал, сколько денег у меня на балансе и на что я их трачу?»

      image

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

        Мы продолжаем наш цикл об устройстве блокчейна Monero, и сегодняшняя статья будет посвящена протоколу RingCT (Ring Confidential Transactions), в котором представлены конфиденциальные транзакции и новые кольцевые подписи. К сожалению, в интернете мало информации о том, как он работает, и мы попытались восполнить этот пробел.

        image

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

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

        Протокол RingCT


        Одна из возможных атак на cryptonote-валюты — анализ блокчейна, основанный на знании суммы и времени отправленной транзакции. Это позволяет
        Читать дальше →
        • +16
        • 3,3k
        • 2
      • Мультиподписи в сети Monero

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

          image

          Мультиподписи – это механизм создания и использования кошельков общего доступа. Сама концепция не является новой, она уже реализована в некоторых криптовалютах, таких как Bitcoin, Ethereum и другие. Суть ее заключается в совместном владении и распоряжении средствами кошелька. На распоряжение средствами накладываются некоторые ограничения: для проведения транзакции необходимо набрать определенное количество голосов, которое задается при создании кошелька и зависит от числа его владельцев.

          Эти параметры характеризуют так называемую «схему» кошелька, например, 3 / 3 – кошелек на троих владельцев с необходимыми тремя подписями для отправки транзакции, или 2 / 3 – кошелек на троих владельцев с необходимыми двумя подписями любых его владельцев. Следует отметить, что в мультисиг-кошельках (multisignature wallet) нет понятия «твоя доля» и «моя доля», все средства принадлежат всем участникам одновременно.
          Читать дальше →
          • +17
          • 3,6k
          • 2
        • Exantech Code Jam: Hacktoberfest 2017

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

            Мы и наша технологическая лаборатория Exantech поддерживаем open source и хотим сделать участие в нем более популярным среди разработчиков.

            28 октября в московском «Ключе» мы проведем свой Code Jam в рамках Hacktoberfest — ежегодного онлайн-фестиваля по программированию в open source от Digital Ocean.

            image

            Читать дальше →
          • Торговый робот для веб-дизайнеров

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



              Для того чтобы решить обозначенные выше проблемы и привлечь как можно больше участников, брокеры иногда представляют обычное HTTP API с сериализацией в json/xml/что-то более экзотическое. В частности, подобный метод общения с биржей является едва ли не единственным для ряда модных стартапов, например, биткоин-бирж. Мы решили не отставать от них и недавно представили дополнение к нашему API (подробнее про его старые возможности можно почитать на Хабре здесь и здесь), которое позволяет пользователю также и торговать.


              Под катом не совсем пятничная статья-туториал про то, как можно было бы торговать через наше HTTP API.

              Читать дальше →
            • Эти токсичные, токсичные собеседования



                Всё началось, когда автор Ruby on Rails признался миру:

                Читать дальше →
              • Как устроены протоколы в Elixir

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


                  Elixir – это функциональный язык программирования общего назначения, который работает на виртуальной машине BeamVM. От Erlang отличается синтаксисом, более похожим на Ruby, и расширенными возможностями метапрограммирования.


                  В Elixir также существует замечательный механизм для полиморфизма под названием Protocols, но в Erlang нет синтаксической конструкции для динамической диспетчеризации, которая необходима для их реализации.


                  Тогда как же они устроены внутри? Какой overhead дает код с использованием протоколов? Попробуем разобраться.


                  Читать дальше →
                • Что нам стоит автоматизацию построить. Использование HTTP API в Google Sheets

                    В эпоху повальной автоматизации пользователям хочется «нажать на кнопку и получить ответ». Ну или дополнительно немного подвигать мышкой. Автоматизация же отчетов и других штук, которые удобно представить в виде таблички, часто строится в Excel с использованием своих макросов или же просто встроенных формул. Плагинами к Excel нынче никого уже не удивишь, кстати, у нас такой тоже есть, но это предмет отдельной статьи. А как насчет Google Sheets? Ранее мой коллега рассказывал, как можно прикрутить наше API к Telegram, я же попробую рассказать, как использовать его в гуглотаблицах.


                    image


                    Под катом чуть-чуть кода и много костылей.

                    Читать дальше →
                    • +10
                    • 4,9k
                    • 2
                  • Борьба бобра с ослом, или Адаптация MSVC кода под gcc

                      Статья описывает некоторые затруднения, которы мы встретили при попытке адаптации одного из наших старых Windows-only проектов (плагин к MT4 серверу) к кросскомпиляции под Linux (CI, статический анализ, автотесты и прочие модные слова). Точнее, в коде присутствовал ряд конструкций, которые спокойно съедались MSVC, но категорически отказывались компилироваться с использованием mingw/gcc.


                      image


                      Под катом 7 наиболее часто встретившихся примеров кода, которые будут компилироваться MSVC, но не будут с gcc, и способы это лечить.

                      Читать дальше →
                    • Как умные контракты изменят нашу жизнь

                        Что такое умные контракты, как они работают и почему будущее именно за ними.



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

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

                      Самое читаемое