
Bithoven एक स्मार्ट कॉन्ट्रैक्ट भाषा है जो बिटकॉइन पर शक्तिशाली और सुरक्षित उपकरणों की रचना के लिए है। LR(1) पार्सर जो स्थैतिक विश्लेषण के साथ कंपाइल-टाइम सुरक्षा प्रदान करता है। औपचारिक सत्यापन पेपर: https://arxiv.org/abs/2601.01436
बिटकॉइन स्मार्ट कॉन्ट्रैक्ट्स के लिए एक उच्च-स्तरीय, अनिवार्य भाषा
Bithoven एक प्रकार-सुरक्षित, डेवलपर-अनुकूल प्रोग्रामिंग भाषा है जिसे मूल बिटकॉइन स्क्रिप्ट में संकलित करने के लिए डिज़ाइन किया गया है। यह जटिल स्मार्ट कॉन्ट्रैक्ट लॉजिक और बिटकॉइन वर्चुअल मशीन (VM) की निम्न-स्तरीय स्टैक मशीन के बीच की खाई को पाटता है।
आधुनिक नियंत्रण प्रवाह (if/else), नामित चर, और अंतर्निहित सुरक्षा जांच के साथ पढ़ने योग्य, ऑडिट करने योग्य कोड लिखें — फिर इसे SegWit या Taproot के लिए अत्यधिक अनुकूलित बिटकॉइन स्क्रिप्ट में संकलित करें।
if, else, और return स्टेटमेंट का उपयोग करके लॉजिक लिखें।bool, signature, string, और number प्रकारों के लिए प्रथम श्रेणी का समर्थन।legacy, segwit, और taproot संकलन लक्ष्यों के लिए समर्थन।older, after), क्रिप्टोग्राफी (sha256, checksig), और सत्यापन (verify) के लिए अंतर्निहित कीवर्ड।# CLI उपयोगकर्ता के लिए
cargo install bithoven
# rust उपयोगकर्ता के लिए
cargo add bithoven
# js उपयोगकर्ता के लिए
npm install bithoven
Bithoven कॉन्ट्रैक्ट एक .bithoven एक्सटेंशन के साथ परिभाषित किए जाते हैं। नीचे एक मानक हैश टाइम-लॉक्ड कॉन्ट्रैक्ट (HTLC) का कार्यान्वयन है, जो दर्शाता है कि Bithoven सशर्त व्यय पथों को कैसे सरल बनाता है।
htlc.bithoven
pragma bithoven version 0.0.1;
pragma bithoven target segwit;
/* * स्टैक इनपुट परिभाषाएं
* प्रत्येक पंक्ति एक व्यय पथ के लिए एक मान्य इनपुट स्टैक कॉन्फ़िगरेशन को परिभाषित करती है।
*/
(condition: bool, sig_alice: signature)
(condition: bool, preimage: string, sig_bob: signature)
{
// यदि 'condition' सत्य है, तो हम रिफंड पथ (एलिस) में प्रवेश करते हैं
if condition {
// 1000 ब्लॉकों का सापेक्ष टाइमलॉक लागू करें
older 1000;
// यदि टाइमलॉक संतुष्ट है, तो एलिस अपने हस्ताक्षर से व्यय कर सकती है
return checksig(sig_alice, "0245a6b3f8eeab8e88501a9a25391318dce9bf35e24c377ee82799543606bf5212");
} else {
// रिडीम पथ (बॉब)
// बॉब को गुप्त प्रीइमेज प्रकट करना होगा जो अपेक्षित मान पर हैश होता है
verify sha256(sha256(preimage)) == "53de742e2e323e3290234052a702458589c30d2c813bf9f866bef1b651c4e45f";
// यदि हैश मेल खाता है, तो बॉब अपने हस्ताक्षर से व्यय कर सकता है
return checksig(sig_bob, "0345a6b3f8eeab8e88501a9a25391318dce9bf35e24c377ee82799543606bf5212");
}
}
Bithoven वास्तविक दुनिया के बिटकॉइन स्मार्ट कॉन्ट्रैक्ट प्रदर्शित करने वाले समृद्ध उदाहरण संग्रह के साथ आता है:
सभी उदाहरण देखें: उदाहरण निर्देशिका
संकलित होने पर, Bithoven उच्च-स्तरीय अनिवार्य तर्क को समतुल्य बिटकॉइन स्क्रिप्ट ओपकोड में अनुवादित करता है, नियंत्रण प्रवाह और स्टैक प्रबंधन को स्वचालित रूप से संभालता है।
कमांड:
bithoven compile htlc.bithoven
उत्पन्न बिटकॉइन स्क्रिप्ट (ASM):
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
older <n>: सापेक्ष टाइमलॉक लागू करता है (Sequence)।after <n>: निरपेक्ष टाइमलॉक लागू करता है (LockTime)।checksig(sig, pubkey): एक सार्वजनिक कुंजी के विरुद्ध हस्ताक्षर को सत्यापित करता है।verify <expr>: सुनिश्चित करता है कि एक अभिव्यक्ति सत्य का मूल्यांकन करती है, अन्यथा स्क्रिप्ट विफल हो जाती है।bool: बूलियन मान (true, false)।signature: ECDSA या Schnorr हस्ताक्षर।string: हेक्स या ASCII स्ट्रिंग डेटा।number: पूर्णांक मान।योगदान का स्वागत है! कृपया रोडमैप आइटम के लिए मुद्दे पृष्ठ देखें या PR सबमिट करें।
यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।
यदि आप अपने शोध में Bithoven का उपयोग करते हैं, तो कृपया निम्नलिखित पेपर को उद्धृत करें:
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:
@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},
}```
| उदाहरण | विवरण | मुख्य विशेषताएं |
|---|
| HTLC | हैश टाइम-लॉक्ड कॉन्ट्रैक्ट | हैश लॉक, टाइमलॉक, सशर्त भुगतान |
| एटॉमिक स्वैप 🆕 | क्रॉस-चेन ट्रेडिंग | डबल SHA256 हैश लॉक, विश्वासहीन विनिमय |
| एस्क्रो 🆕 | 2-ऑफ़-3 मल्टीसिग मार्केटप्लेस | मध्यस्थ, खरीदार/विक्रेता, टाइम-लॉक्ड रिफंड |
| वॉल्ट 🆕 | सुरक्षा-वर्धित वॉलेट | टाइम-विलंबित निकासी, तत्काल कोल्ड स्टोरेज रिकवरी |
| मल्टीसिग वोटिंग 🆕 | DAO खजाना / बोर्ड अनुमोदन | 2-ऑफ़-3 थ्रेशोल्ड वोटिंग, आपातकालीन 3-ऑफ़-3 ओवरराइड |
| पूर्वानुमान बाजार 🆕 | हैश-आधारित ओरेकल के साथ विकेंद्रीकृत सट्टेबाजी | क्रिप्टोग्राफिक प्रतिबद्धता योजनाएं, ओरेकल प्रमाण सत्यापन |
| मल्टीसिग | 2-ऑफ़-2 मल्टीसिग | Taproot मल्टी-सिग्नेचर समर्थन |
| उत्तराधिकार | स्तरीय पहुंच नियंत्रण | एकाधिक वारिस स्तर, गुप्त-आधारित पहुंच |
| हैशलॉक | सरल हैश लॉक | SHA256 हैश सत्यापन |
| टाइमलॉक | निरपेक्ष टाइमलॉक | CLTV (CheckLockTimeVerify) |
| एकल हस्ताक्षर | मूल हस्ताक्षर जांच | सरल P2PKH-शैली कॉन्ट्रैक्ट |