
Bithoven هي لغة عقود ذكية لتأليف أدوات قوية وآمنة على بيتكوين. محلل LR(1) مع تحليل ثابت لسلامة وقت الترجمة. ورقة التحقق الرسمية: https://arxiv.org/abs/2601.01436
لغة عالية المستوى وأمرية لعقود البيتكوين الذكية
Bithoven هي لغة برمجة آمنة من حيث الأنواع وسهلة للمطوّرين، صُممت لتُصرَّف إلى سكربت Bitcoin الأصلي (Bitcoin Script). إنها تسد الفجوة بين منطق العقود الذكية المعقّد وآلة المكدس منخفضة المستوى الخاصة بآلة البيتكوين الافتراضية (VM).
اكتب كودًا قابلًا للقراءة والتدقيق مع تدفق تحكم حديث (if/else)، ومتغيرات مسماة، وفحوصات أمان مدمجة — ثم صرّفه إلى سكربت Bitcoin عالي التحسين لسيغويت (SegWit) أو تابروت (Taproot).
if وelse وreturn المألوفة بدلاً من التعامل الذهني مع المكدس.bool وsignature وstring وnumber لمنع أخطاء التشغيل الشائعة.legacy وsegwit وtaproot عبر التوجيهات (pragmas).older, after)، والتشفير (sha256, checksig)، والتحقق (verify).# For CLI user
cargo install bithoven
# For rust user
cargo add bithoven
# For js user
npm install bithoven
تُعرَّف عقود Bithoven بامتداد .bithoven. فيما يلي تنفيذ لعقد Hashed Time-Locked Contract (HTLC) قياسي، يوضّح كيف تبسّط Bithoven مسارات الإنفاق الشرطية.
htlc.bithoven
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");
}
}
تأتي Bithoven مع مجموعة غنية من الأمثلة التي تعرض عقود بيتكوين ذكية من العالم الواقعي:
شاهد جميع الأمثلة: دليل الأمثلة
عند التصريف، تترجم Bithoven المنطق الأمرّي عالي المستوى إلى أكواد أوبرا (opcodes) سكربت Bitcoin المكافئة لها، وتتولّى تدفق التحكم وإدارة المكدس تلقائيًا.
الأمر:
bithoven compile htlc.bithoven
سكربت Bitcoin المُولَّد (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>: يضمن أن التعبير يُقيَّم إلى true، وإلا يفشل السكربت.bool: قيم منطقية (true, false).signature: تواقيع ECSDA أو Schnorr.string: بيانات نصية سداسية عشرية (Hex) أو ASCII.number: قيم صحيحة.المساهمات مرحّب بها! يرجى الاطلاع على صفحة القضايا (issues) لبنود خارطة الطريق أو إرسال طلب سحب (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 | عقد القفل الزمني بالتجزئة (Hash Time-Locked Contract) | أقفال التجزئة، أقفال الوقت، المدفوعات الشرطية |
| Atomic Swap 🆕 | تداول عبر السلاسل | أقفال تجزئة SHA256 مزدوجة، تبادل بدون ثقة |
| Escrow 🆕 | سوق توقيع متعدد 2-من-3 | محكّم، مشترٍ/بائع، استرداد بأقفال زمنية |
| Vault 🆕 | محفظة معززة الأمان | سحوبات مؤجلة زمنيًا، استرداد فوري للتخزين البارد |
| Multisig Voting 🆕 | خزينة DAO / موافقات مجلس الإدارة | تصويت بأغلبية 2-من-3، تجاوز طارئ 3-من-3 |
| Prediction Market 🆕 | رهان لا مركزي مع أوراكل قائم على التجزئة | مخططات التزام تشفيرية، تحقق من برهان الأوراكل |
| Multisig | توقيع متعدد 2-من-2 | دعم التوقيع المتعدد في تابروت |
| Inheritance | تحكم وصول متدرج | مستويات ورثة متعددة، وصول قائم على السر |
| Hashlock | قفل تجزئة بسيط | تحقق من تجزئة SHA256 |
| Timelock | قفل زمني مطلق | CLTV (CheckLockTimeVerify) |
| Single Sig | فحص توقيع أساسي | عقد بسيط بنمط P2PKH |