Bitcoin.com

מהי שפת הסקריפט של ביטקוין?

שפת הסקריפט של ביטקוין שולטת בכל עסקה ב-BTC. למדו כיצד פועלים קודים אופרטיביים, סקריפטים נעולים ו-Taproot, מוסבר בשפה פשוטה.

עודכן לאחרונה
פורסם
זמן קריאהזמן קריאה: 3 דקות
נכתב על ידי
Neil Author
Neill Velardo
נבדק על ידי
Graham Stone Author Image
Graham Stone
What is the Bitcoin Script Language?

שפת התסריט של ביטקוין (Bitcoin Script) היא שפת התכנות השולטת בכל עסקה ברשת הביטקוין. זוהי שפה פשוטה, המבוססת על ערימה (stack), המגדירה את התנאים המדויקים שבהם ניתן להוציא ביטקוין, וכל צומת מלא ברשת מריץ אותה בכל פעם שמתבצעת אימות של עסקה. בלעדיה, הביטקוין היה מהווה ספר חשבונות של מספרים, ללא מנגנון שיאכוף את הזכויות הקנייניות של כל אחד.

רוב המשתמשים כלל אינם רואים את שפת הסקריפט של ביטקוין באופן ישיר. הארנקים שלהם מטפלים בכך באופן בלתי נראה. אך בכל פעם שאתם שולחים או מקבלים BTC, שתי תוכניות קטנות פועלות בו-זמנית על אלפי מחשבים, ובודקות אם תנאי ההוצאה התקיימו. הבנה של אופן הפעולה הזה מסבירה רבות על הסיבות למבנה של ביטקוין, ועל מה הוא יכול או לא יכול לעשות בהשוואה לפלטפורמות כמו אתריום.

מאמר זה סוקר את אופן הפעולה של Bitcoin Script, מפרט את סוגי העסקאות העיקריים שהוא מאפשר, מסביר את שדרוג Taproot ששידרג את שכבת הסקריפטים בשנת 2021, ומציג את מצב הדיון בנושא קוד הפעולה "covenant" נכון לחודש יוני 2026.

נהל את הביטקוין שלך בצורה מאובטחת באמצעות אחסון עצמי אפליקציית הארנק של Bitcoin.com.

נקודות עיקריות

  • שפת התסריט של ביטקוין (Bitcoin Script) היא שפת תכנות מבוססת ערימה המובנית בפרוטוקול הביטקוין, המגדירה את התנאים שבהם ניתן להשתמש בכל פלט ביטקוין.
  • כל עסקה בביטקוין כוללת שני סקריפטים: סקריפט נעילה (ScriptPubKey) שנקבע על ידי המקבל, וסקריפט פתיחה (ScriptSig) המסופק על ידי המבצע. על שניהם להתבצע בהצלחה כדי שהעסקה תהיה תקפה.
  • שפת הסקריפט של ביטקוין אינה שלמה מבחינה טורינגית בכוונה. אין בה לולאות, אין מצב קבוע בין הרצות, ויש מגבלות קשיחות על גודל הסקריפט. הדבר מבטיח שכל סקריפט יגיע לסיומו, וזו תכונה אבטחתית, לא מגבלה.
  • שפת התסריט התפתחה דרך חמישה פורמטים עיקריים: P2PK, P2PKH, P2SH, SegWit (P2WPKH/P2WSH) ו-Taproot (P2TR), כאשר כל אחד מהם הרחיב את היכולות תוך שמירה על תאימות לאחור.
  • בגרסת Taproot (נובמבר 2021) הוכנסו חתימות Schnorr, נתיבי הוצאה מבוססי MAST לשמירה על הפרטיות, וכן Tapscript – שפת סקריפט מעודכנת הכוללת מנגנון מובנה שיאפשר שדרוגים עתידיים בצורה חלקה יותר.
  • דוגמאות לשימוש בעולם האמיתי המבוססות על Bitcoin Script כוללות ארנקים עם חתימות מרובות, עסקאות נעולות בזמן, חוזים נעולים בזמן באמצעות Hash (הבסיס לרשת Lightning), שירותי נאמנות וחוזים עם יומן דיסקרטי.
  • בניגוד לחוזים החכמים של אתריום, Bitcoin Script הוא חסר-מצב: כל סקריפט פועל בבידוד מוחלט, ללא כל ידיעה על עסקאות אחרות. זוהי בחירה ארכיטקטונית מכוונת.
  • תחום הפיתוח הפעיל ביותר של Bitcoin Script בשנת 2026 הוא קודים אופרטיביים של covenant, ובפרט OP_CTV (BIP-119) ו-OP_CAT (BIP-347), אשר יאפשרו לסקריפטים להגביל את האופן שבו חייבת להיראות עסקת הוצאה. אף אחד מהם טרם הופעל ברשת הראשית.

מהו סקריפט ביטקוין?

