Обзор кода (часть 2) от Андре Кронье (Andre Cronje) от 4 октября 2018г., - перевод, ссылка на оригинал: https://cryptobriefing.com/quarkchain-code-review-high-capacity-p2p-blockchain/
Ранее я (Andre Cronje) писал о Quarkchain. То что я увидел тогда мне понравилось. У меня все еще есть оговорки в отношении кросс-шардинговых транзакций. Мне все еще не нравится требование горизонтальной масштабируемости.
Но в обзоре кода QuarkChain я определенно вижу некоторые вещи, которые мне тоже нравятся.
Testnet запущен и работает, достигнув 10 000+ пик TPS. Любопытно, что это только на одном шарде, я предполагаю что значение кумулятивно. Общие значение TPS может выглядить немного запутанной метрикой, так как значения TPS должны измеряться для каждого шарда индивидуально. И учитывается ли общие показатели TPS в корневой сети?
Оставим все это, давайте посмотрим на код и что они сделали с тех пор, как я в последний раз смотрел на него. (ссылка на предыдущий обзор)
Python, как и в прошлый раз. Наш интерес в разделе pyquarkchain, так что давайте посмотрим.
Хорошее управление, последние действия, 9 участников. Признаки хорошего РЕПО, давайте копать дальше.
Многое еще предстоит пережить. Планировка немного странная. Ключевые классы похоже находятся в корне, и вследтвии у нас есть каталоги для testnet, cluster, genesis_data? Это может иметь больше смысла, когда мы углубимся в код.
Начиная с utils, в основном обертки, хорошие комментарии, хорошая атрибуция используемых библиотек.
Интересная абстракция. Кажется немного ненужным.
Протокол сетевого уровня. RPC и передачи данных.
Очень любопытно попасть в EvmState. Мы скоро туда доберемся. Глядя сейчас на genesis_state. А пока просто остановимся на состояние EVM. Таким образом, на данный момент балансы и адреса живут в EVM, поэтому немного разрознена архитектура (дизайн) (консенсус => EVM). Мне нравится эта модель.
Расчет сложности ETH. Начинаю чувствовать себя немного как Ethereum с шардингом.
RocksDB используется для хранения пар значений ключей.
В настоящее время ecsda, будущие версии будут иметь secp256k1.
Ядро качественно подготовлено к своим функциям.
Интересные стандарты именования тестовом режиме. Где Ламбо и Микра?
Интересные значения по умолчанию. Множество утилит тестирования встроено в конфиг.
Аккаунты, счета, как и ожидалось. Хранилища, создание и т.д. Отличное комментирование.
adjust_difficulty находится в папке p2p. Странно.
Переход к кластеру (который является их версией узла)
Настройка (Master/Slave) ведущего/ведомого, а не нераспределенные кластеры.
Мониторинг адреса kafka? Управляются ли данные транзакций для кластеров с помощью kafka?
Настоящее мясо в cluster/master.py - это хорошо. Кластеры строятся так же, как и шарды. Лидер-это, по сути, корневая сеть (root chain) для каждого кластера.
Заключение Обзора Кода QuarkChain:
Это хороший код. Поскольку я держу кварка на очень высоком уровне, я хотел большего, хотя чего я хотел больше, я не знаю. Это очень хорошо, но я не могу помочь, но чувствую, что здесь есть что-то еще. Сейчас это оформление шардинговых транзакций, а также транзакций, совершаемых на EVM. QKC живет в EVM. Это масштабируемое решение для EVM, которое позволяет распараллелить обработку через шарды.
В общем, они возводят именно то, о чем говорили. Я не думаю, что это будет выше, чем 25k TPS, но эта ниша позволяет одновременное выполнение смарт-контрактов, что действительно здорово. Хороший код, хороший прогресс развития. Будем продолжать следить за ними.
Обзор кода (часть 2) от Андре Кронье (Andre Cronje) от 4 октября 2018г., - перевод, ссылка на оригинал: https://cryptobriefing.com/quarkchain-code-review-high-capacity-p2p-blockchain/
О QuarkChain
Проект QuarkChain направлен на решение проблемы масштабируемости блокчейна с помощью технологий горизонтальной масштабируемости. Миссия QuarkChain - позволить всем в мире использовать технологии блокчейн в любое время и в любом месте.
Если вы заинтересованы в QuarkChain, пожалуйста, для получения дополнительной информации воспользуйтесь ссылками ниже:
- Сайт: https://www.quarkchain.io
- Telegram (Eng): https://t.me/quarkchainio
- Telegram (Rus): https://t.me/QuarkChain_Russia
- Twitter (Eng): https://twitter.com/Quark_Chain
- Twitter (Rus): https://twitter.com/quarkchainru
- Facebook: https://www.facebook.com/quarkchain/
- Steemit: https://steemit.com/@quarkchain
- Medium: https://medium.com/quarkchain-official
- Reddit: https://www.reddit.com/r/quarkchainio/
- Weibo: https://weibo.com/QuarkChain
- Сообщество разработчиков QuarkChain в Discord: https://discord.gg/
- Страница разработчиков QuarkChain: https://developers.quarkchain.io/