Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
HSTP — Фреймворк протокола прикладного уровня для доверительного сквозного шифрованного взаимодействия в гетерогенных сетях, обеспечивающий единообразное обнаружение сервисов и маршрутизацию на уровнях TCP, HTTP и блокчейна. | Kitploit
Инструменты/GitHubGitHub/cagataycali/hstp
Веб-безопасностьСетевая безопасностьКриптографияУтилиты и фреймворки
GitHubcagataycali/hstp

HSTP

Фреймворк протокола прикладного уровня для доверительного сквозного шифрованного взаимодействия в гетерогенных сетях, обеспечивающий единообразное обнаружение сервисов и маршрутизацию на уровнях TCP, HTTP и блокчейна.

Репозиторий
15552 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Hyper Simple Text Protocol on Networks

HSTP - Hyper Service Transfer Protocol on Computer Networks

Попробуйте сейчас: https://hstp.ai

root@kitploit:~
npx hstp;

Протокол направлен на разработку абстракции прикладного уровня для Hyper Service Transfer Protocol.

HSTP — это рекурсия, как и природа HSTP. Этот протокол реализует себя как интерфейс. На каждом устройстве, подключённом к интернету, существует экземпляр HSTP. Поэтому принятие протокола не требуется. HSTP уже работает поверх интернета. Нам только сейчас удалось объяснить протокол через протоколы в гетерогенных сетях. Поэтому не сравнивайте с web2, web3 или наоборот.

Аннотация

HSTP — это интерфейс представления приложений для гетерогенных сетей.

Интерфейс HSTP обязывает реализовать набор методов для возможности взаимодействия с другими узлами сети. Таким образом, сервисы, клиенты и другие узлы могут общаться друг с другом доверительным, сквозным зашифрованным способом. При этом разрешение узлов основано на алгоритме поиска кратчайшего пути, который я написал.

Протокол для малышей 🍼 <- 👀 <- 👶:

Время для истории!

  • Ребёнок плачет! 👶
  • Нужно молоко! 🍼
  • У мамы проблема.
  • У папы проблема.
  • Давайте это исправим!

Краткий обзор

Представьте, что живут мама и папа, и они счастливы. У них родился ребёнок! Внезапно маме нужно регулярно принимать таблетки для лечения болезни. Таблетка — яд для ребёнка. Ребёнок плачет, мама звонит папе, потому что он единственный, кому она доверяет помочь малышу. Но папа иногда не может быть дома, ему нужно чем-то кормить ребёнка. Папа слышал, что у одного молочника свежее и качественное молоко по низкой цене. Папа решает поговорить с молочником, молочник доставляет молоко папе, папа приносит молоко маме. Мама даёт молоко ребёнку. Ребёнок счастлив и засыпает, мама видит, что ребёнок счастлив.

Семья никогда не покупала молоко на стороне, это первый раз, когда они покупают молоко для ребёнка: (Мама не знает номера молочника, молочник не знает домашнего адреса)

root@kitploit:~
По шагам:

0)  - Ребёнок хочет пить молоко.
1)  - Ребёнок плачет маме.
2)  - Мама видит, что ребёнок плачет.
3)     - Мама проверяет холодильник. Мама видит, что молока нет. (Мама доверяет только папе)
4)        - Мама звонит папе.
5)        - Папа звонит молочнику.
6)        - Молочник доставляет молоко папе.
7)        - Папа доставляет молоко маме.
8)  - Мама даёт молоко ребёнку.
9)  - Ребёнок пьёт молоко.
10) - Ребёнок счастлив.
11) - Ребёнок спит.
12) - Мама видит, что ребёнок счастлив и спит.
13) - Чтобы снова связаться с молочником, мама просит папу сказать молочнику, чтобы он сохранил адрес дома и номер мобильного телефона мамы.
14)     - Мама звонит папе.
15)     - Папа звонит молочнику.
16)     - Молочник сохраняет адрес дома и номер мобильного телефона мамы.

Ой, на следующий день ребёнок просыпается и снова плачет,
0) - Ребёнок хочет пить молоко.
1) - Ребёнок плачет маме.
2) - Мама видит, что ребёнок плачет.
3)    - Мама проверяет холодильник. Мама видит, что молока нет. (Мама доверяет, что папа изначально принял правильное решение, дав адрес молочнику, и молочник изначально принял правильное решение, сохранив адрес дома и номер телефона мамы.)
4)    - Мама звонит молочнику (Мама доверяет только решению папы)
5)    - Молочник доставляет молоко маме.
6) - Мама даёт молоко ребёнку.
7) - Ребёнок пьёт молоко.
8) - Ребёнок счастлив.
9) - Ребёнок спит.
10) - Мама видит, что ребёнок счастлив и спит.
11) - Мама счастлива и теперь доверяет молочнику.

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

Итак, это просто, правда? Так легко понять, кто эти люди в истории?

  • Ребёнок — клиент.
  • Мама — клиент.
  • Папа — клиент.
  • Молочник — сервер.

также,

  • Ребёнок может быть сервером в [БУДУЩЕМ].
  • Мама — сервер для ребёнка.
  • Папа — сервер для мамы.
  • Молочник — сервер для папы.
  • Молочник — сервер для мамы.

Ребёнок в надёжных руках. Не о чем беспокоиться. Они любят тебя, ты поймёшь, когда вырастешь и у тебя будет свой ребёнок.

// Техническое объяснение шагов скоро, но оно не такое сложное, как кажется.

Что такое HSTP?

HSTP — это интерфейс, набор методов, которые должны быть реализованы на прикладном уровне. Интерфейс используется для взаимодействия с другими узлами сети. Интерфейс предназначен для использования в гетерогенной сети.

Что такое узел HSTP?

HSTP должен быть реализован на любом уровне сетевых устройств/среды.

Узел HSTP может быть TCP-сервером, HTTP-сервером, статическим файлом или контрактом в любой цепочке. Один узел HSTP может вызывать любой другой узел HSTP. Таким образом, узлы могут свободно вызывать друг друга, проверять состояние своих систем и общаться между собой.

Какой уровень абстракции для сетей?

HSTP уже реализован на уровне языка, людьми для людей. Английский — наиболее распространённый язык на Земле. JavaScript, возможно, также является наиболее распространённым языком для браузерных сред. Solidity — для EVM-совместимых цепочек, hyperbees — для TCP-сетей и т.д.

Интерфейс HSTP должен применяться между любыми устройствами/сетями, подключёнными к HSTP.

  • [Вселенная] общается с [Вселенной] через [HSTP]
    • [Вид] вселенная общается через мир.
      • [Мир] Земля общается с помощью звуковых частот и HSTP.
        • [Страна] X на X-ском языке и HSTP.
          • [Сообщество] CommunityX на CommunityX-ском.
        • [Страна] Y на Y-ском и HSTP.
        • [Страна] Z на Z-ском и HSTP.
      • [Мир] Марс общается с помощью радиочастот.
        • [Бактерия] UUU-1 общается на UUU-1-ском и HSTP.
          • Информация: UUU-1 может вызвать, universe/kind/world/Earth/X/CommunityX/query
      • [Мир] Юпитер общается с помощью световых частот и не реализует HSTP.
        • Информация: Если Земля захочет поговорить с Юпитером, мы можем добавить один HSTP-прокси на Юпитере во вселенной.
    • [Вид] вселенная общается через атомы и HSTP.
      • [Атомы] ... и HSTP.
        • ... и HSTP.
          • [Y] ... и HSTP.
            • Информация: [Y] может общаться с universe/kind/world/Mars/Bacteria/UUU-1/query
      • [Атомы] ... и HSTP.
        • ... и HSTP.
          • [Y] ... и HSTP.
            • Информация: [Y] может общаться с universe/kind/world/Mars/Bacteria/UUU-1/query Информация: Вид вселенная может общаться с Марсом, и Марс также может общаться с видом вселенная.

Какова цель HSTP?

Бесконечные возможности масштабирования: Любое устройство с TCP может общаться с любым другим устройством с TCP через HSTP. Это означает, что любой веб-браузер является сервером другого узла HSTP, и любой веб-браузер может вызывать любой другой веб-браузер.

Универсальный интерфейс представления приложений: HSTP — это универсальный интерфейс, набор методов, которые должны быть реализованы на прикладном уровне.

Гетерогенные сети: Любому участнику сети разрешается делиться ресурсами с другими участниками сети. Ресурсами могут быть процессор, память, хранилище, сеть и т.д.

Объединение версий веба Поскольку технологии блокчейна называют web3, люди начали обсуждать различия между вебами. Сравнение — это поведение, свойственное мышлению, основанному на инкрементной числовой системе образования. Какой лучше? Никакой. Мы должны создавать системы, которые могут общаться по единому протоколу, а внутри службы могут быть любыми. HSTP нацелен на это.

Каковы компоненты HSTP?

Интерфейс реестра Интерфейс реестра предназначен для использования на TCP-уровне, чтобы можно было регистрировать узлы верхнего уровня в сети. Первая реализация TCP-ретранслятора HSTP будет разрешать hstp/

Реестр состоит из двух частей интерфейса:

  • Метод Register, который используется для регистрации нового узла в сети.
  • Метод Resolve, который используется для разрешения узла в сети.

Реализация реестра требует два узла HSTP:

  1. Hyperbees
    • Гетерогенные сети будут разрешать реестр RPC, TCP, HTTP, HSTP и т.д.
  2. Registry.sol на любой EVM-совместимой цепочке (Ethereum, Binance Smart Chain, Polygon и т.д.)
    • Registry.sol будет разрешать реестр узлов HSTP. Это может быть ретранслировано через другие сети.

Интерфейс маршрутизатора

Для демонстрационных целей мы будем использовать следующий пример на Solidity:

root@kitploit:~
// SPDX-License-Identifier: GNU-3.0-or-later
pragma solidity ^0.8.0;

import "./HSTP.sol";
import "./ERC165.sol";

enum Operation {
    Query,
    Mutation
}

struct Response {
    uint256 status;
    string body;
}

struct Registry {
    HSTP resolver;
}

// HSTP/Router.sol
abstract contract Router is ERC165 {
    event Log(address indexed sender, Operation operation, bytes payload);
    event Register(address indexed sender, Registry registry);
    mapping(string => Registry) public routes;

    function reply(string memory name, Operation _operation, bytes memory payload) public virtual payable returns(Response memory response) {
        emit Log(msg.sender, _operation, payload);
        // Traverse upwards and downwards of the tree.
        // Tries to find the closest path for given operation.
        // If the route is registered on HSTP node, reply from children node.
        // If the node do not have the route on this node, ask for parent.
        if (routes[name]) {
            if (_operation == Operation.Query) {
                return this.query(payload);
            } else if (_operation == Operation.Mutation) {
                return this.mutation(payload);
            }
        }
        return super.reply(name, _operation, payload);
    }

    function query(string memory name, bytes memory payload) public view returns (Response memory) {
        return routes[name].resolver.query(payload);
    }

    function mutation(string memory name, bytes memory payload) public payable returns (Response memory) {
        return routes[name].resolver.mutation(payload);
    }

    function register(string memory name, HSTP node) public {
        Registry memory registry = Registry({
            resolver: node
        });
        emit Register(msg.sender, registry);
        routes[name] = registry;
    }

    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(HSTP).interfaceId;
    }
}

Интерфейс HSTP

root@kitploit:~
// SPDX-License-Identifier: GNU-3.0-or-later
pragma solidity ^0.8.0;

import "./Router.sol";

// Stateless Hyper Service Transfer Protocol for on-chain services.
// Will implement: EIP-4337 when it's on final stage.
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4337.md
abstract contract HSTP is Router {
    constructor(string memory name) {
        register(name, this);
    }

    function query(bytes memory payload)
        public
        view
        virtual
        returns (Response memory);

    function mutation(bytes memory payload)
        public
        payable
        virtual
        returns (Response memory);
}

Пример узла HSTP

Узел HSTP имеет доступ к вызову родительского маршрутизатора через метод super.reply(name, operation, payload). Узел HSTP также может вызывать дочерние узлы, вызывая this.query(payload) или this.mutation(payload).

Узел HSTP может быть смарт-контрактом, веб-браузером или устройством с TCP.

Узел обладает полной возможностью добавлять новые узлы HSTP в сеть или в себя как подсервисы.

root@kitploit:~
      HSTP  HSTP
    /    \   /  \
  HSTP   HSTP  HSTP
        /    \
      HSTP  HSTP
    /       /
    HSTP   HSTP
root@kitploit:~
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;

import "hstp/HSTP.sol";

// Stateless Hyper Service Transfer Protocol for on-chain services.
contract Todo is HSTP("Todo") {

    struct ITodo {
        string todo;
    }
    
    function addTodo(ITodo memory request) public payable returns(Response memory response) {
        response.body = request.todo;
        return response;
    }

    // Override for HSTP.
    function query(bytes memory payload)
        public
        view
        virtual
        override
        returns (Response memory) {}

    function mutation(bytes memory payload)
        public
        payable
        virtual
        override
        returns (Response memory) {
            (ITodo memory request) = abi.decode(payload, (ITodo));
            return this.addTodo(request);
        }
}

Предложение

Предложение для Ethereum пока в черновике, но протокол имеет эталонную реализацию Todo.sol.

Отличные веб-сервисы, работающие поверх HSTP

Полный список здесь

Hello world

Вы можете протестировать HSTP и попробовать его на Remix прямо сейчас.

Как играть с протоколом?

  • Скопируйте исходный код ниже на https://remix.ethereum.org/
  • Разверните на любой EVM-совместимой цепочке.
  • Вызывайте функции и пробуйте разные топологии сети на HSTP.
root@kitploit:~
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;

import "hstp/HSTP.sol";

// Stateless Hyper Service Transfer Protocol for on-chain services.
contract Todo is HSTP("Todo") {

    struct TodoRequest {
        string todo;
    }
    
    function addTodo(TodoRequest memory request) public payable returns(Response memory response) {
        response.body = request.todo;
        return response;
    }

    // Override for HSTP.
    function query(bytes memory payload)
        public
        view
        virtual
        override
        returns (Response memory) {}

    function mutation(bytes memory payload)
        public
        payable
        virtual
        override
        returns (Response memory) {
            (TodoRequest memory todoRequest) = abi.decode(payload, (TodoRequest));
            return this.addTodo(todoRequest);
        }
}

Вклад:

Вклад на уровне разработчика

  • Напишите приложение todo с HSTP, разверните с помощью remix и протестируйте его.
  • Нарисуйте пример архитектуры HSTP (архитектура без серверов).

Вклад на уровне ядра

  • Реализуйте интерфейс HSTP на TCP-уровне в hyperbees, [Вселенная]
    • hyperbees и HSTP будут первой реализацией HSTP.
    • Это охватит вселенский аспект сетей. Это приведет нас к полностью децентрализованному вебу на HSTP.
  • Реализуйте интерфейс HSTP на RPC-уровне в Solidity [Web3]
    • Solidity - Пример узла HSTP
  • Реализуйте сложную архитектуру без серверов на интерфейсе HSTP с помощью Solidity [Web3]
    • Solidity - CoolBook (Псевдо-архитектура без серверов)
  • Реализуйте интерфейс HSTP на HTTP-уровне в JavaScript [Web]
    • Интерфейсы HSTP близки к состоянию POC. HTML - Пример узла HSTP

Вдохновение:

  • Применимость протокола маршрутизации Babel https://datatracker.ietf.org/doc/rfc8965/
  • EIP: Расширенный интернет-протокол. Структура для поддержания обратной совместимости - https://datatracker.ietf.org/doc/html/rfc1385
  • Мышление Humanode
    • Почему это не Humanode: Они слишком высокоуровневые для этой абстракции, пока что, но правильный путь — HSTP.
  • Абстракция на уровне Solidity для Hyper Service Transfer Protocol (Diamond protocol eip-2535)
    • Почему это не Diamond: https://blog.trailofbits.com/2020/10/30/good-idea-bad-design-how-the-diamond-standard-falls-short/
  • Абстракция на уровне TCP для Hyper Service Transfer Protocol (libp2p)
    • Отсутствует уровень представления приложений.
  • Почему это не libp2p: Нет уровня представления приложений. Это просто сетевой уровень.
  • Подход абстракции на уровне TCP: https://datatracker.ietf.org/doc/html/rfc1347

Лицензия

GNU GENERAL PUBLIC LICENSE V3

Основные участники

  • Cagatay Cali
  • Buğra Yıldız
  • Erdal Çay

Спонсоры

  • eunomia.team - логотип и дизайн

Автор

Cagatay Cali

Скачать инструмент
  • Почему это не RFC1347: Это не стандарт, это всего лишь предложение. Отсутствует уровень представления приложений.