Bitcoin Script היא שפת סקריפט מבוססת-ערימה וחסרת-מצב, המובנית בפרוטוקול הביטקוין. כל פלט של עסקה ברשת הביטקוין נושא סקריפט נעילה (המכונה ScriptPubKey) המגדיר את התנאים להוצאת הכספים. כל מי שרוצה להוציא את הכספים הללו חייב לספק סקריפט פתיחה (המכונה ScriptSig, או בעסקאות SegWit ו-Taproot, נתוני העד) העומד בתנאים אלה.

מבנה השפה נגזר מ-Forth, שפת תכנות מינימליסטית המבוססת על ערימה, שפותחה בשנות ה-60. כמו שפת Forth, שפת Bitcoin Script נקראת משמאל לימין, פועלת על מבנה נתונים המכונה "ערימה" (stack), ומשתמשת בסימון פולני הפוך (RPN), שבו האופרטורים מופיעים אחרי האופרנדים ולא לפניהם. היא מבצעת הוראה אחת בכל פעם, אין בה לולאות, והיא אינה שומרת זיכרון קבוע בין ביצועים.

הנקודה האחרונה היא זו שרוב האנשים נתקלים בה ראשונה כאשר הם לומדים על שפת הסקריפט של ביטקוין ברמת הפרוטוקול: השפה אינה שלמה מבחינה טורינגית בכוונה. שפה שלמה מבחינה טורינגית יכולה לבצע כל חישוב נתון, בתנאי שיש לה מספיק זמן ומשאבים. שפת הסקריפט של ביטקוין אינה מסוגלת לכך, מעצם תכנונה, והסיבות לבחירה זו משפיעות רבות על אופן פעולת הרשת.

כיצד פועל סקריפט הביטקוין: מודל הערימה

כדי להבין כיצד פועל Bitcoin Script, עליכם להבין את המושג "ערימה" (stack). ערימה היא מבנה נתונים הפועל על פי העיקרון "אחרון נכנס, ראשון יוצא" (LIFO). דמיינו ערימת צלחות: ניתן להוסיף או להסיר צלחות רק מהחלק העליון. ב-Bitcoin Script, הנתונים נדחפים אל הערימה, וקודי הפעולה (opcodes) משפיעים על מה שנמצא בראש הערימה.

כאשר צומת ביטקוין מאמת עסקה, הוא מריץ שני סקריפטים ברצף:

  1. סקריפט הפתיחה (ScriptSig או witness) המסופקים על ידי האדם המשתמש במטבעות. פעולה זו דוחפת נתונים אל הערימה, בדרך כלל חתימה דיגיטלית ומפתח ציבורי.
  2. סקריפט הנעילה (ScriptPubKey) הקשורה להוצאת התפוקה. זו מכילה קודים אופרטיביים הפועלים על נתוני הערימה ובודקים אם מתקיימים תנאי ההוצאה.

אם הסקריפט מתבצע ללא שגיאות ומשאיר בסוף ערך שאינו אפס (TRUE) בערימה, העסקה נחשבת לתקפה. אם הוא נכשל או משאיר ערך FALSE, העסקה נדחית על ידי הצומת ואינה נכללת בבלוק.

ביצוע זה הוא נטול מצב לחלוטין. הסקריפט אינו יודע דבר על עסקאות קודמות, אינו מודע ליתרות הנוכחיות, ואין לו זיכרון שנשמר לאחר סיום הרצתו. כל סקריפט פועל מאפס, באופן מבודד, בכל פעם מחדש.

צעד אחר צעד: עסקה P2PKH סטנדרטית

Pay-to-Public-Key-Hash (P2PKH) הוא סוג העסקה המקורי של ביטקוין, הנמצא בשימוש מאז 2009. כתובות P2PKH מתחילות ב-"1". כך נראים ScriptPubKey ו-ScriptSig בפועל:

סקריפט לביטול נעילה (ScriptSig):

<חתימה> <מפתח ציבורי>

סקריפט נעילה (ScriptPubKey):

OP_DUP OP_HASH160 <חשיש המפתח הציבורי> OP_EQUALVERIFY OP_CHECKSIG

כאשר הצומת מחבר את השניים ומבצע אותם יחד, פעולות הערימה מתנהלות שלב אחר שלב:

  • החתימה והמפתח הציבורי מ-ScriptSig מועברים לערימה
  • OP_DUP משכפל את המפתח הציבורי שנמצא בראש הערימה
  • OP_HASH160 מבצע חישוב חשיש של הערך הכפול (SHA-256 ולאחר מכן RIPEMD-160), ומפיק חשיש בן 20 בתים
  • ה-hash של המפתח הציבורי מתוך סקריפט הנעילה מועבר לערימה
  • OP_EQUALVERIFY בודק אם שני ההאשים תואמים. אם הם אינם תואמים, הביצוע נעצר והעסקה נכשלת.
  • OP_CHECKSIG מאמת שהחתימה תקפה עבור המפתח הציבורי

אם כל השלבים עוברים בהצלחה, הערימה מסתיימת בערך TRUE והכספים משוחררים. התהליך כולו אורך מילי-שניות ומתבצע באופן זהה בכל צומת ברשת.

הסבר על קודים אופרטיביים של ביטקוין

