Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/chrischo-h/bithoven
Análise EstáticaCriptografia
GitHubchrischo-h/bithoven

bithoven

Bithoven é uma linguagem de contratos inteligentes para compor instrumentos poderosos e seguros no Bitcoin. Parser LR(1) com análise estática para segurança em tempo de compilação. Artigo de verificação formal: https://arxiv.org/abs/2601.01436

Ver RepositórioSite
4371há 6 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Bithoven 🎼

Uma linguagem de alto nível e imperativa para contratos inteligentes Bitcoin

Bithoven é uma linguagem de programação type-safe e amigável para desenvolvedores, projetada para compilar para Bitcoin Script nativo. Ela preenche a lacuna entre a lógica complexa de contratos inteligentes e a máquina de pilha de baixo nível da Máquina Virtual Bitcoin (VM).

Escreva código legível e auditável com fluxo de controle moderno (if/else), variáveis nomeadas e verificações de segurança integradas — depois compile-o para Bitcoin Script altamente otimizado para SegWit ou Taproot.

⚡ Principais Recursos

  • Sintaxe Imperativa: Escreva lógica usando instruções familiares if, else e return em vez de manipulação mental de pilha.
  • Segurança de Tipos: Suporte de primeira classe para tipos bool, signature, string e para prevenir erros comuns de execução.
number
  • Múltiplos Caminhos de Gasto: Defina contratos complexos (como HTLCs) com ramos de execução distintos e requisitos de pilha de entrada.
  • Compilação Direcionada: Suporte para alvos de compilação legacy, segwit e taproot via pragmas.
  • Primitivas Bitcoin Nativas: Palavras-chave incorporadas para timelocks (older, after), criptografia (sha256, checksig) e verificação (verify).
  • 🚀 Início Rápido

    • Bithoven Web IDE, veja: https://bithoven-lang.github.io/bithoven/ide/
    • Documentação Bithoven, veja: https://bithoven-lang.github.io/bithoven/docs/

    Instalação

    root@kitploit:~
    # For CLI user
    cargo install bithoven
    # For rust user
    cargo add bithoven
    # For js user
    npm install bithoven
    

    Escrevendo Seu Primeiro Contrato

    Os contratos Bithoven são definidos com uma extensão .bithoven. Abaixo está uma implementação de um Hashed Time-Locked Contract (HTLC) padrão, demonstrando como Bithoven simplifica caminhos de gasto condicionais.

    htlc.bithoven

    root@kitploit:~
    pragma bithoven version 0.0.1;
    pragma bithoven target segwit;
    
    /* * Stack Input Definitions
     * Each line defines a valid input stack configuration for a spending path.
     */
    (condition: bool, sig_alice: signature)
    (condition: bool, preimage: string, sig_bob: signature)
    
    {
        // If 'condition' is true, we enter the Refund Path (Alice)
        if condition {
            // Enforce relative timelock of 1000 blocks
            older 1000;
    
            // If timelock is satisfied, Alice can spend with her signature
            return checksig(sig_alice, "0245a6b3f8eeab8e88501a9a25391318dce9bf35e24c377ee82799543606bf5212");
    
        } else {
            // Redeem Path (Bob)
            // Bob must reveal the secret preimage that hashes to the expected value
            verify sha256(sha256(preimage)) == "53de742e2e323e3290234052a702458589c30d2c813bf9f866bef1b651c4e45f";
    
            // If hash matches, Bob can spend with his signature
            return checksig(sig_bob, "0345a6b3f8eeab8e88501a9a25391318dce9bf35e24c377ee82799543606bf5212");
        }
    }
    

    📖 Galeria de Exemplos

    Bithoven vem com uma rica coleção de exemplos demonstrando contratos inteligentes Bitcoin do mundo real:

    ExemploDescriçãoPrincipais Recursos
    HTLCContrato Hash Time-LockedHash locks, timelocks, pagamentos condicionais
    Atomic Swap 🆕Troca entre cadeiasHash locks duplos SHA256, troca sem confiança
    Escrow 🆕Marketplace multisig 2-de-3Árbitro, comprador/vendedor, reembolsos com timelock
    Vault 🆕Carteira com segurança aprimoradaSaques com atraso temporal, recuperação imediata de armazenamento frio
    Votação Multisig 🆕Tesouraria DAO / aprovações de conselhoVotação por limiar 2-de-3, override de emergência 3-de-3
    Mercado de Previsão 🆕Aposta descentralizada com oracle baseado em hashEsquemas de compromisso criptográfico, verificação de prova oracle
    MultisigMultisig 2-de-2Suporte a multi-assinatura Taproot
    HerançaControle de acesso em camadasMúltiplos níveis de herdeiros, acesso baseado em segredo
    HashlockHash lock simplesVerificação SHA256
    TimelockTimelock absolutoCLTV (CheckLockTimeVerify)

    Veja todos os exemplos: Diretório de Exemplos

    🛠 Compilação

    Ao ser compilado, Bithoven traduz a lógica imperativa de alto nível nos opcodes Bitcoin Script equivalentes, gerenciando automaticamente o fluxo de controle e a manipulação da pilha.

    Comando:

    root@kitploit:~
    bithoven compile htlc.bithoven
    

    Script Bitcoin Gerado (ASM):

    root@kitploit:~
    OP_IF
        <0xe803> OP_CHECKSEQUENCEVERIFY OP_DROP
        <pubkey_alice> OP_CHECKSIG
    OP_ELSE
        OP_HASH256 OP_TOALTSTACK <hash_digest> OP_FROMALTSTACK OP_SWAP OP_EQUALVERIFY
        <pubkey_bob> OP_CHECKSIG
    OP_ENDIF
    

    📚 Documentação

    Primitivas

    • older <n>: Aplica timelock relativo (Sequence).
    • after <n>: Aplica timelock absoluto (LockTime).
    • checksig(sig, pubkey): Valida uma assinatura contra uma chave pública.
    • verify <expr>: Garante que uma expressão seja avaliada como verdadeira; caso contrário, o script falha.

    Tipos

    • bool: Valores booleanos (true, false).
    • signature: Assinaturas ECDSA ou Schnorr.
    • string: Dados de string hex ou ASCII.
    • number: Valores inteiros.

    🤝 Contribuindo

    Contribuições são bem-vindas! Por favor, verifique a página de issues para itens do roadmap ou envie um PR.

    📄 Licença

    Este projeto é licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

    📄 Citação

    Se você usar Bithoven em sua pesquisa, por favor, cite o seguinte artigo:

    Bithoven: Formal Safety for Expressive Bitcoin Smart Contracts. Hyunhum Cho and Ik Rae Jeong, 2026. arXiv preprint arXiv:2601.01436. https://arxiv.org/abs/2601.01436

    BibTeX:

    root@kitploit:~
    @misc{bithoven,
          title={Bithoven: Formal Safety for Expressive Bitcoin Smart Contracts}, 
          author={Hyunhum Cho and Ik Rae Jeong},
          year={2026},
          eprint={2601.01436},
          archivePrefix={arXiv},
          primaryClass={cs.CR},
          url={https://arxiv.org/abs/2601.01436}, 
    }
    
    Baixar ferramenta
    Single Sig**
    Verificação básica de assinatura
    Contrato simples estilo P2PKH