• Attention! S in Ethereum stands for Security. Part 2. EVM features


      Представляем вторую часть цикла, посвященного типичным уязвимостям, атакам и проблемным местам, присущим смарт-контрактам на языке Solidity, и платформе Ethereum в целом. Здесь поговорим о некоторых особенностях EVM и о том, какими уязвимостями они могут обернуться.

      Читать дальше →
      • +23
      • 2,3k
      • 4
    • Децентрализованное хранилище данных Ethereum Swarm



        Блокчейн Ethereum интересен своими смарт-контрактами, а также возможностью создания децентрализованных приложений DApp (Decentralized Application). Однако такому приложению необходимо децентрализованное хранилище данных.

        Хранение данных большого объема в блокчейне может стоить немалых денег. На помощь приходят такие децентрализованные хранилища, как Ethereum Swarm («swarm» переводится как «рой», «куча»). Если кратко, то Ethereum Swarm представляет собой программный код, работающий на пиринговой сети Ethereum. Он обеспечивает децентрализованное хранение данных на дисках узлов, владельцы которых отдают свои ресурсы в общее пользование.

        В этой статье мы расскажем о том, как установить локальный узел Ethereum Swarm для приватной сети Ethereum с целью тестирования технологии и разработки децентрализованных приложений, хранящих данные в Ethereum Swarm.
        Читать дальше →
        • +16
        • 4,1k
        • 7
      • Attention! S in Ethereum stands for Security. Part 1. Blockchain things


          С этой статьи мы начинаем цикл, посвященный типичным уязвимостям, атакам и проблемным местам, присущим смарт-контрактам на языке Solidity, и платформе Ethereum в целом. В первой части мы поговорим вот о чем:


          • почему сложно реализовать децентрализованную биржу на смарт-контрактах
          • как сгенерировать случайное число
          • как вывести из строя всю Proof-of-Authority сеть
          Читать дальше →
        • Модуль Net::Ethereum для работы с контрактами Solidity



            Обычно когда мне нужно использовать какой-то новый сервис или технологию из скриптов Perl, я захожу на CPAN, и там уже есть один или несколько подходящих модулей. Однако в случае фреймворков для работы с узлами блокчейна Ethereum и контрактами Solidity, к сожалению, мне не удалось найти нужного модуля.

            Мы планируем в ближайшее время использовать смарт-контракты Solidity сети Ethereum в нашем SAAS-сервисе интернет-магазинов, написанном на Perl. Поэтому мне ничего не оставалось, как написать свой модуль Net::Ethereum (этот модуль уже доступен на CPAN, хотя и в виде альфа-версии).

            Надеюсь, что модуль Net::Ethereum будет полезен тем, кто хочет интегрировать свои Perl-системы с контрактами блокчейна Ethereum. Буду очень благодарен тем, кто воспользуется этим модулем и пришлет мне свои соображения по его доработке, а также информацию о найденных ошибках.
            Читать дальше →
          • Программирование генератора случайных чисел на Ethereum

              image


              При разработке смарт-контрактов на Ethereum обычно считается что полагаться на хеш блока как источник рандомности ненадежно, так как майнер может влиять на результат, подбирая хеш блока (см. Private Information and Randomness, How do you get a random number in a contract?)


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

              Читать дальше →
            • Обновляемые смарт-контракты в сети Ethereum

                Мотивация


                Контракты сети Ethereum иммутабельны – единожды загруженные в сети (блокчейн), они не могут быть изменены. Специфика бизнеса или разработки могут потребовать обновить код, но при традиционном подходе это становится проблемой.


                Популярные причины необходимости обновления


                • Ошибки в коде
                • Изменение бизнес требований
                • Принятие предложений сообщества об изменении работы контракта

                Описание технического решения


                Реализация требуемого функционала — обновление кода, планируется через разделение кода на составляющие:


                1. Данные — смарт-контракты без логики и предоставляющие исключительно пространство для хранения данных;
                2. Бизнес-логика — смарт-контракты описывающие логику извлечения данных из хранилища и их изменения;
                3. Входные точки — иммутабельные контракты ведут учет обновления бизнес-логики и предоставляют конечному пользователю ссылку на актуальный контракт бизнес-логики
                Читать дальше →
                • +16
                • 4,2k
                • 2
              • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

                Подробнее
                Реклама
              • Эксперименты с контрактами Solidity в тестовой сети Rinkeby блокчейна Ethereum



                  Эта статья представляет собой небольшое практическое руководство, которое поможет вам быстро настроить среду разработки смарт-контрактов на языке Solidity для блокчейна Ethereum. Вы опубликуете первый контракт, сохраните его в тестовом блокчейне Rinkeby и научитесь вызывать методы контракта. Это будет ваш первый шаг на пути создания децентрализованных приложений DApp (Decentralized Application).

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

                  При погружении в эту тему я использовал приложение (браузер) Mist в среде Microsoft Windows, а также интерфейс командной строки Geth узла Ethereum в среде Ubuntu. В этой статье мы расскажем о работе с Geth, а также немного о том, как вызывать методы контрактов из Node.js.

                  С благодарностью приму замечания и пожелания по дальнейшим статьям про блокчейн Ethereum, разработку контрактов на языке Solidity и приложений DApp.
                  Читать дальше →
                • Руководство по блокчейн для маркетолога

                  • Перевод

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

                  Это происходит с подачи таких крупных компаний, как IBM и Comcast, а также небольших стартапов вроде MadHive и Rebel AI.
                  Читать дальше →
                  • +9
                  • 10,2k
                  • 6
                • Взаимодействие веб-страницы с Ethereum

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

                  В конце концов, есть официальная документация и stackoverflow.

                  В то же время, долго разбираться в документации не хочется, и многие разработчики в последнее время хотят побыстрее что-то пощупать руками и написать что-нибудь под эфириум, а так как вопросов возникает масса и источники разрознены, я решил собрать в одном месте простой пошаговый мануал с картинками по созданию своего первого dapp (от decentralized app) — децентрализованного приложения. Он будет представлять из себя связку смарт-контракта с веб-интерфейсом. То есть чтобы с помощью веба можно было доставать информацию из блокчейна и пихать ее туда. Постараюсь быть кратким, шаги буду объяснять по ходу дела.
                  Читать дальше →
                  • +21
                  • 8,3k
                  • 1
                • Разбор квеста Digital Security ICO


                    Перед ежегодной конференцией ZeroNights 2017, помимо Hackquest 2017, мы решили организовать еще один конкурс, а именно — провести свое ICO (Initial coin offering). Но только не такое, как все привыкли видеть, а для хакеров. А как мы могли понять, что они хакеры? Они должны были взломать ICO! За подробностями прошу под кат.

                    Читать дальше →
                    • +42
                    • 8,5k
                    • 1
                  Самое читаемое