Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
HSTP — Quadro di protocolli a livello applicativo per comunicazioni crittografate end-to-end basate sulla fiducia attraverso reti eterogenee, permettendo la scoperta dei servizi e il routing uniformi sugli strati TCP, HTTP e blockchain. | Kitploit
Strumenti/GitHubGitHub/cagataycali/hstp
Sicurezza WebSicurezza di ReteCrittografiaUtilità e Framework
GitHubcagataycali/hstp

HSTP

Quadro di protocolli a livello applicativo per comunicazioni crittografate end-to-end basate sulla fiducia attraverso reti eterogenee, permettendo la scoperta dei servizi e il routing uniformi sugli strati TCP, HTTP e blockchain.

Vedi Repository
15552 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Hyper Simple Text Protocol on Networks

HSTP - Hyper Service Transfer Protocol on Computer Networks

Provalo ora: https://hstp.ai

root@kitploit:~
npx hstp;

Il protocollo mira a sviluppare un'astrazione a livello di applicazione per l'Hyper Service Transfer Protocol.

HSTP è una ricorsione come natura di HSTP. Questo protocollo implementa se stesso come interfaccia. Su ogni dispositivo connesso a Internet, esiste un'istanza HSTP. Ecco perché l'adozione non è necessaria. HSTP è già in esecuzione al di sopra di Internet. Solo ora siamo riusciti a spiegare il protocollo attraverso protocolli su reti eterogenee. Ecco perché non confrontarlo con web2, web3 o viceversa.

Astratto

HSTP è un'interfaccia di rappresentazione delle applicazioni per reti eterogenee.

L'interfaccia HSTP impone di implementare un insieme di metodi per poter comunicare con altri nodi nella rete. Così i servizi, i client e gli altri nodi possono comunicare tra loro in modo basato sulla fiducia, crittografato end-to-end. Col tempo, la risoluzione dei nodi si basa su algoritmo di risoluzione del percorso più veloce che ho scritto.

Protocollo per neonati 🍼 <- 👀 <- 👶:

Ora di storia!

  • Il bambino piange! 👶
  • Ha bisogno di latte! 🍼
  • La mamma ha un problema.
  • Il papà ha un problema.
  • Risolviamo!

Una piccola panoramica

Immagina, siamo nella situazione di una madre e un padre che vivono una vita felice. Hanno avuto un bambino! All'improvviso, la madre ha bisogno di prendere pillole regolarmente per curare una malattia. La pillola è un veleno per il bambino. Il bambino piange e la madre chiama il padre perché è l'unica persona di cui si fida per aiutare il bambino. Ma il padre a volte non può stare a casa, ha bisogno di fare qualcosa per nutrire il bambino. Il padre sente che un lattaio ha latte fresco e di alta qualità a basso prezzo. Il padre decide di provare a parlare con il lattaio, il lattaio consegna il latte al padre, il padre porta il latte alla madre. La madre dà il latte al bambino. Il bambino è felice ora e dorme, la madre vede che il bambino è felice.

La famiglia non ha mai comprato il latte dall'esterno, questa è la prima volta che comprano latte per il bambino: (La mamma non conosce il numero del lattaio, il lattaio non conosce l'indirizzo di casa)

root@kitploit:~
Come passaggi:

0)  - Il bambino vuole bere il latte.
1)  - Il bambino piange alla mamma.
3)  - La mamma vede che il bambino piange.
4)     - La mamma controlla il frigo. La mamma vede che il latte è finito. (La madre si fida solo del padre)
5)        - La mamma chiama il padre.
6)        - Il padre chiama il lattaio.
7)        - Il lattaio consegna il latte al padre.
8)        - Il padre consegna il latte alla mamma.
9)  - La mamma dà il latte al bambino.
10) - Il bambino beve il latte.
11) - Il bambino è felice.
12) - Il bambino dorme.
13) - La mamma vede che il bambino è felice e dorme.
14) - Per poter contattare di nuovo il lattaio, la madre chiede al padre di dirle che vuole che il lattaio salvi l'indirizzo di casa e il cellulare della madre.
15)     - La madre chiama il padre.
16)     - Il padre chiama il lattaio.
17)     - Il lattaio salva l'indirizzo di casa e il cellulare della madre.

Ops, il giorno dopo il bambino si sveglia e piange di nuovo,
0) - Il bambino vuole bere il latte.
1) - Il bambino piange alla mamma.
2) - La mamma vede che il bambino piange.
3)    - La mamma controlla il frigo. La mamma vede che il latte è finito. (La madre si fida che il padre abbia preso la decisione giusta la prima volta dando l'indirizzo al lattaio, e il lattaio abbia preso la decisione giusta la prima volta salvando l'indirizzo di casa e il cellulare della madre.)
4)    - La mamma chiama il lattaio (La madre si fida solo della decisione del padre)
5)    - Il lattaio consegna il latte alla mamma.
6) - La mamma dà il latte al bambino.
7) - Il bambino beve il latte.
8) - Il bambino è felice.
9) - Il bambino dorme.
10) - La mamma vede che il bambino è felice e dorme.
11) - La mamma è felice e ora si fida del lattaio.

