Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
HSTP — Marco de protocolo de capa de aplicación para comunicación cifrada de extremo a extremo basada en confianza a través de redes heterogéneas, permitiendo el descubrimiento y enrutamiento uniforme de servicios en capas TCP, HTTP y blockchain. | Kitploit
Herramientas/GitHubGitHub/cagataycali/hstp
Seguridad WebSeguridad de RedesCriptografíaUtilidades y Frameworks
GitHubcagataycali/hstp

HSTP

Marco de protocolo de capa de aplicación para comunicación cifrada de extremo a extremo basada en confianza a través de redes heterogéneas, permitiendo el descubrimiento y enrutamiento uniforme de servicios en capas TCP, HTTP y blockchain.

Ver Repositorio
1555hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Protocolo de Texto Simple Hiper en Redes

HSTP - Hyper Service Transfer Protocol on Computer Networks

Pruébalo ahora: https://hstp.ai

root@kitploit:~
npx hstp;

El protocolo tiene como objetivo desarrollar una abstracción de capa de aplicación para el Protocolo de Transferencia de Servicio Hyper.

HSTP es una recursión como naturaleza de HSTP. Este protocolo se implementa a sí mismo como una interfaz. En cada dispositivo conectado a Internet, hay una instancia de HSTP. Por eso no se necesita adopción. HSTP ya está ejecutándose sobre Internet. Ahora hemos logrado explicar el protocolo sobre protocolos en redes heterogéneas. Por eso no lo compares con web2, web3 o viceversa.

Resumen

HSTP es una interfaz de representación de aplicaciones para redes heterogéneas.

La interfaz HSTP obliga a implementar un conjunto de métodos para poder comunicarse con otros nodos en la red. Así, los servidores, clientes y otros nodos pueden comunicarse entre sí de forma basada en confianza y cifrada de extremo a extremo. Con el tiempo, la resolución de nodos se basa en el algoritmo de resolución de ruta más rápida que escribí.

Protocolo para Bebés 🍼 <- 👀 <- 👶:

¡Hora del cuento!

  • ¡Bebé llorando! 👶
  • ¡Necesita leche! 🍼
  • Mamá tiene un problema.
  • Papá tiene un problema.
  • ¡Arreglemos esto!

Un pequeño resumen

Imagina que estamos en la situación de una madre y un padre que viven una vida feliz. ¡Tuvieron un bebé! De repente, la madre necesitaba tomar pastillas regularmente para curar una enfermedad. La pastilla es un veneno para el bebé. El bebé llora y la madre llama al padre porque es la única persona de confianza para ayudar al bebé. Pero el padre a veces no puede quedarse en casa, necesita hacer algo para alimentar al bebé. El padre oye que un lechero tiene leche fresca y de alta calidad a bajo precio. El padre decide intentar hablar con el lechero, el lechero entrega la leche al padre, el padre lleva la leche a la madre. La madre da la leche al bebé. El bebé ahora está feliz y se duerme, la madre ve que el bebé está feliz.

La familia nunca compra leche del exterior, esta es la primera vez que compran leche para el bebé: (Mamá no conoce el número del lechero, el lechero no conoce la dirección de la casa)

root@kitploit:~
Como pasos:

0)  - El bebé quiere beber leche.
1)  - El bebé llora a la mamá.
3)  - Mamá ve que el bebé llora.
4)     - Mamá revisa la nevera. Mamá ve que la leche está vacía. (Mamá solo confía en el papá)
5)        - Mamá llama al papá.
6)        - Papá llama al lechero.
7)        - Lechero entrega la leche al papá.
8)        - Papá entrega la leche a mamá.
9)  - Mamá le da la leche al bebé.
10) - El bebé toma la leche.
11) - El bebé está feliz.
12) - El bebé duerme.
13) - Mamá ve que el bebé está feliz y duerme.
14) - Para poder contactar nuevamente al lechero, la mamá le pide al papá que le diga que quiere que el lechero guarde la dirección de la casa y el teléfono móvil de la mamá.
15)     - Mamá llama al papá.
16)     - Papá llama al lechero.
17)     - Lechero guarda la dirección de la casa y el teléfono móvil de la mamá.

Vaya, al día siguiente el bebé se despierta y vuelve a llorar,
0) - El bebé quiere beber leche.
1) - El bebé llora a la mamá.
2) - Mamá ve que el bebé llora.
3)    - Mamá revisa la nevera. Mamá ve que la leche está vacía. (Mamá confía en que el papá tomó la decisión correcta la primera vez al dar la dirección al lechero, y el lechero tomó la decisión correcta la primera vez al guardar la dirección de la casa y el teléfono móvil de la mamá.)
4)    - Mamá llama al lechero (Mamá solo confía en la decisión del papá)
5)    - Lechero entrega la leche a mamá.
6) - Mamá le da la leche al bebé.
7) - El bebé toma la leche.
8) - El bebé está feliz.
9) - El bebé duerme.
10) - Mamá ve que el bebé está feliz y duerme.
11) - Mamá está feliz y ahora confía en el lechero.