קודי הפעולה של ביטקוין (opcodes) הם הפקודות הבודדות המרכיבות סקריפט. כל אחת מהן היא בייט בודד, מה שמאפשר 256 משבצות אפשריות לקודי הפעולה. מתוכן, כ-80 פעילות כרגע ברשת הראשית. השאר שמורות, מושבתות או מוקצות למנגנון התאימות קדימה OP_SUCCESS שהוצג עם Tapscript.

קודי הפעולה מתחלקים למספר קטגוריות:

  • קודי פעולה לדחיפת נתונים להעביר ערכים כגון מפתחות ציבוריים, חתימות ו-hash אל הערימה
  • קודי אופרציה אריתמטיים לבצע פעולות חיבור, חיסור והשוואה. יש לציין כי פעולות הכפל והחלוקה אינן זמינות.
  • קודי פעולה קריפטוגרפיים כוללים את OP_SHA256, OP_HASH160 ו-OP_SHA1 לצורך חישוב חשיש, וכן את OP_CHECKSIG לאימות חתימות
  • קודי פקודה לבקרת זרימה הפעלת לוגיקה מותנית: OP_IF, OP_ELSE, OP_ENDIF, OP_NOTIF
  • קודי פעולה לעיבוד ערימות ביניהם OP_DUP (העתקת הפריט העליון), OP_DROP (הסרת הפריט העליון) ו-OP_SWAP (החלפת שני הפריטים העליונים)

מספר קודים אופרטיביים הושבתו על ידי סאטושי נקאמוטו בשנת 2010, לאחר שהתגלו פגיעויות ביישומים המקוריים שלהם. אלה כוללים את OP_CAT (צירוף שני פריטי ערימה), OP_MUL (כפל) ו-OP_DIV (חלוקה). להיעדרותן היו השלכות ארוכות טווח על היכולות של Bitcoin Script, וכמה מהצעות השדרוג של ביטקוין שנדונו באופן הנמרץ ביותר בשנת 2026 עוסקות בשאלה האם להפעיל מחדש חלק מהן.

לרשימת קודים אופרטיביים מלאה, הכוללת ערכים הקסדצימליים ותיאורים, ניתן למצוא ב- דף התסריט של ויקי ביטקוין הוא המקור המוסמך.

מדוע היות המערכת לא-שלמה לפי טורינג מהווה יתרון

ההסבר המקובל הוא שב-Bitcoin Script אין לולאות, ולכן מובטח שהסקריפטים יסתיימו, וכך הרשת מוגנת מפני ביצוע אינסופי. זה נכון, אך ההסבר הזה אינו ממחיש את העניין במלואו.

הטיעון העמוק יותר נוגע למשטח ההתקפה. שפה בעלת יכולת טורינג מלאה יכולה לבטא חישובים שרירותיים. יכולת הביטוי הזו היא גם המרחב שבו מתקיימות תקלות. שפת Solidity של אתריום גרמה לכמה מפגיעויות התוכנה היקרות ביותר בהיסטוריה. פריצת ה-DAO ב-2016 ניצלה פגם של "reentrancy" בחוזה חכם וגרמה להפסדים של כ-60 מיליון דולר לפי המחירים דאז, מה שהוביל בסופו של דבר לפיצול קשה (hard fork) שנוי במחלוקת ברשת אתריום. במערכת האקולוגית הרחבה יותר של ה-DeFi נגרמו הפסדים של מאות מיליוני דולרים כתוצאה מניצול פרצות בחוזים חכמים לאורך מספר שנים.

שפת הסקריפט של ביטקוין הופכת סוג זה של התקפה לבלתי אפשרי מבחינה מבנית. לא ניתן לכתוב סקריפט ביטקוין הקורא לסקריפטים אחרים, מבצע לולאה עד לשינוי בתנאי מסוים, או שומר מצב בין עסקאות. כל סקריפט הוא תוכנית מוגבלת, מסתיימת וניתנת לבדיקה. הגודל המרבי של סקריפט הוא 10,000 בתים. המספר המרבי של קודים אופרטיביים שאינם push לכל סקריפט הוא 201. מאמת יכול תמיד לחשב את עלות הביצוע במקרה הגרוע ביותר לפני הפעלת הסקריפט.

ברשת ששוויה מאות מיליארדי דולרים, אותה צפיות שווה יותר מהגמישות שאתה מוותר עליה. אתריום פותרת את בעיית החישוב הבלתי מוגבל באמצעות מגבלות גז, גובה תשלום מהמשתמשים עבור כל קוד פעולה שמבוצע ועוצרת סקריפטים שנגמר להם התקציב. זה עובד, אך מביא עמו מורכבות ואפשרויות לכישלון משלו. ביטקוין עוקפת את הבעיה לחלוטין כבר בתכנון.

עם זאת, "אינו שלם לפי טורינג" אינו אומר "אינו מסוגל ללוגיקה מורכבת". שפת הסקריפט של ביטקוין תומכת בדרישות הוצאה רב-צדדיות, בתנאים מבוססי זמן, בחשיפת תמונת המקור של ההאש, ובשילובים של כל אלה. רשת הלייטנינג, שמנתבת מיליוני תשלומים מדי יום, בנויה כולה על פרימיטיבים של שפת הסקריפט של ביטקוין.