questo documento che stai leggendo è un manifesto per le persone di Internet per connettere altre persone fidandosi che il servizio serva il cliente e la fiducia può essere mantenuta solo fornendo buoni servizi. la fiducia è la chiave, ma non basta per sopravvivere. il servizio deve essere affidabile, coerente, economico. altrimenti le persone decideranno di non chiederti più.

Quindi, è facile, vero? È semplicissimo da capire, chi sono quelle persone nella storia?

  • Il bambino è un cliente.
  • La mamma è un cliente.
  • Il papà è un cliente.
  • Il lattaio è un server.

inoltre,

  • Il bambino potrebbe essere un server [TEMPO].
  • La mamma è un server per il bambino.
  • Il papà è un server per la mamma.
  • Il lattaio è un server per il papà.
  • Il lattaio è un server per la mamma.

Il bambino è in mani fidate. Non c'è nulla di cui preoccuparsi. Ti amano, lo capirai quando crescerai e avrai un figlio.

// Spiegazione tecnica dei passaggi presto, ma non così difficile come vedi.

Cos'è un HSTP?

HSTP è un'interfaccia, ovvero un insieme di metodi che devono essere implementati dal livello applicativo. L'interfaccia viene utilizzata per comunicare con altri nodi nella rete. L'interfaccia è progettata per essere utilizzata in una rete eterogenea.

Cos'è un nodo HSTP?

HSTP deve essere implementato su qualsiasi livello di dispositivi/ambienti connessi in rete.

Un nodo HSTP potrebbe essere un server TCP, server HTTP, file statico o contratto su qualsiasi catena. Un nodo HSTP è in grado di chiamare qualsiasi altro nodo HSTP. Pertanto i nodi possono chiamarsi liberamente l'un l'altro, possono controllare il loro stato di sistema e possono comunicare tra loro.

Che tipo di livello di astrazione per le reti?

HSTP è già implementato a livello di linguaggio, dalle persone per le persone. L'inglese è la lingua più adottata sulla Terra. JavaScript potrebbe essere anche il linguaggio più adottato per gli ambienti browser. Solidity per le catene basate su EVM, hyperbees per le reti basate su TCP, ecc.

L'interfaccia HSTP deve essere applicata tra qualsiasi dispositivo/rete connessa a HSTP.

  • [Universo] parla con [Universo] tramite [HSTP]
    • [Tipo] universo parla attraverso il mondo.
      • [Mondo] Terra parla con frequenze sonore e HSTP.
        • [Paese] X frequenze sonore in Xish e HSTP.
          • [Comunità] ComunitàX Xish su ComunitàXish.
        • [Paese] Y parla Yish e HSTP.
        • [Paese] Z parla Zish e HSTP.
      • [Mondo] Marte parla con frequenze radio.
        • [Batterio] UUU-1 parla UUU-1ish e HSTP.
          • Info: UUU-1 può chiamare, universo/tipo/mondo/Terra/X/ComunitàX/query
      • [Mondo] Giove parla con frequenze luminose e non implementa HSTP.
        • Info: Se la Terra vuole parlare con Giove, possiamo aggiungere un proxy HSTP su Giove nell'universo.
    • [Tipo] universo parla attraverso atomi e HSTP.
      • [Atomi] ... e HSTP.
        • ... e HSTP.
          • [Y] ... e HSTP.
            • Info: [Y] può parlare con universo/tipo/mondo/Marte/Batterio/UUU-1/query
      • [Atomi] ... e HSTP.
        • ... e HSTP.
          • [Y] ... e HSTP.
            • Info: [Y] può parlare con universo/tipo/mondo/Marte/Batterio/UUU-1/query Info: Il tipo universo può parlare con Marte, e Marte può anche parlare con il tipo universo.

Qual è lo scopo di HSTP?

Opzioni di scaling infinite: Qualsiasi dispositivo connesso TCP può parlare con qualsiasi altro dispositivo connesso TCP tramite HSTP. Ciò significa che qualsiasi browser web è server di un altro nodo HSTP e qualsiasi browser web può chiamare qualsiasi altro browser web.

Interfaccia di rappresentazione uniforme delle applicazioni: HSTP è un'interfaccia uniforme, ovvero un insieme di metodi che devono essere implementati dal livello applicativo.

Reti eterogenee: Qualsiasi partecipante della rete può condividere le risorse con altri partecipanti della rete. Le risorse possono essere CPU, memoria, storage, rete, ecc.

