Привет, Хабр!
В первой части статьи мы обсудили, зачем может быть необходимо генерировать случайные числа участникам, которые не доверяют друг другу, какие требования выдвигаются к таким генераторам случайных чисел, и рассмотрели два подхода к их реализации.
В этой части статьи мы подробно рассмотрим еще один подход, который использует пороговые подписи.
Привет, Хабр!
В этой статье мы обсудим генерацию псевдо-случайных чисел участниками, которые не доверяют друг другу. Как мы увидим ниже, реализовать “почти” хороший генератор достаточно просто, а вот очень хороший – сложно.
Зачем вообще нужно генерировать случайные числа участникам, не доверяющим друг другу? Одна из областей применения -- это децентрализованные приложения. Например, рассмотрим децентрализованное приложение, которое принимает ставку от участника и либо удваивает сумму с вероятностью 49%, либо забирает с 51%. Приложение будет работать только если алгоритм может непредвзято получить случайное число. Если злоумышленник сможет повлиять на результат или предсказать случайное число, и даже незначительно увеличить свой шанс получить выплату в приложении, он получит возможность опустошить его.
Когда мы разрабатываем распределенный протокол генерации случайных чисел, мы хотим, чтобы он обладал тремя свойствами:
Он должен быть непредвзятым. Другими словами, ни один участник не должен каким-либо образом влиять на результат генератора случайных чисел.
Он должен быть непредсказуемым. Другими словами, ни один участник не должен иметь возможность предугадать, какое число будет сгенерировано (или вывести какие-либо его свойства) до того, как оно будет сгенерировано.
Протокол должен быть жизнеспособным, то есть устойчивым к тому, что какой-то процент участников отключатся от сети или намеренно попытаются остановить протокол.
В этой статье мы рассмотрим два подхода: RANDAO + VDF и подход, основанный на стирающих кодах. В следующей части мы подробно разберем подход, основанный на пороговых подписях.
Привет Хабр,
В этом посте я расскажу о том, как мы строили компанию в кремниевой долине. За четыре года мы прошли путь от стартапа из двух человек в подвале одного из зданий в Сан-Франциско до большой узнаваемой компании с инвестициями в более чем $30M от известных фондов, включая таких гигантов, как a16z.
Под катом много интересных историй про Y Combinator, венчурные инвестиции, поиск команды, и другие аспекты жизни и работы в долине.
На сегодня только ленивый не написал про технологию блокчейн, криптовалюты и насколько это круто. Но в этой статье не будет восхваления данной технологии, речь пойдет как раз о ее недостатках и способах их устранения.
Во время работы над одним из проектов в компании Альтирикс системс, появилась задача защищенного, цензуростойкого подтверждения данных из внешнего для блокчейн источника. Необходимо было подтверждать изменения в записях третьей системы и на основе этих изменений выполнять ту или иную ветку в логике смарт-контракта. Задача на первый взгляд достаточно тривиальная, но, когда от результата ее выполнения зависит финансовое состояние одной из сторон-участниц процесса, появляются дополнительные требования. Прежде всего это всестороннее доверие к подобному механизму валидации. Но обо всем по порядку.
В РФ с 01 января 2021 г. вступает в силу Федеральный закон от 31.07.2020 N 259-ФЗ "О цифровых финансовых активах, цифровой валюте и о внесении изменений в отдельные законодательные акты Российской Федерации" (далее — Закон). Этот закон значительно изменяет существующий (см. Юридические аспекты операций с криптовалютами для резидентов РФ // Хабр 2017-12-17) правовой режим использования криптовалют и блокчейна в РФ.
Отличительной особенностью общественных благ является то, что выгоду от пользования ими получает значительное количество людей, а ограничение их пользования невозможно или нецелесообразно. В качестве примеров можно привести общедоступные дороги, обеспечение безопасности, научные исследования и программное обеспечение с открытым исходным кодом. Производство таких благ, как правило, не выгодно отдельным людям, что нередко приводит к недостаточному их производству (эффект безбилетника). В некоторых случаях государства и другие организации (такие как благотворительные фонды) берут их производство на себя, но отсутствие полной информации о предпочтениях потребителей общественных благ и другие проблемы, связанные с централизованным принятием решений, приводят к неэффективному расходованию средств. В таких случаях более целесообразным было бы создание системы, где у потребителей общественных благ была бы возможность прямо голосовать за те или иные варианты их предоставления. Однако при голосовании по принципу «один человек — один голос» голоса всех участников равны и они не могут показать, насколько для них важен тот или иной вариант, что также может приводить к неоптимальному производству общественных благ.
Квадратичное финансирование (или CLR-финансирование) было предложено в 2018 году в работе Liberal Radicalism: A Flexible Design For Philanthropic Matching Funds как возможное решение перечисленных проблем финансирования общественных благ. Этот подход сочетает в себе преимущества рыночных механизмов и демократического управления, но при этом в меньшей степени подвержен их недостаткам.
NewNode — SDK для мобильной разработки, который делает любое приложение неубиваемым для любой цензуры и DDoS, и драматически снижает нагрузку на сервере. P2P сеть. Может работать в теории без интернета.
Зачем вообще нужна децентрализация? Многие люди не совсем понимают смысла, ведь и так вроде все хорошо работает. Причин на самом деле несколько, но обычно сторонники подхода затрагивают только сложные технические моменты, и обывателю становится сложно углядеть суть. Для меня, например, все очень просто.
Допустим, ты запустил классный проект. С развитием, он начнет требовать все больших компьютерных ресурсов. Проблема в том, что среднестатический человек весьма ограничен в средствах. Но если твоя идея заинтересует других людей, то они смогут самостоятельно запускать свои сервера, изменять и добавлять новый функционал, расширять общие возможности и.т.д. При этом издержки не такие значительные для отдельного человека. Они распределяются между всеми, а итоговый профит для каждого суммируется. Это дает возможность простым людям создавать не простые решения.