סוגי סקריפטים: ההתפתחות מ-P2PKH ל-Taproot

שכבת הסקריפטים של הביטקוין התפתחה באופן משמעותי מאז 2009, כאשר כל שדרוג הציג פורמט עסקה חדש, תוך שמירה על תאימות לאחור עם כל מה שקדם לו.

P2PK (תשלום למפתח ציבורי, 2009)

הפורמט המקורי, ששימש בעסקאות הביטקוין הראשונות, כולל התשלום של סאטושי להאל פיני בבלוק 170. הכספים ננעלו ישירות למפתח ציבורי מלא, ולא להאש שלו. כיום נעשה בו שימוש נדיר בעסקאות חדשות, מכיוון שהוא חושף את המפתח הציבורי בבלוקצ'יין לפני ההוצאה, מה שנחשב למדיניות אבטחה חלשה יותר מאשר ביצוע האש של המפתח תחילה.

P2PKH (תשלום למפתח ציבורי-האש, 2009)

הפורמט הסטנדרטי כבר יותר מעשור. ב-P2PKH הכספים נעולים באמצעות חתימת ה-hash של המפתח הציבורי ולא באמצעות המפתח עצמו, מה שמאפשר לשמור על פרטיות המפתח הציבורי עד לרגע ההוצאה, לייצר כתובת קצרה יותר באורך 20 בייט, ומהווה את הבסיס לכל הכתובות המתחילות ב-"1". על פי נתוני הבלוקצ'יין של Unchained (אפריל 2026), כתובות P2PKH מחזיקות כיום בכ-43% מהיצע הביטקוין שנכרה.

P2SH (Pay-to-Script-Hash, 2012, BIP 16)

P2SH, שהוצג באמצעות סופט-פורק ב-1 באפריל 2012, העביר את נטל תסריטי ההוצאה המורכבים מהשולח למקבל. במקום לשלב תסריך נעילה מלא בתפוקה, התפוקה של P2SH מתחייבת להאש של 20-byte של "תסריך פדיון". הסקריפט המלא נחשף רק בעת הוצאת המטבעות. דבר זה הפך את ה-multisig לשימושי עבור משתמשים רגילים: תצורת multisig מסוג 2 מתוך 3 כבר לא דרשה שכל שלושת המפתחות הציבוריים יהיו גלויים לשולח בעת התשלום. כתובות P2SH מתחילות ב-"3".

לפירוט מפורט של אופן פעולת אימות ה-P2SH ברמת הפרוטוקול, מדריך העסקאות של developer.bitcoin.org מציג שלב אחר שלב את מנגנון הסקריפט "redeem".

P2WPKH ו-P2WSH (SegWit מובנה, 2017, BIP 141)

Segregated Witness, שהופעל באוגוסט 2017 בבלוק 481,824, העביר את נתוני החתימה מחוץ לגוף העסקה הראשי למבנה עדות נפרד. נתוני העדות זוכים להנחה של 75% במשקל, מה שהופך את עסקאות ה-SegWit לזולות משמעותית. עסקה סטנדרטית מסוג P2WPKH עם כניסה אחת ושתי יציאות שוקלת כ-141 בייטים וירטואליים, לעומת 226 בייטים וירטואליים בעסקה מקבילה מסוג P2PKH, על פי ניתוח סוגי כתובות הביטקוין של Spark החל מחודש מרץ 2026. SegWit גם תיקן את בעיית הניתנות לעיוות של העסקאות, שהייתה תנאי הכרחי להקמת רשת Lightning. כתובות SegWit מקוריות מתחילות ב-"bc1q."

P2TR (Pay-to-Taproot, 2021, BIP 340/341/342)

Taproot הופעל בנובמבר 2021 בבלוק 709,632, והוא מהווה את השדרוג המשמעותי ביותר בשכבת הסקריפטים של ביטקוין מאז SegWit. הוא הציג חתימות Schnorr, סוג פלט חדש עם תמיכה ב-MAST, וכן את Tapscript כשפת סקריפטים מעודכנת. כתובות Taproot מתחילות ב-"bc1p."

Taproot ו-Tapscript: כיצד השתנתה שפת הסקריפטים של ביטקוין בשנת 2021

Taproot אינו שינוי בודד. מדובר בשלושה הצעות לשיפור ביטקוין (BIP) שתוכננו יחד והופעלו במקביל.

BIP 340: חתימות Schnorr

הביטקוין השתמש במקור באלגוריתם ECDSA (אלגוריתם חתימה דיגיטלית בעקומה אליפטית). סאטושי בחר בו בין השאר משום שחתימות שנור היו מוגנות בפטנט באותה עת. תוקף הפטנט פג בשנת 2008, ו-Taproot סוף סוף שילב את חתימות שנור בפרוטוקול.

