Вдали друг от друга, но в это же время: на BSC мы празднуем Середину осени вместе с миром В этом году это уже 4-я Середина осени, которую я провёл вместе с криптовалютами. Когда я впервые купил BNB, мне казалось, что крипта — это лишь взлёты и падения на экране; позже, войдя в Binance, перейдя через BSC, я понял: это больше похоже на сеть без часовых поясов. Середина осени — праздник воссоединения, и в ончейне тоже есть “воссоединение”: людей с разных континентов, разными языками и разными часовыми поясами связывает один и тот же рынок. Раньше торговля зависела от «разницы во времени»: Нью‑Йорк закрывался, а Токио ещё не проснулось — азиатским инвесторам часто приходилось бодрствовать до ночи. Сегодня Binance и BNB Chain сделали «7×24» не просто лозунгом. В три часа ночи я на BSC завершаю перевод: Gas оплачиваю BNB, подтверждение занимает считанные секунды; в тот же момент на другом конце Земли мой партнёр на Binance следит за котировками, участвует в Launchpool и обсуждает экосистему. Луна светит и мне, и ему; блоки — как станция для гонцов под лунным светом — подхватывают участников из разных регионов и собирают их в одном непрерывном потоке. Я мечтаю о будущем: глобальный рынок больше не будет разрозненными островами — акции, золото, облигации и RWA можно будет торговать в ончейне 24/7; Binance — это тот самый «глобальный финансовый причал», куда не надо закрывать двери, а BSC — мост, соединяющий активы и пользователей. Торговля без часовых поясов — это не только графики, которые не останавливаются, но и возможность для обычных людей вместе участвовать в глобальных финансах. Независимо от того, где ты находишься в своём часовом поясе, достаточно открыть Binance и подключить BSC — и ты синхронизируешься с миром. Вдали друг от друга, но в это же время. В 4-ю Середину осени в этом году, подняв голову в ончейне, я увидел не только луну, но и бесчисленные ноды, которые мерцают вместе. Пусть на следующий Серединный праздник мы снова поднимем бокалы на BNB Chain и увидим, как Binance свидетельствует тому, что глобальный рынок движется в одном ритме. #币安中秋故事
币安Binance华语
·
--
🌕 В какой раз вы проводите этот Чжунцю (Праздник середины осени) вместе с криптовалютой?
Выберите тему, чтобы написать статью или создать креативное видео, комикс, и поучаствуйте в «Сборе историй ко Дню середины осени от Binance» ⬇️
🌃 На море восходит яркая луна: поделитесь своей историей с криптомиром и Binance. 🌌 Во всем мире в этот же миг: поделитесь связью или мечтой о «трейдинге без разницы во времени» либо о том, как глобальные финансовые рынки соединяются.
bStocks после открытия залога акций, как лучше «разморозить» удерживаемые позиции и при этом контролировать риски? Например, если использовать занятые средства для последующей покупки других активов, есть ли более надежные рекомендации по объему позиции или хеджированию?
币安Binance华语
·
--
【Binance Space】Сегодня в 20:00 поговорим про bStocks 🙋 Оставьте свои вопросы и сделайте репост — разыграем 3 человека, которые получат награду по 50 U!
🔥 Полное открытие bStocks под залог: активируем позиции и управление рисками
🎙️ Ведущий: @Miya- VIP Manager 🧑🏫 Приглашённый: менеджер по продуктам Binance и гость
Во время обсуждения разыграют ещё 1000 U红包🧧, 点击预约直播
Огромный кит вывел с Binance 1,1 млн USDT, а затем сразу же по средней цене 0,1155 доллара закупил 9,53 млн $BTC — это что, они хотят прямо поднять цену быков?$USDC
Каждый раунд консенсуса должен добавлять новый блок, но в белой книге сказано, что на этот раз это не один проход «до конца», а несколько итераций: каждая итерация включает три шага. В разделе 3.2 белой книги эти три шага называются Proposal, Validation и Ratification。
Первый шаг — Proposal. Алгоритм DS случайным образом выбирает provisioner в качестве генератора блоков, который отвечает за создание кандидатного блока и рассылку его по всей сети. Если кандидатный блок не был создан или получен в пределах заданного тайм-аута, этот шаг выводит NIL и сразу переходит к следующему шагу. Но ведь у команды на руках нет кандидатного блока — что же тогда голосовать дальше? Ответ: не подавать пустые голоса, а голосовать NoCandidate, что означает «нет кандидатного блока для проверки».$DUSK
Второй шаг — Validation. DS случайным образом выбирает группу голосующих комиссаров (комитетов), чтобы проверить кандидатный блок с предыдущего шага. Если кандидатный блок валиден, голосуют Valid; если недействителен — Invalid; если кандидатного блока нет — NoCandidate. Голосующий комитет должен достигнуть кворума с помощью абсолютного большинства 2/3. Если к тайм-ауту кворум не достигнут, выводится NoQuorum. Результатом этого шага является ValidationResult, который содержит тип голосов, достигших кворума, и агрегированную подпись всех голосовавших.@Dusk
Третий шаг — Ratification. Затем выбирается новая группа голосующих комиссаров, чтобы подтвердить результат Validation. Если на предыдущем шаге достигнут кворум Valid, они подтверждают этот результат; если на предыдущем шаге было NoQuorum или произошла неудача, они голосуют NoQuorum. Этот шаг гарантирует, что результат верификации определяют не только несколько человек, а он подтверждается большим числом provisioner.
Если вывод Ratification равен Success, кандидатный блок официально принимается как новый блок, и раунд завершается. Если вывод Fail или unknown, переходят к следующей итерации: заново выбирают генератора блоков и заново голосуют. В белой книге сказано, что максимальное число итераций определяется глобальным параметром; в текущей настройке оно равно 50. Если подряд в течение 16 итераций все попытки терпят неудачу, протокол переходит в аварийный режим (угол 10)。
Ключевая логика трехшагового дизайна — сдерживание (баланс) — у генератора блоков есть только возможность генерировать кандидатные блоки, но он не может голосовать; у проверяющего комитета есть только возможность проверять, но не подтверждать; у комитета подтверждения есть только возможность подтверждать результаты проверки, но не выполнять повторную верификацию. Ни один участник не может в одиночку решить судьбу блока.#dusk
Когда сеть Dusk запускается, дело не ограничивается только виртуальной машиной Piecrust: она также разворачивает набор генезисных контрактов для обработки самых базовых операций. В разделе 6.2 белой книги они называются "genesis contracts" — это специальные смарт-контракты, разворачиваемые при инициализации сети и отвечающие за проверку транзакций, механизм стейкинга, первоначальное распределение токенов и другие ключевые функции. В белой книге особо описаны два из них.
Первый — transfer contract (контракт перевода). Он управляет всеми переводами DUSK, $DUSK а также одновременно обрабатывает списание gas-комиссий. Если транзакция включает развёртывание или вызов смарт-контракта, transfer contract тоже отвечает за обработку: он проверяет, соответствует ли транзакция правилам Moonlight или Phoenix, а затем списывает соответствующую газовую комиссию со счёта отправителя. В белой книге он назван "точкой входа в блокчейн Dusk", и все транзакции в конечном итоге проходят через него.
Второй — stake contract (контракт стейкинга). Он управляет полным жизненным циклом стейкинга: проверяет, достигает ли внесённая пользователем сумма минимального порога стейкинга, блокирует токены и регистрирует пользователя как provisioner. Чем больше DUSK застейкано, тем выше вероятность быть выбранным алгоритмом DS для участия в консенсусе. Контракт также обрабатывает запросы на выход из стейкинга: после окончания периода блокировки пользователь может забрать токены обратно, при этом обеспечивается корректное начисление вознаграждений и списание штрафов. Порог в 1000 DUSK, упомянутый в разделе 1, а также вознаграждения и штрафы из раздела 9, на практике реализуются именно этим контрактом. @Dusk
В разделе 6.3 также добавлены две "другие контракта". Один — license contract (лицензионный контракт), который на основе протокола Citadel управляет выдачей и проверкой лицензий в сети, отслеживая право собственности на каждую лицензию, её действительность и срок истечения, а также обрабатывая отзыв или продление. Другой — Zedger contracts, которые создают отдельные смарт-контракты для каждого типа ценных активов, предоставляя функции выпуска, сжигания, выплаты дивидендов, принудительного перевода и т. д.; это конкретная реализация протокола Zedger, упомянутого в разделе 7.
Распределение ролей у этих четырёх контрактов очень чёткое: transfer contract отвечает за движение средств, stake contract — за участие в консенсусе, license contract — за права доступа, а Zedger contracts — за активы. Но это также означает, что ключевые функции Dusk в высокой степени зависят от корректности работы этих четырёх контрактов: если в любом из них появится ошибка, пострадает не только отдельное приложение, но и базовые операции всей сети. #dusk
Буквально в одном абзаце (пункт 1.1 «Сопутствующие работы»): указать читателям, что Dusk — это не «кто попало».
В документе (white paper) существующие блокчейны разделены на три категории. Первая — это универсальные платформы смарт-контрактов, Ethereum и Cardano. Их проблема в том, что прозрачность не оставляет чувствительным финансовым данным места, где можно спрятаться; даже если есть решения второго уровня, такие как zk-rollup, это всего лишь заплатка, а не нативный дизайн. Вторая — это приватные блокчейны, Zcash и Monero: они довели защиту личной приватности до предела, но при этом им не хватает нормативной базы, возможности аудита и возможностей смарт-контрактов, ориентированных на конфиденциальные транзакции. Третья — это то, что хочет делать Dusk: для него не подходит ни одна из двух предыдущих категорий.
То, что может Ethereum, Dusk@Dusk не делает — он не стремится охватить все универсальные DeFi, а фокусируется на сценариях регулируемых финансов. То, что могут Zcash и Monero, Dusk тоже делает — он реализует приватность с помощью ZK-доказательств, но поверх этого добавляет интерфейсы для соответствия требованиям и аудиторские возможности. В white paper сказано очень ясно: «Zcash и Monero „не хватает необходимых функций для интеграции с регулируемой финансовой отраслью“», включая нормативные рамки, возможность аудита и поддержку смарт-контрактов, необходимых для конфиденциальных транзакций. $DUSK
Это не фраза уровня «Dusk лучше всех». Это фраза «выбранный Dusk’ом трек — другой». Он выбрал более узкую дорогу — делать соответствующий требованиям приватный блокчейн для традиционных финансовых институтов, а не приватный блокчейн „для всех“. Дорога уже — значит, аудитория понятнее. Но одновременно это означает: если традиционные финансовые институты не признают эту модель, то такое позиционирование не будет иметь смысла. #dusk
Когда я дочитал до 6-й главы, я заметил ключевой выбор: среда выполнения умных контрактов Dusk — это Piecrust, основанный на WebAssembly, а не совместимый с EVM. В 2024 году всё ещё выбирать несовместимость с EVM — это решение, которое требует объяснения.$DUSK
В white paper сказано, что Piecrust — это реализация WASM-виртуальной машины, написанная на Rust, с двумя ключевыми компонентами: crate piecrust, отвечающая за саму виртуальную машину; piecrust-uplink — набор инструментов для разработки, предоставляющий toolchain для компиляции, деплоя и тестирования контрактов. В документе подчёркивается, что его цели проектирования — компактность, безопасность, модульность и лёгкость.
Но то, что по-настоящему меня заинтересовало, — это дизайн host functions. Dusk@Dusk перенёс тяжёлые операции, такие как валидация ZK-доказательств, проверка подписей и вычисление хэшей, из виртуальной машины в хост-среду. White paper перечисляет конкретные host functions: хэш-функция поддерживает два варианта — Blake2b и Poseidon; verify_plonk и verify_groth16_bn254 соответственно проверяют два типа ZK-доказательств — PlonK и Groth16; verify_schnorr и verify_bls выполняют валидацию подписей, поддерживая как одиночные, так и мультиподписи. Всё это выполняется в нативной среде, а не внутри WASM-с песочницы.#dusk
Зачем это сделано? White paper ссылается на исследовательские данные: запуск сложных приложений в WASM по сравнению с нативным кодом медленнее на 45%–255%. Для сети, где активно используются ZK-доказательства, такая разница в производительности критична. Если каждой транзакции нужно в WASM-песочнице проверять доказательство PlonK, то только этот оверхед сделает задержки транзакций неприемлемыми. Перенос валидации в хост-среду фактически обходится без этого барьера.
Но у решения Dusk есть и цена. Несовместимость с EVM означает, что существующие умные контракты в экосистеме Ethereum нельзя напрямую перенести в Dusk; разработчикам нужно заново учиться разработческому toolchain для WASM. Совместимость с EVM в индустрии — это «карта безопасности», потому что уже есть множество разработчиков, инструментов и кодовых баз. Dusk отказывается от этой карты — значит, оно чётко понимает, кто его целевые пользователи: институциональные разработчики для ценных бумаг и реальных активов.
Piecrust-uplink предоставляет toolchain, включая компиляцию контрактов в WASM-модули, выполнение в контролируемой среде, а также верификацию корректности и безопасности — похоже, что это попытка компенсировать слабые места в пользовательском опыте разработчиков. Но насколько этот toolchain удобен на практике, white paper не отвечает — это можно будет понять только после того, как разработчики реально им воспользуются.
Я прочитал белую книгу и, когда дошёл до протокола Zedger, испытал ощущение: «наконец-то пришло». Перед этим было столько подготовки — от приватности до комплаенса и модели двойных транзакций. Zedger — это, по сути, кульминация всех этих технических идей.$DUSK
В белой книге говорится, что Zedger — это протокол для управления ценными бумагами и реальными активами, который поддерживает чеканку, уничтожение, корпоративные действия вроде выплаты дивидендов и даже поддерживает принудительную передачу. Эти функции сами по себе показывают, что его целевая аудитория — не розничные инвесторы, а организации-эмитенты ценных бумаг.
Я особенно внимательно отнёсся к функции «принудительной передачи». В сети Ethereum ваши активы — это ваши, и никто не может их тронуть. Но в реальных финансовых рынках суд может наложить арест на активы, ликвидатор может осуществить принудительную передачу, а регуляторы могут потребовать возврата. Zedger встроил эту возможность, и это говорит о том, что его понимание регуляторного соответствия не ограничивается лозунгами — оно реально спроектировано под потребности организаций.@Dusk
Но здесь есть очень тонкий баланс. Если функцию принудительной передачи будут использовать злоупотребляя, это будет не комплаенс, а централизация. В белой книге сказано, что Zedger использует ZK-доказательства и возможности аудита, чтобы обеспечить легитимность, а также защитить приватность пользователей. Я понимаю это так: каждая принудительная передача должна сопровождаться криптографическим доказательством соответствия, которое подтверждает законность операции, но не требует раскрывать детали сделки.
Однако в белой книге описание Zedger всё же довольно обобщённое: там не указано подробно, у кого именно есть право на принудительную передачу, как это право распределяется и как предотвратить злоупотребления. Если права находятся у эмитента в одностороннем порядке, то по сути система остаётся централизованной. Если же права должны срабатывать через on-chain-гoверанс или мультиподпись, то безопасность и степень децентрализации будут намного выше.
Я склонен считать, что дизайнерская концепция Zedger правильная: она даёт RWA и ценным бумагам чёткий технический каркас. Но фактический уровень децентрализации зависит от того, как именно реализован контроль прав. В белой книге здесь оставлено пространство, которое стоит задать вопросом.#dusk
Когда я прочитал этот фрагмент о консенсусе SA, первое, что пришло в голову, — поиск параметра, определяющего его окончательность. В white paper написано «достижение окончательности за несколько секунд», но не указано точно, сколько именно секунд. Эта размытость немного меня беспокоит, однако одновременно заставляет сильнее разобраться в логике, лежащей в основе механизма.
Сначала сравнение. Окончательность в биткоине $DUSK основана на вероятности: примерно 1 час ожидания за счет подтверждения 6 блоков. Чем дольше ждёшь, тем больше уверенность, что транзакцию не откатят. Окончательность в Ethereum с PoS опирается на протокол Casper: требуется два epoch, что занимает примерно 12,8 минуты. А Dusk утверждает, что достаточно нескольких секунд — и возникает вопрос: почему.
Ключевое — в детерминированном механизме распределения ролей. В white paper сказано, что перед началом каждого раунда алгоритм DS заранее выбирает, кто будет генератором блока, а кто — членом комитета по голосованию. Это «заранее известно» означает, что избиратели/голосующие уже готовы к моменту генерации блока: им не нужно в последний момент кого-то привлекать или созывать всех по сети для поиска консенсуса. Коммуникационные издержки существенно сокращаются.
Я разложил процесс по шагам. Каждый раунд включает несколько итераций, а каждая итерация — три стадии: предложение, голосование и подтверждение. Комитет по голосованию состоит только из выбранной группы валидаторов, а не все сеть сразу голосует. Количество узлов, участвующих в голосовании, ограничено небольшим диапазоном, поэтому обмен информацией в процессе голосования очень мал: достаточно нескольких обменов, чтобы завершить @Dusk
Но есть один момент, который я не могу до конца понять. В white paper упоминается термин «скользящая (rolling) окончательность», однако конкретный механизм не раскрыт. Мое предположение: речь может идти не о разовой блокировке окончательности, а о том, что по мере постоянного генерации новых блоков вероятность окончательности предыдущего блока постепенно повышается. Если так, то «несколько секунд» могут означать подтверждение первого уровня, а не окончательную необратимость. #dusk
Кроме того, я заметил, что в white paper не приведены точные секунды. И 3 секунды, и 9 секунд называют «несколькими», но для финансового сценария разница принципиально иная. На данный момент я не смог найти ответа на этот вопрос в white paper; возможно, придётся дождаться фактических тестовых данных после запуска mainnet.
Когда я читал white paper, этот вопрос постоянно крутился в голове. Главное повествование Dusk — «мы хотим и приватность, и соответствие требованиям», — но мой прошлый опыт подсказывает, что такие заявления обычно никому не нравятся. #dusk
Сначала посмотрим на обратную сторону медали. Zcash и Monero довели приватность до предела, но регуляторы не приняли это; биржи сняли их с листинга, и ликвидность начала падать. Ethereum и Bitcoin с точки зрения комплаенса проблем не имеют, но все операции прозрачны: когда крупная организация совершает сделку большого объёма, контрагент видит всё как на ладони. Dusk говорит, что нашёл третье решение — поначалу я сомневался. @Dusk
В white paper предлагается схема двойных транзакций плюс протокол Zedger. Moonlight используется для сценариев комплаенса, Phoenix — для сценариев приватности, а Zedger обеспечивает выполнение смарт‑контрактов в конфиденциальном состоянии, сохраняя при этом возможность аудита. Теоретически такая архитектура действительно может сработать.
Но когда я дочитал, я обнаружил ключевой пробел. В white paper говорится, что регуляторы могут получить доступ к необходимым данным, но не раскрывается, как именно они это делают: через какие механизмы выдается разрешение, кто хранит ключи, как отзываются права доступа. Самая сложная часть аудируемой системы приватности — не заставить регуляторов видеть данные, а гарантировать, что данные видит только тот, кому это разрешено, и только в течение авторизованного периода.
Я попробовал рассуждать с этой точки зрения. Если бы Dusk использовал доказательства наподобие zk‑SNARK, и у регулятора был бы определённый аудиторский ключ, то $DUSK мог бы проверять соблюдение комплаенса транзакций, не раскрывая приватность пользователя. Тогда такая схема была бы обоснована. Но если регуляторские полномочия будут злоупотреблены или ключи утекут, то «небоскрёб» защиты приватности рухнет.
Поэтому мой вывод такой: сосуществование приватности и комплаенса в принципе возможно, и в инженерном плане тоже может быть реализовано, но реальный эффект полностью зависит от тонкостей дизайна механизма контроля прав. А поскольку в white paper пока не представлены эти детали, мне остаётся ждать выхода дополнительных технических документов и только потом делать оценку. Ответ на этот вопрос — не в white paper, а в коде основной сети.
Моё первое впечатление от консенсуса SA было таким: как вообще получилось число 1000 DUSK? У whitepaper есть только итог, но нет выводов и промежуточных шагов. Поэтому я пошёл от заданных там параметров и попытался всё восстановить.
Там задан epoch — 2160 блоков. По текущей скорости генерации в Dusk это примерно 6 часов на один epoch. Затем они дают формулу созревания: M = 2 × epoch - (height mod epoch). То есть, если вы застейкаете одну транзакцию DUSK, вам нужно ждать от половины до целого epoch, прежде чем вы реально начнёте «работать».
Интересная часть этого дизайна в том, что время вступления всех новых стейков синхронизировано с границей epoch. Это не «вступил — и сразу активировался», а «все активируются коллективно с одного и того же старта». Я предполагаю, что это сделано для того, чтобы у DS-алгоритма детерминированного подбора (лотереи) был стабильный снимок пула валидаторов/проvisioner на момент распределения. Если бы каждый мог войти в любой момент и сразу начать действовать, то в каждом блоке менялся бы состав кандидатов provisioner, и тогда детерминированное распределение было бы сделать сложнее $DUSK
А что насчёт самого 1000 DUSK? Я прикинул: если порог сделать равным 100, то число provisioner резко вырастет. Конкуренция за 64 slot’а в каждом epoch станет намного жёстче, но при этом объёмы стейка у отдельных нод окажутся слишком малы — и безопасность сети, возможно, даже будет размыта. Если поставить 10000, то рядовым пользователям почти не попасть: provisioner превратятся в игру для узкого круга крупных нод, и децентрализация пострадает. @Dusk
1000 — это число «посередине». Я посмотрел параметры ещё нескольких PoS-сетей: порог Dusk не выглядит ни слишком высоким, ни совсем низким. Это похоже на месседж: я не хочу, чтобы вы могли просто накинуть случайную «мелочь» и начать запускать ноду, но также я не хочу, чтобы участвовать могли только очень крупные держатели.
Однако у меня всё же остался вопрос, который я не до конца продумал. В whitepaper нет целевого диапазона по общему числу provisioner, и не указано, при каком соотношении «интенсивности» конкурса за 64 slot’а достигается оптимум. Без этих данных я на самом деле не могу оценить, насколько правильно выбран именно порог 1000. Возможно, его обоснованность можно будет проверить только на практике — после запуска в mainnet, с использованием реальных данных. #dusk