Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
HSTP — 애플리케이션 계층 프로토콜 프레임워크로, 신뢰 기반 종단간 암호화 통신을 통해 이기종 네트워크에서 균일한 서비스 검색 및 라우팅을 TCP, HTTP, 블록체인 계층에서 가능하게 합니다. | Kitploit
도구/GitHubGitHub/cagataycali/hstp
Web SecurityNetwork SecurityCryptographyUtilities & Frameworks
GitHubcagataycali/hstp

HSTP

애플리케이션 계층 프로토콜 프레임워크로, 신뢰 기반 종단간 암호화 통신을 통해 이기종 네트워크에서 균일한 서비스 검색 및 라우팅을 TCP, HTTP, 블록체인 계층에서 가능하게 합니다.

저장소 보기
15552년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

네트워크를 위한 초간단 텍스트 프로토콜 (HSTP)

HSTP - 컴퓨터 네트워크를 위한 하이퍼 서비스 전송 프로토콜

지금 시도해보세요: https://hstp.ai

root@kitploit:~
npx hstp;

이 프로토콜은 하이퍼 서비스 전송 프로토콜(Hyper Service Transfer Protocol)을 위한 애플리케이션 계층 추상화를 개발하는 것을 목표로 합니다.

HSTP는 HSTP의 본질상 재귀적입니다. 이 프로토콜은 스스로를 인터페이스로 구현합니다. 모든 인터넷 연결 장치에는 HSTP 인스턴스가 존재합니다. 그렇기 때문에 채택이 필요하지 않습니다. HSTP는 이미 인터넷 위에서 실행되고 있습니다. 우리는 이제서야 이기종 네트워크 상에서 프로토콜을 통해 프로토콜을 설명하는 데 성공했습니다. 그러므로 웹2, 웹3 등과 비교하지 마십시오.

초록

HSTP는 이기종 네트워크를 위한 애플리케이션 표현 인터페이스입니다.

HSTP 인터페이스는 네트워크의 다른 노드와 통신할 수 있도록 일련의 메서드를 구현하도록 강제합니다. 따라서 서비스, 클라이언트 및 다른 노드들은 신뢰 기반 엔드-투-엔드 암호화 방식으로 서로 통신할 수 있습니다. 노드 해석은 제가 작성한 최단 경로 해석 알고리즘에 기반합니다.

아기를 위한 프로토콜 🍼 <- 👀 <- 👶:

이야기 시간!

  • 아기가 울고 있어요! 👶
  • 우유가 필요해요! 🍼
  • 엄마에게 문제가 생겼어요.
  • 아빠에게 문제가 생겼어요.
  • 해결해 봅시다!

간단한 개요

한 명의 엄마와 한 명의 아빠가 행복하게 사는 상황을 생각해 봅시다. 그들에게 아기가 생겼어요! 갑자기 엄마가 질병을 치료하기 위해 정기적으로 약을 먹어야 했습니다. 그 약은 아기에게 독입니다. 아기가 울고 있고, 엄마는 아기를 도울 수 있는 유일한 신뢰하는 사람인 아빠에게 전화를 겁니다. 하지만 아빠는 가끔 집에 있을 수 없고, 아기에게 먹일 무언가를 해야 합니다. 아빠는 한 우유 배달부가 싼 가격에 신선하고 품질 좋은 우유를 판매한다는 소식을 듣습니다. 아빠는 우유 배달부와 이야기해 보기로 하고, 배달부는 아빠에게 우유를 전달하고, 아빠는 엄마에게 우유를 가져다줍니다. 엄마는 아기에게 우유를 줍니다. 아기는 이제 행복해지고 잠이 듭니다. 엄마는 아기가 행복한 것을 봅니다.

가족은 외부에서 우유를 산 적이 없었으며, 아기를 위해 처음으로 우유를 사는 것입니다: (엄마는 우유 배달부의 번호를 모르고, 배달부는 집 주소를 모릅니다)

root@kitploit:~
단계별로:

0)  - 아기가 우유를 마시고 싶어합니다.
1)  - 아기가 엄마에게 울어 댑니다.
3)  - 엄마가 아기가 우는 것을 봅니다.
4)     - 엄마가 냉장고를 확인합니다. 엄마는 우유가 비어 있는 것을 봅니다. (엄마는 오직 아빠만 신뢰합니다)
5)        - 엄마가 아빠에게 전화합니다.
6)        - 아빠가 우유 배달부에게 전화합니다.
7)        - 우유 배달부가 아빠에게 우유를 전달합니다.
8)        - 아빠가 엄마에게 우유를 전달합니다.
9)  - 엄마가 아기에게 우유를 줍니다.
10) - 아기가 우유를 마십니다.
11) - 아기가 행복해집니다.
12) - 아기가 잠을 잡니다.
13) - 엄마가 아기가 행복하고 잠자는 것을 봅니다.
14) - 다시 우유 배달부에게 연락할 수 있도록, 엄마는 아빠에게 집 주소와 엄마의 휴대폰 번호를 우유 배달부가 저장하게 해 달라고 부탁합니다.
15)     - 엄마가 아빠에게 전화합니다.
16)     - 아빠가 우유 배달부에게 전화합니다.
17)     - 우유 배달부가 집 주소와 엄마의 휴대폰 번호를 저장합니다.