חתימות Schnorr קטנות יותר, בגודל 64 בתים, לעומת 71–73 בתים ב-ECDSA. חשוב מכך, הן תומכות באגרגציית מפתחות באמצעות שיטה הנקראת MuSig2. אגרגציית מפתחות מאפשרת למספר חותמים לשלב את המפתחות והחתימות האישיים שלהם למפתח וחתימה מצרפיים יחידים, אשר אינם ניתנים להבחנה ברשת מתשלום רגיל עם חתימה אחת. ארנק רב-חתימות מסוג 2 מתוך 3 המבצע הוצאה באמצעות נתיב המפתחות השיתופי של Taproot נראה זהה לתשלום סטנדרטי בבלוקצ'יין. זוהי תועלת אמיתית לפרטיות עבור כל מי שמחזיק בביטקוין במסגרת הסדר שמירה מורכב.

BIP 341: Pay-to-Taproot ו-MAST

P2TR מציגה סוג פלט חדש הכולל שני מסלולי הוצאה:

  • א נתיב מפתח לבצע את ההוצאה באמצעות חתימת שנור, המשמשת כאשר כל הצדדים מסכימים ומעוניינים בפתרון הפשוט והזול ביותר
  • א נתיב הסקריפט לבצע באמצעות MAST (עץ תחביר מופשט מרקליזציה, שהוא היישום של Taproot למושג זה)

MAST מאפשר לפלט יחיד להתחייב לעץ של מספר תסריטי הוצאה באמצעות שורש מרקל. בעת ההוצאה, רק התנאי הספציפי ששימש בפועל נחשף ברשת. כל נתיבי ההוצאה האחרים האפשריים בעץ נותרים מוסתרים לצמיתות. עבור משתמש שהגדיר מדיניות הוצאה מורכבת, למשל "אני יכול לבצע הוצאה כרגיל, או ששניים מתוך שלושה נאמנים יוכלו לבצע הוצאה לאחר שישה חודשים, או שמפתח שחזור יוכל לבצע הוצאה לאחר שנתיים", רק הנתיב שבוצע בפועל יופיע אי-פעם בבלוקצ'יין.

נכון לשנת 2024, חלקה של Taproot בעסקאות הביטקוין צמח לכ-42%, בעיקר הודות לפעילות בתחום ה-Ordinals וה-BRC-20, על פי נתוני Glassnode שצוטטו על ידי Spark במרץ 2026. מאז, נתח זה השתנה בהתאם לתנאי השוק, אך התשתית הפכה כיום לסטנדרטית בכל הארנקים והבורסות המרכזיים. דף הנושא "Taproot" באתר Bitcoin Optech עוקב אחר התפתחות הפרוטוקול המתמשכת סביב Taproot.

BIP 342: תסריט Tapscript

Tapscript היא שפת הסקריפטים המעודכנת המשמשת לביצוע עסקאות באמצעות script-path במסגרת Taproot. היא חולקת את מרבית קודי הפעולה (opcodes) עם שפת ה-Bitcoin Script הישנה, אך כוללת מספר שינויים משמעותיים:

  • OP_CHECKMULTISIG ו- OP_CHECKMULTISIGVERIFY אינן בשימוש עוד. לקוד הפעולה הישן של חתימה מרובה (multisig) הייתה תכונה מוזרה שחייבה דחיפת אלמנט דמה לערימה כפתרון עוקף. Tapscript מסיר אותה ומחליף אותה ב- OP_CHECKSIGADD, אשר מאמת חתימות Schnorr אחת אחת ומצטבר את הספירה. שיטות רב-חתימות עם סף הופכות לפשוטות יותר וזולות יותר לביצוע.
  • הוסרו המגבלות על גודל הסקריפטים לכל עלה MAST. סקריפטים בודדים בתוך ענף Taproot יכולים להיות גדולים ככל שרוצים.
  • קודי הפעולה OP_SUCCESS מהווים את השינוי החדשני ביותר. בסקריפט הישן, נתק בקוד פעולה (opcode) שלא הוגדר גורם לכישלון הסקריפט. ב-Tapscript, קודי פעולה בטווח OP_SUCCESS גורמים להצלחת הסקריפט ללא תנאי. פיצולים רכים עתידיים יוכלו להקצות התנהגות ממשית לקודי הפעולה הללו על ידי הוספת אילוצים לגבי התנאים שבהם הם מצליחים, מבלי לדרוש גרסת סקריפט חדשה או מחזור פריסה מחדש מלא בכל המערכת האקולוגית. ניתן להוסיף יכולות חדשות לשכבת הסקריפטים של ביטקוין בצורה נקייה יותר מאשר בכל נקודה קודמת בהיסטוריה של הפרוטוקול.

מיניסקריפט

לצד Tapscript, פרויקט קשור בשם Miniscript הפך לרלוונטי יותר ויותר עבור מפתחים. Miniscript הוא שיטה מובנית לכתיבת תת-קבוצה של Bitcoin Script הניתנת לניתוח, להרכבה ולחתימה באופן כללי. בעוד ש-Script הגולמי דורש בנייה ידנית וקשה לבדיקה, ניתן לאמת את נכונותם של סקריפטים ב-Miniscript באופן אוטומטי ולשלב אותם במדיניות רחבה יותר. הוא אינו מרחיב את היכולות של Script, אך הופך את מה שהוא כבר עושה לנגיש הרבה יותר למפתחים הבונים ארנקים וכלי שמירה.

