# Революция Tap-игр на протоколе Биткоин

Мы все помним прошлый год как время, когда многие были обмануты криптоиграми в жанре Tap. Эти игры обещали большие награды, прозрачную экономику и пользовательскую собственность на активы, но в итоге не смогли выполнить эти обещания. Хорошая новость в том, что появляется лучший подход, который использует сильные стороны протокола Биткоин для создания действительно прозрачных и надежных игр.

Я работаю над прототипом на BSV (Bitcoin SV), который демонстрирует, как это можно правильно реализовать. Давайте рассмотрим ключевые преимущества этого подхода.

Преимущества Tap-игр на базе Биткоина

1. **Запись действий в блокчейне**: Каждый тап (действие) в игре записывается непосредственно в блокчейн, создавая неизменяемую историю всего игрового процесса.

2. **Доступное хранение данных на L1**: BSV предлагает самое дешевое хранение данных в блокчейне среди основных криптовалют, делая микротранзакции экономически жизнеспособными. 0.5 Satoshi/byte (BSV цена 33$ , т.е за 33$ можно записать почти 200мб в цепочку)

3. **Контроль через смарт-контракты**: Майнеры обеспечивают выполнение всех игровых правил через смарт-контракты, предотвращая произвольное изменение правил разработчиками.

4. **Настоящее владение данными**: Больше никаких обещаний о листинге монет - пользователи владеют своими данными в блокчейне с самого начала.

5. **Экономическая прозрачность**: Вся игровая экономика видна в блокчейне, что предотвращает скрытые механизмы, ставящие игроков в невыгодное положение.

6. **Доказуемая честность**: Случайные элементы в играх могут использовать данные блокчейна как доказуемо честные источники случайности.

7. **Долговечность активов**: Игровые активы существуют независимо от игровых серверов, что означает, что они могут существовать, даже если первоначальные разработчики исчезнут.

Преимущества Биткоина

Биткоин имеет несколько уникальных характеристик, которые делают его идеальным для этого применения:

1. **Доказанная долговечность**: Биткоин имеет самый длинный работающий блокчейн, начиная с 2009 года, демонстрируя исключительную стабильность.

2. **Легкая верификация**: Хотя блоки теоретически могут вырасти до терабайтов, для проверки наличия транзакции в блоке требуется только 80-байтный заголовок блока благодаря доказательствам Меркла.

3. **Возможности масштабирования**: BSV убрал искусственные ограничения на размер блока, позволяя проводить гораздо больше транзакций в секунду, чем другие варианты Биткоина.

Реализация в стиле Тамагочи

Я разрабатываю игру в стиле Тамагочи, которая реализует эти принципы. Вот фрагмент того, как это работает:

```typescript @method(SigHash.ANYONECANPAY_ALL) public performActionPacked( playerSig: Sig, playerPubKey: PubKey, packedActions: ByteString, merkleProof: FixedArray, leaf: Sha256, leafIndex: bigint, providedPackedState: ByteString ) { // Проверка доказательства Меркла и соответствия состояния хэшу assert( SneetexMP.validateMerkleProof(leaf, this.merkleRoot, merkleProof, leafIndex), 'Invalid Merkle proof' ) const expectedLeaf: Sha256 = Sha256(providedPackedState) assert(expectedLeaf == leaf, 'Provided leaf data does not match leaf hash')

// Распаковка состояния из предоставленного листа let cstate: GameState = this.unpackState(providedPackedState) assert(this.checkSig(playerSig, playerPubKey), 'invalid sig for player') assert(hash160(playerPubKey) == cstate.playerPubKeyHash, 'public key hashes are not equal') assert(cstate.pause_block == 0n, 'Game is paused'); // Обработка упакованных действий const MAX_ACTIONS = 3n const ACTION_SIZE = 3n const totalSize = len(packedActions)

for (let i = 0n; i < MAX_ACTIONS; i++) { const startIndex = i * ACTION_SIZE if (startIndex < totalSize) { const currentActionType = Utils.fromLEUnsigned(slice(packedActions, startIndex, startIndex + 1n)) const currentItemId = Utils.fromLEUnsigned(slice(packedActions, startIndex + 1n, startIndex + 2n)) const currentAmount = Utils.fromLEUnsigned(slice(packedActions, startIndex + 2n, startIndex + 3n)) const curr_item = this.getItemById(this.getItemByInt(currentItemId)) cstate = this.processAction(cstate, currentActionType, curr_item, currentAmount) } }

// Обновление состояния игры const newPackedState = this.packState(cstate) this.packedGameState = newPackedState const newLeaf: Sha256 = Sha256(newPackedState) this.merkleRoot = SneetexMP.updateMerkleRoot(newLeaf, merkleProof, leafIndex) // Проверка выходов транзакции const calculatedHashOutputs = hash256(this.buildStateOutput(1n) + this.buildChangeOutput()) assert(calculatedHashOutputs == this.ctx.hashOutputs, 'hashOutputs check failed') } ```

Игра реализует виртуального питомца, которого игроки могут кормить, тренировать и заботиться о нем, используя биткоин-транзакции. Правила обеспечиваются блокчейном, что делает невозможным обман. Это создает реальную ценность для персонажа по мере его развития, и все это с использованием биткоин-транзакций.

Особенно впечатляет экономическая эффективность: всего за 1 цент вы можете сохранить до 70 выполнений довольно объемного смарт-контракта (200 КБ). Это делает микроигры экономически жизнеспособными таким образом, который просто невозможен на большинстве других блокчейнов.

Важное примечание о BSV

Стоит отметить, что мы говорим о Bitcoin SV, форке оригинального Биткоина. Хотя он предлагает отличные технические возможности для этого конкретного варианта использования, он был исключен из списка большинства торговых платформ, что делает его плохим инвестиционным инструментом. Однако это отделение от спекуляций фактически делает его идеальным для реальных утилитарных приложений, где последовательные, низкие комиссии за транзакции важнее, чем рост стоимости токена.

Создавая игры на этом протоколе, мы формируем будущее, где игровые активы имеют подлинное, проверяемое владение, где правила игры действительно честны и неизменны, и где экономическая модель прозрачна для всех участников. Это представляет собой истинное видение блокчейн-игр, далекое от спекулятивных токен-игр, которые разочаровали столь многих в прошлом году.

бета версию игры можете посмотреть по адресу sneetex.com, нужен кошелёк Yours wallet и эквивалент 0.02usd на счёте.

1
1 комментарий