아차, 다음 날 아기가 깨어나 다시 울기 시작합니다,
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에 연결된 모든 장치/네트워크 간에 적용되어야 합니다.

  • [우주(Universe)]는 [HSTP]를 통해 [우주(Universe)]와 통신합니다.
    • [종(Kind)] 우주는 세계를 통해 대화합니다.
      • [세계(World)] 지구는 소리 주파수와 HSTP를 통해 대화합니다.
        • [국가(Country)] X는 X어(Xish) 소리 주파수와 HSTP를 사용합니다.
          • [커뮤니티(Community)] CommunityX는 CommunityX어(CommunityXish)로 대화합니다.
        • [국가(Country)] Y는 Y어(Yish)와 HSTP를 사용합니다.
        • [국가(Country)] Z는 Z어(Zish)와 HSTP를 사용합니다.
      • [세계(World)] 화성은 무선 주파수로 대화합니다.
        • [박테리아(Bacteria)] UUU-1은 UUU-1어(UUU-1ish)와 HSTP를 사용합니다.
          • 정보: UUU-1은 universe/kind/world/Earth/X/CommunityX/query를 호출할 수 있습니다.
      • [세계(World)] 목성은 빛 주파수로 대화하며 HSTP를 구현하지 않습니다.
        • 정보: 지구가 목성과 통신하려면 우주에 있는 목성 프록시에 HSTP를 추가할 수 있습니다.
    • [종(Kind)] 우주는 원자와 HSTP를 통해 대화합니다.
      • [원자(Atoms)] ... 및 HSTP.
        • ... 및 HSTP.
          • [Y] ... 및 HSTP.
            • 정보: [Y]는 universe/kind/world/Mars/Bacteria/UUU-1/query와 통신할 수 있습니다.
      • [원자(Atoms)] ... 및 HSTP.
        • ... 및 HSTP.
          • [Y] ... 및 HSTP.
            • 정보: [Y]는 universe/kind/world/Mars/Bacteria/UUU-1/query와 통신할 수 있습니다. 정보: 종 우주는 화성과 통신할 수 있으며, 화성도 종 우주와 통신할 수 있습니다.

HSTP의 목적은 무엇인가?

무한 확장 옵션: TCP에 연결된 모든 장치는 HSTP를 통해 다른 TCP 연결 장치와 통신할 수 있습니다. 즉, 모든 웹 브라우저는 다른 HSTP 노드의 서버이며, 모든 웹 브라우저는 다른 웹 브라우저를 호출할 수 있습니다.

통일된 애플리케이션 표현 인터페이스: HSTP는 통일된 인터페이스로, 애플리케이션 계층에서 반드시 구현해야 하는 일련의 메서드 집합입니다.

이기종 네트워크: 네트워크의 모든 참여자는 다른 참여자와 자원을 공유할 수 있습니다. 자원은 CPU, 메모리, 스토리지, 네트워크 등이 될 수 있습니다.

웹 버전의 결합 블록체인 기술이 web3라고 불리면서 사람들은 웹 간의 차이점에 대해 논의하기 시작했습니다. 비교는 증분 숫자 체계 교육의 사고 방식에서 비롯된 행동입니다. 어느 것이 더 나은가? 둘 다 아닙니다. 우리는 하나의 통일된 프로토콜로 통신할 수 있는 시스템을 구축해야 하며, 그 아래의 서비스는 무엇이든 될 수 있습니다. HSTP는 이를 목표로 합니다.

HSTP의 구성 요소는 무엇인가?