מה מאפשר סקריפט הביטקוין: דוגמאות לשימוש בעולם האמיתי

סוגי העסקאות הבאים פעילים כיום ברשת הראשית של ביטקוין, וכולם מבוססים על פרימיטיבים של Bitcoin Script:

ארנקים עם חתימות מרובות (multisig) נדרשים M מתוך N מפתחות פרטיים כדי לאשר הוצאה. מחלקת האוצר של חברה עשויה לדרוש 3 מתוך 5 אישורים לכל משיכה. זוג נשוי עשוי להשתמש ב-2 מתוך 2 עבור חסכונות משותפים. בעזרת Taproot וצירוף המפתחות של Schnorr, הוצאות משותפות עם חתימות מרובות (multisig) אינן ניתנות להבחנה על הבלוקצ'יין מעסקאות סטנדרטיות עם חתימה אחת.

עסקאות עם נעילת זמן יש להשתמש ב-OP_CHECKLOCKTIMEVERIFY (CheckLockTimeVerify, או CLTV) וב-OP_CHECKSEQUENCEVERIFY (CheckSequenceVerify, או CSV) כדי למנוע העברת כספים לפני הגעה לגובה בלוק מסוים או לפני חלוף פרק זמן מסוים. היישומים כוללים תכנון ירושה, לוחות זמנים להקניית אסימונים לעובדים, מנגנוני חיסכון כפוי ועסקאות קנס המשמשות בתוך ערוצי רשת לייטנינג.

חוזים נעולים בזמן באמצעות Hash (HTLC) לשלב דרישת תמונה מקדימה של ה-hash עם נעילת זמן. תנאי ההוצאה פועל כך: יש לחשוף את התמונה המקדימה של ה-hash הזה לפני הגעה לגובה הבלוק הזה, אחרת הכספים יוחזרו לשולח. HTLCs הם המרכיב הבסיסי של רשת Lightning, המאפשר ניתוב תשלומים ללא צורך באמון, באמצעות שרשראות ערוצים בין צדדים שאין ביניהם קשר ישיר.

חשבון נאמנות הסדרים אלה נועלים את הכספים בסקריפט P2SH או Taproot, המחייב הסכמה של מספר צדדים לפני שחרורם, ובדרך כלל בורר צד שלישי מחזיק במפתח המכריע במקרה של שוויון.

חוזי רישום דיסקרטיים (DLC) להשתמש בחתימות מתאם Schnorr המבוססות על אורקל כדי לאפשר חוזים פיננסיים המוסדרים על ידי נתונים מהעולם האמיתי, כגון עדכוני מחירים או תוצאות אירועים, מבלי שהאורקל יידרש להחזיק בכספים כלשהם. ה-DLCs פועלים ברשת הראשית של ביטקוין ומשמשים למוצרי אופציות וחוזים עתידיים המוסדרים בביטקוין.

סקריפט ביטקוין לעומת חוזים חכמים של אתריום

שפת הסקריפט של ביטקוין ו-Solidity של אתריום מגדירות שתיהן את התנאים שבהם ניתן להעביר כספים, אך הן מייצגות בחירות ארכיטקטוניות שונות בתכלית. כדאי לערוך את ההשוואה באופן ישיר, שכן ההבדלים מסבירים רבות על הפשרות שכל רשת קיבלה על עצמה.

מאפיין
סקריפט ביטקוין
חוזים חכמים של אתריום
מודל ביצוע
מבוסס ערימה, ללא מצב, מוגבל
מבוסס ערימה (EVM), עם מצב, עם מדידת גז
שלם לפי טורינג?
לא. אין לולאות, מובטח שהביצוע יסתיים.
כן. חישוב שרירותי.
התמדת המצב
אין. כל סקריפט פועל באופן מבודד.
חוזים מאחסנים ומשנים את המצב על הבלוקצ'יין.
המטרה העיקרית
הוצאה מותנית של UTXOs
יישומים לתכנות לשימוש כללי
הגנה מפני התקפות DoS
מבני: ללא לולאות, מגבלות גודל קשיחות
מגבלות הגז על עלות הביצוע
פרטיות בשכבת הבסיס
משופר באמצעות Taproot ו-MAST
כל המידע הציבורי של המדינה מוגדר כציבורי כברירת מחדל
הישגים בתחום האבטחה
לא התגלו פרצות בשכבת הקונצנזוס במשך 16 שנים
פרצות אבטחה משמעותיות ברמת החוזים, הפסדים בסך מיליארדים
כלי פיתוח
קודי פעולה ברמה נמוכה; Miniscript; Tapscript
Solidity (רמה גבוהה), המהודר לקוד בייט של EVM
מאפיין
מודל ביצוע
סקריפט ביטקוין
מבוסס ערימה, ללא מצב, מוגבל
חוזים חכמים של אתריום
מבוסס ערימה (EVM), עם מצב, עם מדידת גז
מאפיין
שלם לפי טורינג?
סקריפט ביטקוין
לא. אין לולאות, מובטח שהביצוע יסתיים.
חוזים חכמים של אתריום
כן. חישוב שרירותי.
מאפיין
התמדת המצב
סקריפט ביטקוין
אין. כל סקריפט פועל באופן מבודד.
חוזים חכמים של אתריום
חוזים מאחסנים ומשנים את המצב על הבלוקצ'יין.
מאפיין
המטרה העיקרית
סקריפט ביטקוין
הוצאה מותנית של UTXOs
חוזים חכמים של אתריום
יישומים לתכנות לשימוש כללי
מאפיין
הגנה מפני התקפות DoS
סקריפט ביטקוין
מבני: ללא לולאות, מגבלות גודל קשיחות
חוזים חכמים של אתריום
מגבלות הגז על עלות הביצוע
מאפיין
פרטיות בשכבת הבסיס
סקריפט ביטקוין
משופר באמצעות Taproot ו-MAST
חוזים חכמים של אתריום
כל המידע הציבורי של המדינה מוגדר כציבורי כברירת מחדל
מאפיין
הישגים בתחום האבטחה
סקריפט ביטקוין
לא התגלו פרצות בשכבת הקונצנזוס במשך 16 שנים
חוזים חכמים של אתריום
פרצות אבטחה משמעותיות ברמת החוזים, הפסדים בסך מיליארדים
מאפיין
כלי פיתוח
סקריפט ביטקוין
קודי פעולה ברמה נמוכה; Miniscript; Tapscript
חוזים חכמים של אתריום
Solidity (רמה גבוהה), המהודר לקוד בייט של EVM

