
bithoven v0.1.0
Bithoven एक स्मार्ट कॉन्ट्रैक्ट भाषा है जो बिटकॉइन पर शक्तिशाली और सुरक्षित उपकरणों की रचना के लिए है। LR(1) पार्सर जो स्थैतिक विश्लेषण के साथ कंपाइल-टाइम सुरक्षा प्रदान करता है। औपचारिक सत्यापन पेपर: https://arxiv.org/abs/2601.01436
Bithoven 🎼
बिटकॉइन स्मार्ट कॉन्ट्रैक्ट्स के लिए एक उच्च-स्तरीय, अनिवार्य भाषा
Bithoven एक प्रकार-सुरक्षित, डेवलपर-अनुकूल प्रोग्रामिंग भाषा है जिसे मूल बिटकॉइन स्क्रिप्ट में संकलित करने के लिए डिज़ाइन किया गया है। यह जटिल स्मार्ट कॉन्ट्रैक्ट लॉजिक और बिटकॉइन वर्चुअल मशीन (VM) की निम्न-स्तरीय स्टैक मशीन के बीच की खाई को पाटता है।
आधुनिक नियंत्रण प्रवाह (if/else), नामित चर, और अंतर्निहित सुरक्षा जांच के साथ पढ़ने योग्य, ऑडिट करने योग्य कोड लिखें — फिर इसे SegWit या Taproot के लिए अत्यधिक अनुकूलित बिटकॉइन स्क्रिप्ट में संकलित करें।
⚡ मुख्य विशेषताएं
- अनिवार्य सिंटैक्स: मानसिक स्टैक जुगलबंदी के बजाय परिचित
if,else, औरreturnस्टेटमेंट का उपयोग करके लॉजिक लिखें। - प्रकार सुरक्षा: सामान्य रनटाइम त्रुटियों को रोकने के लिए
bool,signature,string, औरnumberप्रकारों के लिए प्रथम श्रेणी का समर्थन। - एकाधिक व्यय पथ: अलग-अलग निष्पादन शाखाओं और इनपुट स्टैक आवश्यकताओं के साथ जटिल कॉन्ट्रैक्ट (जैसे HTLC) परिभाषित करें।
- लक्षित संकलन: प्रैग्मा के माध्यम से
legacy,segwit, औरtaprootसंकलन लक्ष्यों के लिए समर्थन। - मूल बिटकॉइन प्रिमिटिव: टाइमलॉक (
older,after), क्रिप्टोग्राफी (sha256,checksig), और सत्यापन (verify) के लिए अंतर्निहित कीवर्ड।
🚀 त्वरित आरंभ
- Bithoven वेब IDE, देखें: https://bithoven-lang.github.io/bithoven/ide/
- Bithoven दस्तावेज़ीकरण, देखें: https://bithoven-lang.github.io/bithoven/docs/
स्थापना
# 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 वास्तविक दुनिया के बिटकॉइन स्मार्ट कॉन्ट्रैक्ट प्रदर्शित करने वाले समृद्ध उदाहरण संग्रह के साथ आता है:
| उदाहरण | विवरण | मुख्य विशेषताएं |
|---|---|---|
| HTLC | हैश टाइम-लॉक्ड कॉन्ट्रैक्ट | हैश लॉक, टाइमलॉक, सशर्त भुगतान |
| एटॉमिक स्वैप 🆕 | क्रॉस-चेन ट्रेडिंग | डबल SHA256 हैश लॉक, विश्वासहीन विनिमय |
| एस्क्रो 🆕 | 2-ऑफ़-3 मल्टीसिग मार्केटप्लेस | मध्यस्थ, खरीदार/विक्रेता, टाइम-लॉक्ड रिफंड |
| वॉल्ट 🆕 | सुरक्षा-वर्धित वॉलेट | टाइम-विलंबित निकासी, तत्काल कोल्ड स्टोरेज रिकवरी |
| मल्टीसिग वोटिंग 🆕 | DAO खजाना / बोर्ड अनुमोदन | 2-ऑफ़-3 थ्रेशोल्ड वोटिंग, आपातकालीन 3-ऑफ़-3 ओवरराइड |
| पूर्वानुमान बाजार 🆕 | हैश-आधारित ओरेकल के साथ विकेंद्रीकृत सट्टेबाजी | क्रिप्टोग्राफिक प्रतिबद्धता योजनाएं, ओरेकल प्रमाण सत्यापन |
| मल्टीसिग | 2-ऑफ़-2 मल्टीसिग | Taproot मल्टी-सिग्नेचर समर्थन |
| उत्तराधिकार | स्तरीय पहुंच नियंत्रण | एकाधिक वारिस स्तर, गुप्त-आधारित पहुंच |
| हैशलॉक | सरल हैश लॉक | SHA256 हैश सत्यापन |
| टाइमलॉक | निरपेक्ष टाइमलॉक | CLTV (CheckLockTimeVerify) |
| एकल हस्ताक्षर | मूल हस्ताक्षर जांच | सरल P2PKH-शैली कॉन्ट्रैक्ट |
सभी उदाहरण देखें: उदाहरण निर्देशिका
🛠 संकलन
संकलित होने पर, 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},
}```