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
bithoven — Bithoven è un linguaggio per smart contract progettato per comporre strumenti potenti e sicuri su Bitcoin. Parser LR(1) con analisi statica per garantire la sicurezza a tempo di compilazione. Articolo di verifica formale: https://arxiv.org/abs/2601.01436 | Kitploit
Strumenti/GitHubGitHub/chrischo-h/bithoven
Analisi StaticaCrittografia
GitHubchrischo-h/bithoven

bithoven

Bithoven è un linguaggio per smart contract progettato per comporre strumenti potenti e sicuri su Bitcoin. Parser LR(1) con analisi statica per garantire la sicurezza a tempo di compilazione. Articolo di verifica formale: https://arxiv.org/abs/2601.01436

Vedi RepositorySito web
43716 mesi 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

Bithoven 🎼

Un linguaggio di alto livello e imperativo per Smart Contract Bitcoin

Bithoven è un linguaggio di programmazione type-safe e facile per sviluppatori, progettato per compilare in nativo Bitcoin Script. Colma il divario tra logica complessa di smart contract e la macchina a stack di basso livello della Bitcoin Virtual Machine (VM).

Scrivi codice leggibile e verificabile con moderno controllo di flusso (if/else), variabili denominate e controlli di sicurezza integrati—poi compilalo in Bitcoin Script altamente ottimizzato per SegWit o Taproot.

⚡ Caratteristiche Principali

  • Sintassi Imperativa: Scrivi logica usando istruzioni familiari if, else e return invece di destreggiarti mentalmente con lo stack.
  • Sicurezza dei Tipi: Supporto di prima classe per i tipi bool, signature, string e per prevenire comuni errori a runtime.
number
  • Percorsi di Spesa Multipli: Definisci contratti complessi (come HTLC) con rami di esecuzione distinti e requisiti di stack di input.
  • Compilazione Mirata: Supporto per target di compilazione legacy, segwit e taproot tramite pragmi.
  • Primitive Bitcoin Native: Parole chiave incorporate per timelock (older, after), crittografia (sha256, checksig) e verifica (verify).
  • 🚀 Avvio Rapido

    • Bithoven Web IDE, vedi: https://bithoven-lang.github.io/bithoven/ide/
    • Documentazione Bithoven, vedi: https://bithoven-lang.github.io/bithoven/docs/

    Installazione

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

    Scrivere il Tuo Primo Contratto

    I contratti Bithoven sono definiti con estensione .bithoven. Di seguito è riportata un'implementazione di uno standard Hashed Time-Locked Contract (HTLC), che dimostra come Bithoven semplifichi i percorsi di spesa condizionali.

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

    📖 Galleria di Esempi

    Bithoven include una ricca collezione di esempi che dimostrano smart contract Bitcoin del mondo reale:

    EsempioDescrizioneCaratteristiche Principali
    HTLCContratto Hash Time-LockedBlocchi hash, timelock, pagamenti condizionali
    Atomic Swap 🆕Scambio cross-chainBlocchi hash SHA256 doppi, scambio senza fiducia
    Escrow 🆕Mercato multisig 2-di-3Arbitro, acquirente/venditore, rimborsi con timelock
    Vault 🆕Wallet con sicurezza avanzataPrelievi con ritardo temporale, recupero immediato da cold storage
    Multisig Voting 🆕Tesoreria DAO / approvazioni consiglioVotazione a soglia 2-di-3, override d'emergenza 3-di-3
    Prediction Market 🆕Scommesse decentralizzate con oracolo basato su hashSchemi di impegno crittografico, verifica prova dell'oracolo
    MultisigMultisig 2-di-2Supporto multi-firma Taproot
    InheritanceControllo accesso a livelliMolteplici livelli di eredi, accesso basato su segreto
    HashlockBlocco hash sempliceVerifica hash SHA256
    TimelockTimelock assolutoCLTV (CheckLockTimeVerify)

    Vedi tutti gli esempi: Directory degli Esempi

    🛠 Compilazione

    Quando compilato, Bithoven traduce la logica imperativa di alto livello negli opcode Bitcoin Script equivalenti, gestendo automaticamente il flusso di controllo e la gestione dello stack.

    Comando:

    root@kitploit:~
    bithoven compile htlc.bithoven
    

    Bitcoin Script generato (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
    

    📚 Documentazione

    Primitive

    • older <n>: Impone un timelock relativo (Sequence).
    • after <n>: Impone un timelock assoluto (LockTime).
    • checksig(sig, pubkey): Valida una firma rispetto a una chiave pubblica.
    • verify <expr>: Assicura che un'espressione sia vera, altrimenti fallisce lo script.

    Tipi

    • bool: Valori booleani (true, false).
    • signature: Firme ECDSA o Schnorr.
    • string: Dati stringa esadecimali o ASCII.
    • number: Valori interi.

    🤝 Contribuire

    I contributi sono benvenuti! Dai un'occhiata alla pagina issues per gli elementi della roadmap o invia una PR.

    📄 Licenza

    Questo progetto è concesso in licenza secondo la licenza MIT - consulta il file LICENSE per i dettagli.

    📄 Citazione

    Se usi Bithoven nella tua ricerca, cita il seguente articolo:

    Bithoven: Sicurezza Formale per Smart Contract Bitcoin Espressivi. Hyunhum Cho e 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}, 
    }
    
    Scarica lo strumento
    Single Sig
    Controllo firma base
    Contratto semplice stile P2PKH