הקו המפריד המהותי הוא ה"מדינתיות" (statefulness). חוזים ב-Ethereum מאחסנים ומשנים נתונים הנשמרים בין עסקאות, מה שמאפשר את קיומם של פרוטוקולי הלוואות, בורסות מבוזרות, ממשל על הבלוקצ'יין ותקני טוקנים. ל-Bitcoin Script אין מקבילה לכך. כל סקריפט פועל ב"ואקום", ללא כל ידיעה על עסקאות אחרות.

זוהי בחירה אדריכלית מכוונת, ולא פער שרק מחכה שימלאו אותו. שכבת הסקריפטים של ביטקוין תוכננה למשימה ספציפית אחת: אכיפת התנאים להוצאת ביטקוין, באופן צפוי ובטוח, בקנה מידה גדול. לצורך משימה זו, היעדר מצב (statelessness) מהווה יתרון. שטח החשיפה להתקפות קטן יותר, הביצוע הוא דטרמיניסטי בקרב מיליוני מאמתים עצמאיים, ואין כל סוג של ניצול חוזים חכמים ברמת הפרוטוקול, מכיוון שאין חוזים בעלי מצב ברמת הפרוטוקול.

פרויקטים המעוניינים ביכולת תכנות רחבה יותר בנוסף לביטקוין בונים אותה בשכבות. רשת לייטנינג (Lightning Network) מטפלת בתשלומים. פרוטוקולי DLC מטפלים בחוזים פיננסיים המתייחסים לנתונים חיצוניים. מערכות שכבה 2 כמו Ark ו-Liquid Network מתאימות לפרופילים שונים של מדרגיות. אף אחד מהדברים הללו אינו מצריך שינוי במודל הסקריפטים של השכבה הבסיסית.

הדיון על ה-Covenant: מה עשוי להשתנות ב-Script של ביטקוין

התפתחות שפת הסקריפט של ביטקוין הייתה מאז ומתמיד איטית ושמרנית. תחום הפיתוח הפעיל ביותר כרגע הוא קודים אופרטיביים מסוג "covenant" – הצעות שיאפשרו לסקריפט להגביל לא רק מי רשאי להוציא פלט, אלא גם כיצד חייבת להיראות העסקה הנובעת מכך. זוהי הרחבה משמעותית של כוח הביטוי של שפת הסקריפט.

