
Fintech Engineering Handbook: תבניות לתוכנה שמנהלת כסף
וויטק פיטולה פרסם מדריך חינמי על תבניות ההנדסה שמאחורי מערכות כספיות — מייצוג סכומים וספרי חשבונאות כפולה ועד אידמפוטנטיות, וובהוקים, התאמות ובקרת גישה. המדריך נכתב בידי מהנדס עם ניסיון בתשלומים ובניהול אוצר.
שלושה עקרונות למערכות כספיות
וויטק פיטולה, מהנדס שרקעו כולל תשלומים, הנהלת חשבונות, בקרה וניהול אוצר הן בפיאט והן בקריפטו, פרסם את Fintech Engineering Handbook — מדריך חינמי לתבניות שבשימוש כשהכסף הוא מושא המערכת. שלושה עקרונות עוברים דרכו. אין נתונים מומצאים: אידמפוטנטיות, דה-דופליקציה והתאמות, כך שכסף לעולם אינו נוצר או מוכפל. אין נתונים שאבדו: דיוק מלא, מסירה ״לפחות פעם אחת״, event sourcing, נתיב ביקורת ואי-שינוי. ואין אמון — לא בספקים חיצוניים, לא ברכיבים פנימיים ולא בעולם — ולכן וובהוקים מאומתים, נתונים מוצלבים מול מקורות בלתי תלויים, והנחות שבורות נכשלות בקול רם.
ייצוג כסף ורישומו
לפני שכסף זז צריך לייצג אותו. פיטולה משווה ארבע גישות: מספרי נקודה צפה, שהוא מכנה כמעט אף פעם לא רעיון טוב; דיוק שרירותי כמו BigDecimal של ג'אווה לחישובים משורשרים; מספרים שלמים ביחידות משנה, שמספר הספרות שלהם נקבע ב-ISO 4217 ולא תמיד הוא שתיים; ומספרים רציונליים כשאסור לאבד דיוק. גם אין לשלוח סכום כמספר JSON חשוף — רוב המפרסרים הופכים אותו ל-double. עיגול הוא בלתי נמנע, אך עליו להיות מפורש, נקבע על ידי העסק, נדיר ככל האפשר ומתועד כשהדבר שובר סכומים.
רישום כסף פירושו ספר ראשי: חשבונאות כפולה, ההבחנה בין זמן ערך, זמן רישום וזמן סליקה, נתיב ביקורת, event sourcing ואי-שינוי, וכן היפוכים ותיקונים במקום עריכה — והמתח בין אי-שינוי לדרישות מחיקת נתונים.
זרימות, העולם החיצון ובקרות
ביצוע זרימת כסף נשען על אינווריאנטים, שריון כספים (hold-and-release, עם הבחנה בין יתרה כוללת לזמינה), טיפול מפורש בחריגת יתר — שאי אפשר להפוך לבלתי ניתנת לייצוג, כי העולם החיצון אינו מבקש רשות — אידמפוטנטיות מול ניסיונות חוזרים, והתחדשות מלאה: הזרימות הן מכונות מצב נשמרות, דרייבר בלתי תלוי ממשיך אותן, וכל שלב חייב להיות בטוח להרצה חוזרת. לגבי אינטגרציות ממליץ פיטולה להניח ש-API-ים יתנהגו רע, לשמור כל בקשה ותשובה, לשים לב למכסות, ולהתייחס לוובהוק כרמז ולא כאמת: לאמת חתימה על הבתים הגולמיים, לשמור את המטען, לאשר במהירות, ואז לשאול את ה-API על המצב הסמכותי. פרסום אמין נשען על תבנית outbox או CDC, וההתאמות הן רשת הביטחון שתופסת את מה שחמק. פרק אחרון עוסק בהפרדת תפקידים ובאישור ״ארבע עיניים״, בגישה בהרשאה מינימלית עם סקירות תקופתיות, ובנתיב ביקורת מהקוד ועד לפרודקשן.
נספחים ומגבלות בגלוי
הנספחים עוברים על שלוש זרימות מקצה לקצה — משיכת 0.5 ETH בקריפטו, הפקדה בכרטיס דרך ספק סליקה, והמרה בתוך האפליקציה של 1,000 אירו ל-USDC עם קאשבק — ועל רשימת קריאה בחשבונאות, תשלומים, שווקים, קריפטו, KYC ו-AML. פיטולה מציין שרוב החומר נכתב בידו, בעוד שבינה מלאכותית שימשה לליטוש, לארגון, למחקר ולבקרה; הספר הוא מסמך חי, משוב מתקבל ב-GitHub, והוא אינו ייעוץ משפטי, רגולטורי או פיננסי.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.