este documento que estás leyendo es un manifiesto para que las personas de internet se conecten con otras personas confiando en que el servicio sirve al cliente y la confianza solo se puede mantener proporcionando buenos servicios. la confianza es la clave, pero no es suficiente para sobrevivir. el servicio debe ser confiable, consistente, barato. de lo contrario, las personas decidirán no pedirte nuevamente.

Entonces, es fácil, ¿verdad? Es muy simple de entender, ¿quiénes son esas personas en la historia?

  • El bebé es un cliente.
  • Mamá es un cliente.
  • Papá es un cliente.
  • El lechero es un servidor.

además,

  • El bebé podría ser un servidor en [TIEMPO].
  • Mamá es un servidor para el bebé.
  • Papá es un servidor para mamá.
  • Lechero es un servidor para papá.
  • Lechero es un servidor para mamá.

El bebé está en manos de confianza. No hay nada de qué preocuparse. Te aman, lo entenderás cuando crezcas y tengas un hijo.

// Explicación técnica de los pasos próximamente, pero no es tan difícil como parece.

¿Qué es HSTP?

HSTP es una interfaz, que es un conjunto de métodos que deben ser implementados por la capa de aplicación. La interfaz se utiliza para comunicarse con otros nodos en la red. La interfaz está diseñada para ser utilizada en una red heterogénea.

¿Qué es un nodo HSTP?

HSTP debe implementarse en cualquier capa de dispositivos/entornos conectados en red.

Un nodo HSTP podría ser un servidor TCP, un servidor HTTP, un archivo estático o un contrato en cualquier cadena. Un nodo HSTP puede llamar a cualquier otro nodo HSTP. Así, los nodos pueden llamarse libremente entre sí, pueden verificar su estado del sistema y pueden comunicarse entre sí.

¿Qué tipo de capa de abstracción para redes?

HSTP ya está implementado a nivel de lenguaje, por personas y para personas. El inglés es el idioma más adoptado en la Tierra. JavaScript también podría ser el idioma más adoptado para entornos de navegador. Solidity es para cadenas basadas en EVM, hyperbees para redes basadas en TCP, etc.

La interfaz HSTP debe aplicarse entre cualquier dispositivo/red conectado a HSTP.

  • [Universo] habla con [Universo] mediante [HSTP]
    • [Tipo] universo habla a través del mundo.
      • [Mundo] Tierra habla con frecuencias de sonido y HSTP.
        • [País] X frecuencias de sonido en Xish y HSTP.
          • [Comunidad] ComunidadX Xish en ComunidadXish.
        • [País] Y habla Yish y HSTP.
        • [País] Z habla Zish y HSTP.
      • [Mundo] Marte habla con frecuencias de radio.
        • [Bacteria] UUU-1 habla UUU-1ish y HSTP.
          • Info: UUU-1 puede llamar a universo/tipo/mundo/Tierra/X/ComunidadX/consulta
      • [Mundo] Júpiter habla con frecuencias de luz y no implementa HSTP.
        • Info: Si la Tierra quiere hablar con Júpiter, podemos agregar un proxy HSTP a Júpiter en el universo.
    • [Tipo] universo habla a través de átomos y HSTP.
      • [Átomos] ... y HSTP.
        • ... y HSTP.
          • [Y] ... y HSTP.
            • Info: [Y] puede hablar con universo/tipo/mundo/Marte/Bacteria/UUU-1/consulta
      • [Átomos] ... y HSTP.
        • ... y HSTP.
          • [Y] ... y HSTP.
            • Info: [Y] puede hablar con universo/tipo/mundo/Marte/Bacteria/UUU-1/consulta Info: El tipo universo puede hablar con Marte, y Marte también puede hablar con el tipo universo.

¿Cuál es el propósito de HSTP?

Opciones de escalado infinitas: Cualquier dispositivo conectado por TCP puede hablar con cualquier otro dispositivo conectado por TCP a través de HSTP. Esto significa que cualquier navegador web es un servidor de otro nodo HSTP, y cualquier navegador web puede llamar a cualquier otro navegador web.

Interfaz uniforme de representación de aplicaciones: HSTP es una interfaz uniforme, que es un conjunto de métodos que deben ser implementados por la capa de aplicación.

Redes heterogéneas: Cualquier participante de la red puede compartir los recursos con otros participantes de la red. Los recursos pueden ser CPU, memoria, almacenamiento, red, etc.

Conjugación de versiones web Dado que las tecnologías blockchain se denominan web3, la gente comenzó a discutir sobre las diferencias entre las webs. Comparar es un comportamiento de la mentalidad de la educación en sistemas numéricos incrementales. ¿Cuál es mejor? Ninguno. Tenemos que construir sistemas que puedan hablar en un protocolo uniforme; los servicios subyacentes pueden ser cualquier cosa. HSTP apunta a eso.

¿Cuáles son los componentes de HSTP?

Interfaz de registro La interfaz de registro está diseñada para usarse en la capa TCP, para poder registrar nodos tld de nivel superior en la red. La primera implementación del relé TCP HSTP resolverá hstp/

El registro tiene dos partes de la interfaz:

  • Método Register, que se utiliza para registrar un nuevo nodo en la red.
  • Método Resolve, que se utiliza para resolver un nodo en la red.

La implementación del registro necesita dos nodos HSTP:

  1. Hyperbees
    • Las redes heterogéneas resolverán el registro de RPC, TCP, HTTP, HSTP, etc.
  2. Registry.sol en cualquier cadena basada en EVM (Ethereum, Binance Smart Chain, Polygon, etc.)
    • Registry.sol resolverá el registro de nodos HSTP. Esto se puede retransmitir a través de otras redes.

Interfaz de enrutador

Con fines de demostración, utilizaremos el siguiente ejemplo en 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;
    }
}

Interfaz 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);
}

Ejemplo de nodo HSTP

Un nodo HSTP tiene acceso para llamar al enrutador padre mediante el método super.reply(name, operation, payload). Un nodo HSTP también puede llamar a nodos hijos llamando a los métodos this.query(payload) o this.mutation(payload).

Un nodo HSTP puede ser un contrato inteligente, un navegador web o un dispositivo conectado por TCP.

El nodo tiene plena capacidad de agregar más nodos HSTP a la red o a sí mismo como subservicios.

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);
        }
}

Propuesta

La propuesta de Ethereum es un borrador por ahora, pero el protocolo tiene una implementación de referencia Todo.sol.

Servicios web increíbles ejecutándose sobre HSTP

Lista completa aquí

Hola mundo

Puedes probar HSTP y probarlo en remix ahora.

¿Cómo jugar con el protocolo?

  • Copia el código fuente a continuación en https://remix.ethereum.org/
  • Despliega en cualquier cadena basada en EVM.
  • Llama a las funciones y prueba diferentes topologías de red en 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);
        }
}

Contribuir:

Contribución a nivel de desarrollador

  • Escribe una aplicación de tareas con HSTP, despliega con remix y pruébala.
  • Dibuja una arquitectura de ejemplo de HSTP (arquitectura sin servidores).

Contribución a nivel central

  • Implementar la interfaz HSTP en la capa TCP en hyperbees, [Universe]
    • hyperbees y HSTP serán la primera implementación de HSTP.
    • Eso cubrirá la frase de universo de redes. Eso nos traerá una web completamente descentralizada sobre HSTP.
  • Implementar la interfaz HSTP en la capa RPC en Solidity [Web3]
    • Solidity - Ejemplo de nodo HSTP
  • Implementar una arquitectura compleja sin servidores en la interfaz HSTP con Solidity [Web3]
    • Solidity - CoolBook (Arquitectura pseudo sin servidores)
  • Implementar la interfaz HSTP en la capa HTTP en JavaScript [Web]
    • Las interfaces HSTP están cerca del estado POC. HTML - Ejemplo de nodo HSTP

Inspiraciones:

  • Aplicabilidad del Protocolo de Enrutamiento Babel https://datatracker.ietf.org/doc/rfc8965/
  • EIP: El Protocolo de Internet Extendido Un Marco para Mantener la Compatibilidad hacia Atrás - https://datatracker.ietf.org/doc/html/rfc1385
  • Mentalidad Humanode
    • Por qué no es Humanode: Están a un nivel demasiado alto para esta abstracción, pero el camino correcto es HSTP.
  • Abstracción a nivel de Solidity para el Protocolo de Transferencia de Servicio Hiper (Protocolo Diamond eip-2535)
    • Por qué no es un diamond: https://blog.trailofbits.com/2020/10/30/good-idea-bad-design-how-the-diamond-standard-falls-short/
  • Abstracción a nivel TCP para el Protocolo de Transferencia de Servicio Hiper (libp2p)
    • Falta la capa de representación de aplicaciones.
  • Por qué no es libp2p: No hay capa de representación de aplicaciones. Es solo una capa de red.
  • Enfoque de abstracción de capa TCP: https://datatracker.ietf.org/doc/html/rfc1347

Licencia

GNU GENERAL PUBLIC LICENSE V3

Contribuyentes principales

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

Patrocinadores

  • eunomia.team - logo & diseño

Autor

Cagatay Cali

Descargar herramienta
  • Por qué no es RFC1347: No es un estándar, es solo una propuesta. Falta la capa de representación de aplicaciones.