ההצעות המובילות נכון ליוני 2026 הן:

  • OP_CTV (BIP-119, CheckTemplateVerify), שנכתב על ידי ג'רמי רובין, מוסיף קוד פעולה יחיד אשר מקצה UTXO לתבנית הוצאה ספציפית וקבועה מראש, הכוללת את גרסת העסקה, זמן הנעילה, מספר הקלטים, הרצפים, מספר הפלטים והפלטים עצמם. ההצעה אינה רקורסיבית מעצם תכנונה, נחשבת להצעה המרכזית השמרנית ביותר, ומכוונת בעיקר לכספות, לבקרת עומס ולשיפורים מסוימים ב-Lightning. נכון לאפריל 2026, ל-OP_CTV יש פרמטרים קונקרטיים לפריסה המציינים חלון איתות של "Speedy Trial", אך היא טרם השיגה את הקונצנזוס הרחב הנדרש בקהילה לצורך הפעלתה, לפי ניתוח ההתחייבויות של BlockEden לאפריל 2026.
  • OP_CAT (BIP-347), שהוצע על ידי איתן היילמן וארמין סאבורי, יפעיל מחדש קוד פעולה (opcode) שסאטושי השבית בשנת 2010. OP_CAT מחבר שני פריטי ערימה, דבר שנשמע פשוט בתיאורו אך בעל השלכות נרחבות. בשילוב עם חתימות שנור (Schnorr), הוא מאפשר בדיקה פנימית של העסקאות בדומה ל"ברית" (covenant). ברשת הבדיקה "סיגנט" של ביטקוין, OP_CAT יצר מספר עסקאות מפתחים גבוה משמעותית מזה של APO או CTV, על פי ניתוח ה-on-chain של sCrypt מסוף 2024. OP_CAT כבר פעיל ברשת Liquid וברשת Fractal Bitcoin, ללא ניצול פרצות המיוחס לו. ל-BIP-347 יש מספר הצעה רשמי ומחקר פעיל העומד מאחוריו, אך הפעלתו ברשת הראשית דורשת קונצנזוס קהילתי שטרם קיים.
  • LNHANCE משלב את OP_CTV עם OP_CHECKSIGFROMSTACK (CSFS) ו-OP_INTERNALKEY, במטרה להביא לשיפורים ספציפיים בבניית ערוצים ברשת לייטנינג, לרבות פתיחת ערוצים ללא אינטראקציה וניהול יעיל יותר של ערוצים מרובי-צדדים.

נכון ליוני 2026, אף אחד מהשינויים הללו לא הופעל ברשת הראשית של ביטקוין. המחלוקות הטכניות ביניהם ניתנות לפתרון ברובן. הבעיה הקשה יותר היא מנגנון ההפעלה. תהליך ה-soft fork של ביטקוין דורש קונצנזוס רחב, והדיון בנושא ה-covenant נושא עמו מתח שיורי משדרוגים שנויים במחלוקת קודמים. מה שעולה בבירור מהדיון הוא שלשכבת הסקריפטים של ביטקוין יש מרחב משמעותי לצמיחה בתוך המסגרת השמרנית שלה. השאלה הנדונה כעת היא סדר הפעולות והסכמת הקהילה, ולא האם לשפת הסקריפטים יש עתיד.

סיכום

סקריפט הביטקוין הוא התשתית הבלתי נראית העומדת בבסיס כל עסקה ברשת. רוב המשתמשים לעולם אינם נתקלים בה באופן ישיר. הארנקים בונים סקריפטים תקפים, חותמים עליהם ומשדרים אותם מבלי לחשוף את המנגנון. אך כל תשלום, כל ערוץ לייטנינג, כל תוכנית עם נעילת זמן וכל כספת רב-חתימתית פועלים באמצעות אותה שפת סקריפטים של ביטקוין המבוססת על ערימה, שנכללה בפרוטוקול בשנת 2009.

שכבת הסקריפטים התפתחה באופן משמעותי מאז: P2SH הפך את ההוצאות המורכבות לישימות, SegWit צמצם את העמלות ואיפשר את פעילות רשת ה-Lightning, ו-Taproot הביא עמו חתימות Schnorr, פרטיות מבוססת MAST ועיצוב קוד הפעלה (opcode) של Tapscript התואם לעתיד. הצעות ה-Covenant הנמצאות כעת בדיון פעיל מייצגות את הפרק הפוטנציאלי הבא. האם איזו מהן תופעל, ובאיזה לוח זמנים, נותר פתוח לחלוטין נכון לאמצע שנת 2026.

הבנת שפת הסקריפט אינה מחייבת להיות מפתח. היא דורשת הכרה בכך שהשמרנות של ביטקוין, המגבלות המכוונות, קצב השדרוג האיטי והיעדר השלמות של טיורינג, אינם מהווים חסרון. התכונות שהופכות את שפת הסקריפט של ביטקוין לניתנת לחיזוי הן אותן תכונות ששמרו על ניקיון שכבת הקונצנזוס במשך שש עשרה שנים.

Frequently Asked Questions

What does Bitcoin Script actually do?
Bitcoin Script defines the spending conditions attached to every transaction output on the network. When you receive bitcoin, the transaction includes a locking script specifying what must be provided to spend those funds. When you spend them, your wallet produces an unlocking script satisfying those conditions. Every full node validates this independently.
Why doesn't Bitcoin Script have loops?
What is the difference between ScriptSig and ScriptPubKey?
How did Taproot change Bitcoin Script?
Can Bitcoin do smart contracts?
What are Bitcoin covenant opcodes?
What is a UTXO and how does it relate to Bitcoin Script?
What is Miniscript?

התחילו להשקיע בבטחה באמצעות הארנק של Bitcoin.com

עד כה נוצרו למעלה מ-85 מיליון ארנקים. כל מה שאתם צריכים כדי לקנות, למכור, לסחור ולהשקיע בביטקוין ובמטבעות קריפטוגרפיים בצורה מאובטחת.

A screenshot of the Bitcoin.com Wallet app

סרוק כדי להוריד את הארנק של Bitcoin.com

סרוק את קוד ה-QR הזה באמצעות המכשיר הנייד שלך, ותועבר אוטומטית לדף החנות המתאים.