레지스트리 인터페이스 레지스트리 인터페이스는 TCP 계층에서 사용하기 위해 설계되었으며, 네트워크에서 최상위 tld 노드를 등록할 수 있도록 합니다. HSTP TCP 릴레이의 첫 번째 구현은 **hstp/**를 해석합니다.

레지스트리는 인터페이스의 두 부분으로 구성됩니다:

  • Register 메서드: 네트워크에 새 노드를 등록하는 데 사용됩니다.
  • Resolve 메서드: 네트워크에서 노드를 해석하는 데 사용됩니다.

레지스트리 구현에는 두 개의 HSTP 노드가 필요합니다:

  1. Hyperbees
    • 이기종 네트워크는 RPC, TCP, HTTP, HSTP 등의 레지스트리를 해석합니다.
  2. 모든 EVM 기반 체인(이더리움, 바이낸스 스마트 체인, 폴리곤 등)의 Registry.sol
    • 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);
        // 트리를 위아래로 탐색합니다.
        // 주어진 연산에 대해 가장 가까운 경로를 찾으려고 시도합니다.
        // 경로가 HSTP 노드에 등록되어 있으면 자식 노드에서 응답합니다.
        // 노드에 해당 경로가 없으면 부모에게 요청합니다.
        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";

// 온체인 서비스를 위한 상태 비저장 하이퍼 서비스 전송 프로토콜.
// EIP-4337이 최종 단계에 도달하면 구현할 예정입니다.
// 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";

// 온체인 서비스를 위한 상태 비저장 하이퍼 서비스 전송 프로토콜.
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;
    }

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

제안

이더리움 제안은 현재 초안이지만, 프로토콜에는 참조 구현 Todo.sol이 있습니다.

HSTP 위에서 실행되는 멋진 웹 서비스

전체 목록은 여기

Hello world

지금 HSTP를 테스트하고 리믹스에서 시험해볼 수 있습니다.

프로토콜을 어떻게 사용해볼 수 있나요?

  • 아래 소스 코드를 https://remix.ethereum.org/ 에 복사하세요.
  • EVM 기반 체인에 배포하세요.
  • 함수를 호출하고 HSTP에서 다양한 네트워크 토폴로지를 시험해보세요.
root@kitploit:~
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.0;

import "hstp/HSTP.sol";

// 온체인 서비스를 위한 상태 비저장 하이퍼 서비스 전송 프로토콜.
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;
    }

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

기여:

개발자 수준 기여

  • HSTP로 Todo 애플리케이션 작성, 리믹스로 배포 및 테스트.
  • HSTP의 예시 아키텍처(서비스리스 아키텍처) 그리기.

핵심 수준 기여

  • hyperbees에 TCP 계층 HSTP 인터페이스 구현, [Universe]
    • hyperbees와 HSTP는 HSTP의 첫 번째 구현이 될 것입니다.
    • 이는 네트워크의 우주(Universe) 단계를 포함할 것입니다. 이는 HSTP에서 완전한 분산 웹을 가져올 것입니다.
  • Solidity에 RPC 계층 HSTP 인터페이스 구현 [Web3]
    • Solidity - HSTP 노드 예제
  • Solidity로 HSTP 인터페이스에 복잡한 서비스리스 아키텍처 구현 [Web3]
    • Solidity - CoolBook (의사 서비스리스 아키텍처)
  • JavaScript에 HTTP 계층 HSTP 인터페이스 구현 [Web]
    • HSTP 인터페이스는 POC 상태에 가깝습니다. HTML - HSTP 노드 예제

영감:

  • Babel 라우팅 프로토콜의 적용 가능성 https://datatracker.ietf.org/doc/rfc8965/
  • EIP: 확장 인터넷 프로토콜 - 하위 호환성 유지를 위한 프레임워크 - https://datatracker.ietf.org/doc/html/rfc1385
  • 사고방식 Humanode
    • 왜 Humanode가 아닌가: 그들은 이 추상화에 비해 너무 높은 수준에 있지만, 올바른 길은 HSTP입니다.
  • 하이퍼 서비스 전송 프로토콜을 위한 Solidity 수준 추상화 (다이아몬드 프로토콜 eip-2535)
    • 왜 다이아몬드가 아닌가: https://blog.trailofbits.com/2020/10/30/good-idea-bad-design-how-the-diamond-standard-falls-short/
  • 하이퍼 서비스 전송 프로토콜을 위한 TCP 수준 추상화 (libp2p)
    • 애플리케이션 표현 계층이 누락되었습니다.
  • 왜 libp2p가 아닌가: 애플리케이션 표현 계층이 없습니다. 단지 네트워크 계층일 뿐입니다.
  • TCP 계층 추상화 접근 방식: https://datatracker.ietf.org/doc/html/rfc1347
    • 왜 RFC1347이 아닌가: 표준이 아니라 제안일 뿐입니다. 애플리케이션 표현 계층이 누락되었습니다.

라이선스

GNU 일반 공중 사용 허가서 V3

핵심 기여자

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

후원자

  • eunomia.team - 로고 및 디자인

저자

Cagatay Cali

도구 다운로드