Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
bithoven — Bithoven est un langage de contrats intelligents pour composer des instruments puissants et sécurisés sur Bitcoin. Analyseur LR(1) avec analyse statique pour une sécurité à la compilation. Article de vérification formelle : https://arxiv.org/abs/2601.01436 | Kitploit
Outils/GitHubGitHub/chrischo-h/bithoven
Analyse StatiqueCryptographie
GitHubchrischo-h/bithoven

bithoven

Bithoven est un langage de contrats intelligents pour composer des instruments puissants et sécurisés sur Bitcoin. Analyseur LR(1) avec analyse statique pour une sécurité à la compilation. Article de vérification formelle : https://arxiv.org/abs/2601.01436

Voir le dépôtSite web
4371il y a 6 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Bithoven 🎼

Un langage impératif de haut niveau pour les contrats intelligents Bitcoin

Bithoven est un langage de programmation typé et convivial, conçu pour compiler directement en Script Bitcoin natif. Il comble le fossé entre la logique complexe des contrats intelligents et la machine à pile de bas niveau de la machine virtuelle Bitcoin (VM).

Écrivez un code lisible et auditable avec des structures de contrôle modernes (if/else), des variables nommées et des vérifications de sécurité intégrées — puis compilez-le en Script Bitcoin hautement optimisé pour SegWit ou Taproot.

⚡ Fonctionnalités clés

  • Syntaxe impérative : Écrivez votre logique avec des instructions if, else et return familières, sans jongler mentalement avec la pile.
  • Sûreté des types : Prise en charge de première classe des types bool, signature, string et pour éviter les erreurs d'exécution courantes.
number
  • Chemins de dépense multiples : Définissez des contrats complexes (comme les HTLC) avec des branches d'exécution distinctes et des exigences de pile d'entrée.
  • Compilation ciblée : Prise en charge des cibles de compilation legacy, segwit et taproot via des pragmas.
  • Primitives Bitcoin natives : Mots-clés intégrés pour les verrous temporels (older, after), la cryptographie (sha256, checksig) et la vérification (verify).
  • 🚀 Démarrage rapide

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

    Installation

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

    Écrire votre premier contrat

    Les contrats Bithoven sont définis avec une extension .bithoven. Voici une implémentation d'un contrat de verrouillage temporel haché (HTLC) standard, démontrant comment Bithoven simplifie les chemins de dépense conditionnels.

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

    📖 Galerie d'exemples

    Bithoven est fourni avec une riche collection d'exemples illustrant des contrats intelligents Bitcoin réels :

    ExempleDescriptionFonctionnalités clés
    HTLCContrat de verrouillage temporel hachéVerrous de hachage, verrous temporels, paiements conditionnels
    Atomic Swap 🆕Échange inter-chaînesVerrous de hachage SHA256 doubles, échange sans confiance
    Escrow 🆕Place de marché multisig 2-sur-3Arbitre, acheteur/vendeur, remboursements à verrouillage temporel
    Vault 🆕Portefeuille à sécurité renforcéeRetraits à délai différé, récupération immédiate via stockage à froid
    Multisig Voting 🆕Trésorerie DAO / approbations du conseilVote à seuil 2-sur-3, droit de veto d'urgence 3-sur-3
    Prediction Market 🆕Paris décentralisés avec oracle basé sur le hachageSchémas d'engagement cryptographiques, vérification des preuves d'oracle
    MultisigMultisig 2-sur-2Prise en charge de la multi-signature Taproot
    InheritanceContrôle d'accès hiérarchiqueNiveaux d'héritiers multiples, accès basé sur un secret
    HashlockVerrou de hachage simpleVérification de hachage SHA256
    Timelock

    Voir tous les exemples : Répertoire des exemples

    🛠 Compilation

    Lors de la compilation, Bithoven traduit la logique impérative de haut niveau en opcodes Script Bitcoin équivalents, en gérant automatiquement le flux de contrôle et la gestion de la pile.

    Commande :

    root@kitploit:~
    bithoven compile htlc.bithoven
    

    Script Bitcoin généré (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
    

    📚 Documentation

    Primitives

    • older <n> : Applique un verrou temporel relatif (Sequence).
    • after <n> : Applique un verrou temporel absolu (LockTime).
    • checksig(sig, pubkey) : Valide une signature par rapport à une clé publique.
    • verify <expr> : Garantit qu'une expression s'évalue à vrai, sinon la script échoue.

    Types

    • bool : Valeurs booléennes (true, false).
    • signature : Signatures ECDSA ou Schnorr.
    • string : Données de chaîne hexadécimales ou ASCII.
    • number : Valeurs entières.

    🤝 Contribution

    Les contributions sont les bienvenues ! Consultez la page des issues pour les éléments de la feuille de route ou soumettez une pull request.

    📄 Licence

    Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.

    📄 Citation

    Si vous utilisez Bithoven dans vos recherches, veuillez citer l'article suivant :

    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}, 
    }
    
    Télécharger l’outil
    Verrou temporel absolu
    CLTV (CheckLockTimeVerify)
    Single SigVérification de signature de baseContrat simple de type P2PKH