Обзор кода QuarkChain (часть 2) от Андре Кронье (Andre Cronje) от 4 октября 2018г

in #blockchain6 years ago (edited)

Обзор кода (часть 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/