Congiunzione delle versioni web Poiché le tecnologie blockchain vengono chiamate web3, le persone hanno iniziato a discutere delle differenze tra i web. Il confronto è un comportamento tipico della mentalità dell'educazione numerica incrementale. Quale è migliore: nessuna. Dobbiamo costruire sistemi che possano parlare con un protocollo uniforme, i servizi sottostanti possono essere qualsiasi cosa. HSTP mira a questo.

Quali sono i componenti di HSTP?

Interfaccia di registro L'interfaccia di registro è progettata per essere utilizzata a livello TCP, per poter registrare i nodi tld di livello superiore nella rete. La prima implementazione del relay TCP HSTP risolverà hstp/

Il registro ha due parti dell'interfaccia:

  • Metodo Register, che viene utilizzato per registrare un nuovo nodo nella rete.
  • Metodo Resolve, che viene utilizzato per risolvere un nodo nella rete.

L'implementazione del registro necessita di due nodi HSTP,

  1. Hyperbees
  • Le reti eterogenee risolveranno il registro di RPC, TCP, HTTP, HSTP ecc.
  1. Registry.sol su qualsiasi catena basata su EVM. (Ethereum, Binance Smart Chain, Polygon, ecc.)
  • Registry.sol risolverà il registro dei nodi HSTP. Può essere relayato su altre reti.

Interfaccia Router

A scopo dimostrativo, utilizzeremo il seguente esempio in 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;
    }
}

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

Esempio di nodo HSTP

Un nodo HSTP ha accesso per chiamare il router padre tramite il metodo super.reply(name, operation, payload). Un nodo HSTP può anche chiamare i nodi figli chiamando this.query(payload) o this.mutation(payload).

Un nodo HSTP può essere uno smart contract, o un browser web, o un dispositivo connesso TCP.

Il nodo ha piena capacità di aggiungere più nodi HSTP alla rete o a se stesso come sottoservizi.

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

Proposta

La proposta per Ethereum è una bozza per ora, ma il protocollo ha un'implementazione di riferimento Todo.sol.

Servizi web fantastici che girano su HSTP

Lista completa qui

Hello world

Puoi testare HSTP e provarlo su remix ora.

Come giocare con il protocollo?

  • Copia il codice sorgente qui sotto su https://remix.ethereum.org/
  • Distribuisci su qualsiasi catena basata su EVM.
  • Chiama le funzioni e prova diverse topologie di rete su 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);
        }
}

Contribuisci:

Contributo a livello sviluppatore

  • Scrivi un'applicazione todo con HSTP, distribuiscila con remix e testala.
  • Disegna un'architettura di esempio di HSTP (architettura senza server).

Contributo a livello core

  • Implementa l'interfaccia HSTP a livello TCP su hyperbees, [Universe]
    • hyperbees e HSTP saranno la prima implementazione di HSTP.
    • Ciò coprirà la frase universo delle reti. Ci porterà il web completamente decentralizzato su HSTP.
  • Implementa l'interfaccia HSTP a livello RPC su Solidity [Web3]
    • Solidity - Esempio nodo HSTP
  • Implementa un'architettura complessa senza server sull'interfaccia HSTP con Solidity [Web3]
    • Solidity - CoolBook (Architettura pseudo senza server)
  • Implementa l'interfaccia HSTP a livello HTTP su JavaScript [Web]
    • Le interfacce HSTP sono vicine allo stato POC. HTML - Esempio nodo HSTP

Ispirazioni:

  • Applicabilità del protocollo di routing Babel https://datatracker.ietf.org/doc/rfc8965/
  • EIP: The Extended Internet Protocol A Framework for Maintaining Backward Compatibility - https://datatracker.ietf.org/doc/html/rfc1385
  • Mentalità Humanode
    • Perché non è un Humanode: Sono troppo di alto livello per questa astrazione, al momento, ma il percorso corretto è HSTP.
  • Astrazione a livello Solidity per l'Hyper Service Transfer Protocol (Diamond protocol eip-2535)
    • Perché non è un diamond: https://blog.trailofbits.com/2020/10/30/good-idea-bad-design-how-the-diamond-standard-falls-short/
  • Astrazione a livello TCP per l'Hyper Service Transfer Protocol (libp2p)
    • Manca il livello di rappresentazione dell'applicazione.
  • Perché non è un libp2p: Non esiste un livello di rappresentazione dell'applicazione. È solo un livello di rete.
  • Approccio di astrazione a livello TCP: https://datatracker.ietf.org/doc/html/rfc1347

Licenza

GNU GENERAL PUBLIC LICENSE V3

Contributori principali

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

Sponsor

  • eunomia.team - logo e design

Autore

Cagatay Cali

Scarica lo strumento
  • Perché non è un RFC1347: Non è uno standard, è solo una proposta. Manca il livello di rappresentazione dell'applicazione.