Уважаемые делегаты и члены комьюнити!
Данная статья акцентирует ваше внимание на вопросах от пользователей @denis-skripnik и @ksantoprotein, заданных в комментариях под публикацией аналогичной рубрики и telegram-чате, посвященному транзиту Голоса на платформу CyberWay.
@denis-skripnik: Если у аккаунта DApp 1% токенов, он будет иметь 1% пропускной способности и 1% ресурсов сети, если не учитывать возможное получение токенов из фонда для приложений? Или всё иначе?
@ksantoprotein: Если меня есть 1000 токенов и я проголосовал за валидатора, за хорошего валидатора, чтобы получать процент с его дохода за подписание блоков. то сколько это будет в токенах и будет ли у меня свой bandwidth или он условно заморозится? Другими словами могу ли одновременно выбирать валидатора и пользоваться личным bandwidth или придется пользоваться двухподписным?
Выражаем благодарность @ksantoprotein за вопросы в чате Голос Кор в пятницу ночью.
В CyberWay подсистема bandwidth состоит из трех видов ресурсов (RAM, NET, CPU). В отличие от EOS, пользователю не следует стейкать (замораживать, блокировать) токены на каждый ресурс по-отдельности. Он стейкает определенное количество токенов на bandwidth, в то время как система автоматически рассчитывает суммарное потребление через механизм динамических цен, в зависимости от того, какой ресурс в данный момент потребляется активнее. При проведении больших транзакций дороже NET (например, при размещении объемных постов), при проведении долгих транзакций (например, при сложных вычислениях или работе с памятью) дороже CPU, когда много данных записано в памяти (например, при сохранении постов целиком в стейте) - дороже RAM.
Давайте рассмотрим bandwidth в упрощенной модели на примере игры “Рулетка”, реализованной в виде смарт-контракта.
Начальные условия таковы, что данному контракту не понадобится сохранять большие объемы данных. В основном, все потребление памяти сводится к сохранению кода смарт-контракта в чейне. Следовательно, данное приложение не будет активно конкурировать с другими приложениями за RAM. В результате автоматического расчета потребления, часть застейканных на bandwidth токенов, требуемых для оплаты памяти, заморозится и не будет участвовать в оплате за остальные ресурсы. Ресурс NET имеет несколько иную специфику работы, однако, в случае игры “Рулетка”, объем отправляемых в блокчейн транзакций является небольшим. Это не блог-платформа, поэтому в отношении этого ресурса смарт-контракт не будет конкурировать с другими аккаунтами на платформе.
Основной ресурс, который будет потреблять смарт-контракт, - это CPU. Блокчейн считывает CPU как время выполнения транзакции. Количество транзакций, записываемых в блок, максимально зависит от мощности нод валидаторов. При росте конкуренции в сети валидаторы будут вынуждены покупать более мощное оборудование, и количество транзакций на один блок будет увеличиваться.
Для упрощения модели возьмем 1 000 среднестатистических транзакций в секунду (реально достижимый показатель для CyberWay), или 3 000 транзакций в блок. Все аккаунты в системе не смогут уместить свои транзакции в один блок. Для этого вводится понятие “окно” для подсчета ресурсов. Окно для CPU равняется 1 суткам. Количество транзакций, которое может совершить аккаунт, вычитается от максимального количества транзакций в сутки. Т. е. 1 блок единожды, каждые 3 секунды, в течении суток - это 24 * 60 * 60 / 3 = 28800 блоков. В эти блоки поместится максимум 28 800 * 3 000 = 86 400 000 транзакций.
Допустим, смарт-контракт имеет на своем балансе 1 000 CYBER, застейканных на bandwidth (уже с учетом замороженных на хранение контракта), а в системе застейкано всего 150 000 000 CYBER (текущее количество токенов Голос, которое “переедет” на CyberWay). Токены, которые предлагается добавить в Фонд приложений, в распределении bandwidth на старте системы участвовать не будут.
Таким образом, доля контракта “Рулетки” равна 86 400 000 * 1000 / 150 000 000 = 576 транзакций в сутки. Естественно, что реальные транзакции “Рулетки” могут быть разной сложности и “длины” по сравнению со среднестатистическими (например, одна транзакция может обрабатываться в течение 5 среднестатистических транзакций).
Важный момент: игра “Рулетка” - про ставки на выпадающее число, определение выпадающего числа и распределение выигрыша. Соответственно, участники могут оплачивать ставки своим bandwidth. Определение выигрышного числа оплачивает контракт “Рулетки”, а за выигрышем участники могут приходить сами за “свой счет” (оплачивать своим bandwidth). То есть контракту “Рулетки” с балансом 1 000 CYBER весь ресурс CPU на 576 среднестатистических транзакций может и вовсе не понадобиться.
Теперь представим, что к CyberWay присоединится несколько приложений, которым суммарно будет выделено 10% системных токенов из общего Фонда приложений (предполагается выделение до 3% на приложение). Приложения застейкают их на bandwidth, в результате от 576 транзакции контракта “Рулетка” отнимутся 58 транзакций.
В условиях органичного развития сети ноды валидаторов станут мощнее из-за конкуренции между валидаторами. Команда Голос Кор оптимизирует код, и транзакции начнут обрабатываться быстрее, что неизбежно приведет к росту количества транзакций в секунду. Но, вместе с тем, мы предполагаем, что контракт “Рулетка” тоже будет развиваться, и количество системных токенов, которые накопятся на его счету к этому моменту, будет значительно выше начальной 1 000 CYBER в 2 или 3 раза, например.
Обращаем особое внимание на эту статью делегатов и разработчиков приложений: @vik, @arcange, @ropox, @primus, @dmilash, @vvk, @steepshot, @semasping, @captain, @lex, @asuleymanov, @solox, @jackvote, @cats, @denis-golub, @alexna, @ksantoprotein, @eee, @on1x, @sterh, @p2psynergy, @space.creator, @uncleandyv
Также просим внимательно прочесть эту статью всех активных пользователей, которые хотят разобраться с ценностью токенов CYBER, получаемых пользователями Голоса при транзите - мы ждем представителей сообществ Vox Populi @poesie, @istfak, @vp-handmade, @vp-music, @vp-painting, @vp-kulinar-club, @vp-pedsovet, @vp-photo.pro, @vp-zarubezhje, @fractal, @vp-liganovi4kov, @just-life, @rblogger, @vox.mens, руководителей и участников независимых сообществ @chaos.legion и @liga.avtorov; активных блогеров, кураторов и инвесторов @anela, @alexna, @anri, @varwar, @smotritelmayaka, @ksantoprotein, @shenanigan, @chugoi, @olegst, @nikulinsb, @sofya, @eldar-adov, @kudesnikaltay, @biorad, @teeves, @yamoskva, @oagalakova, @evgeny-zaikin, @slon21veka, @frodogrodno, @fainder, @karavai, @galina1, @mishka, а также всех пользователей, которым интересна эта тема.
Каналы коммуникации с Golos•Core
- https://t.me/goloscoretc (решение технических вопросов, связанных с работой блокчейн, нод, api и др.)
- https://t.me/joinchat/BLwf_A118xQ57nsM1Q4MPA (канал для вноса предложений от комьюнити, обсуждение перехода на кодовую базу EOS)
- https://t.me/golos_tools (решение вопросов по различным интерфейсам и дополнительным инструментам, создаваемым Golos•Core)
- https://t.me/goloscore_analytics (решение вопросов по работе экономики блокчейн, статистическим экономическим данным, аналитике данных)
- https://t.me/goloscoretech (новостной канал, с актуальной информацией от Golos•Core)
Мы будем очень рады, если вы поддержите делегата @goloscore. Заходите на страничку https://golos.id/~witnesses голосуйте за делегата Golos•Core!
Спасибо за внимание и хорошего дня!
С уважением,
Команда Golos•Core: @andreypf, @korpusenko, @maslenitsa, @muhazokotuha, @zxcat, @annaeq, @anazarov79, @kaynarov, @s-medvedev, @eugin, @dedbaraded, @jimak.
Благодарю. Теперь всё понятно.
Правильно ли я понял, что текущие аккаунты пользователей БЧ Голос после транзита на БЧ CyberWay будут иметь свой личный bandwidth (согласно кол-ва застейканных токенов CYBER) и только новые аккаунты, создаваемые приложениями (напр. golos.io) будет иметь "спонсируемый ими" bandwidth?
@lex да, именно так. все текущие пользователи получат свой личный бендвич.
@andreypf, ясно, спасибо!
ВОПРОС
Анонсируемое новой командой ГолосКлассик приложение golos.id, после перехода ГОЛОСа на СайберВей, собирается подхватить цепочку блокчейна проекта "ГОЛОС" и продолжать выпускать токены golos и gbg, торгуя ими на бирже Рудекс.
В связи с чем у меня вопрос: Будут ли изменены названия токена нового приложения ГОЛОС в рамках перехода на платформу СайберВей, который тоже будут торговаться на бирже Рудекс, или у нас могут появится одинаковые токены на одной и той же децентрализованной бирже от двух разных проектов !?
@smotritelmayaka хороший вопрос!
Добавьте, пожалуйста, в список разработчиков @uncleandyv . Спасибо)
@anela Добрый день! Добавили! :)
хм... все равно многое непонятно, видимо из-за физического непонимая что есть NET CPU и RAM на кибервей (ибо отличие от EOS есть и так понимаю они существенные)/
поэтому видимо надо начать с совсем простых вещей... и вопросов
Для рулетки, чтобы сделать ставку юнит должен отправить со своего аккаунта на аккаунт рулетки условно 1 токен. на голосе считается размер транзакции... это примерно 0.3 кБ и умножается на мультипликатор 10 (в случае transfer). то есть чтобы сделать перевод аккаунт должен владеть не менее 3кБ бендвиша. а как это будет происходит на кибервей? что необходимо "потратить" NET CPU RAM чтобы передать токены от одного пользователя другому? или это бесплатно по бендвиш?
А можно отправить токены другого приложения так же на рулетку? и в трансфере нужно будет просто указать иной asset или необходимо обратить к смарту самого приложения?
далее скрипт рулетки сканирует блоки и находит этот перевод... и исходя из подписи делегата и подписи юнита (на голосе) скрипт вычисляет выпавшее число и сохраняет это число у себя локально, так как для вычисления нового числа помимо сигнатур делегата и юнита в моем скрипте требуется еще так называемая соль (предыдущее значение). то есть я могу и на кибервей спокойно использовать скрипт на своем сервере, а могу попытаться оплатить смарт. то есть мне нужно арендовать RAM где будет хранится смарт и видимо CPU в ходе которого будут происходить необходимые вычисления над каждым спином и видимо еще RAM, чтобы хранить то самое предыдущее число и каждый раз перезаписывать его. при этом смарт реагирует на каждый трансфер в блокчейне, чтобы сгенерировать выпавшее число (ну вот такая логика скрипта, которую сам же разработал и оттестировал как наиболее пригодную, ибо как ни крути подпись юнита можно саму по себе "подогнать", равно как технически можно "подогнать" и подпись делегата под игру.
576 транзакций это ооочень мало, либо надо считать как то иначе. пока я вижу, что держать логику обработки ставок выгоднее на своем сервере, чем оплачивать смарт.
в таком случае для рулетки необходимо, чтобы юнит сделал трансфер токена (это оплата на его совести), а рулетка делает трансфер обратно если проигрыш, то 0.001 токен, если победа, то поболее.
поэтому первичный интерес, а сколько таких переводов сможет сделать рулетка с 1000 токенами в стейке (плюс необходимы токены на свободном балансе, чтобы выплачивать выигрыши).
на голосе я спокойно могу рассчитать сколько надо, и даже упаковывать трансферы разным игрокам в одну транзакцию, немного экономя свой бандвиш. не получится ли на кибервее, что на рулетку сделают десятки тысяч переводов в виде ставок (так понимаю 3000 переводов можно поместить в один блок, который раз в 3 секунды) и в итоге сгенерируется очередь выплат... ну пусть на 1500... (делали ставки на равные шансы). когда мне сейчас не хватает бендвиша, то выплаты я храню локально в стейте и потом отправляю юнитам, когда восстанавливается бендвиш. а что произойдет на кибервее при такой ситуации... скопится вот так 10000 выплат, а перевести не получается, так как нехватает бендвиша.
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
chugoi, ladyzarulem, nikalaich, vasyl73, strecoza, maksina, midnight, sterh, nefer, mishka, gapel, semasping, veta-less, aleos, archibald116, oksana0407
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас:
@goloscore, поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за Количество комментариев
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп