الدليل الرسمي لتطوير blockchain

العملات المشفرة ، ICO ، أموال الإنترنت السحرية - كلها مثيرة للغاية ، وأنت ، المطور الشغوف ، تريد الدخول في الجنون. من أين تبدأ؟

أنا سعيد لأنك متحمس بشأن هذه المساحة. وأنا كذلك. ولكن ربما تجد أنه من غير الواضح من أين تبدأ. تتحرك Blockchain بسرعة فائقة ، ولكن لا يوجد أي مخطط واضح لتعلم هذه الأشياء.

منذ أن تركت Airbnb للعمل بدوام كامل على blockchain ، تواصل معي العديد من الأشخاص يسألونني عن كيفية الدخول إلى مساحة blockchain بدوام كامل. اعتبر هذا دليلي الرسمي (وغير المكتمل حتمًا) حول كيفية الدخول في هندسة blockchain.

يتألف هذا الدليل من عشرة أجزاء:

  1. لماذا يجب أن تتعلم تطوير blockchain؟
  2. المتطلبات الأساسية
  3. الأسس النظرية للبيتكوين
  4. بناء blockchain بنفسك
  5. إيثريوم وبرمجة العقود الذكية
  6. أمن العقود الذكية
  7. خلع عجلات التدريب
  8. بناء مشاريعك الخاصة
  9. التنقل في مجتمع blockchain
  10. الحصول على وظيفة

لماذا يجب أن تتعلم تطوير blockchain؟

قبل أن أجيب على هذا السؤال ، دعني ألاحظ أولاً: blockchain هو مساحة مبالغ فيها بشكل كبير في الوقت الحالي. هذه الأسعار غير مستدامة ، ومن المؤكد أن الانهيار قادم. لقد حدث كل هذا من قبل ، وربما يحدث مرة أخرى. ولكن إذا كنت تعمل لمدة طويلة في هذا المجال ، فسوف تتعلم تجاهل الأسعار. على حد تعبير Emin Gun Sirer - الأسعار هي الجزء الأقل إثارة للاهتمام في العملات المشفرة. هذه تقنيات مهمة للغاية ، وستغير العالم بشكل لا رجعة فيه.

إذا لم تكن متأكدًا ، لا يمكنني إخبارك ما إذا كان عليك القفز أم لا. ولكن يمكنني إخبارك بخمسة أسباب أقنعتني بالقيام بهذه الخطوة:

  1. لا يزال الوقت مبكرا.

تم اختراع Bitcoin منذ 10 سنوات ، ولكن معدل الابتكار وصل إلى ذروته في العامين الماضيين فقط ، خاصة مع إطلاق Ethereum في عام 2015. تم بناء معظم الشركات والأفكار الجديدة في هذا الفضاء على رأس Ethereum ، والتي لا تزال غير ناضجة للغاية.

حتى لو بدأت الآن ، يمكنك أن تصبح واقعًا خبيرًا على مستوى عالمي في غضون بضع سنوات. معظم الناس لم يفعلوا ذلك لفترة طويلة ، ولن يكون من الصعب اللحاق بالركب. سيكون البدء الآن مشابهًا لخبراء التعلم العميق الذين بدأوا في دراسة الموضوع في أواخر العقد الأول من القرن الحادي والعشرين.

2. لا تحتوي هذه المساحة على قمع مواهب قوي حتى الآن.

يركز معظم أفضل وألمع الطلاب في الجامعات على التعلم الآلي أو برمجة الويب أو تطوير الألعاب. من المؤكد أن سلاسل الكتل أصبحت أكثر جاذبية في الخطاب العام ، لكنها لا تزال موضوعًا غريبًا ومخربًا يجب أن تشارك فيه حياتك المهنية.

في وقت مبكر ، كان blockchain عالمًا حصريًا من cypherpunks و paranoids و weirdos. هذا لم يبدأ في التغيير إلا مؤخرًا. بمجرد كونك مطورًا فضوليًا ومنفتحًا ، ستجلب الكثير من القيمة للمساحة.

3. يحدث الكثير من الابتكار خارج الأوساط الأكاديمية.

لم يكن ساتوشي ناكاموتو أكاديميًا على حد علمنا. لا توجد جامعة أو مؤسسة تقدم تركيزًا متماسكًا على blockchain حتى الآن. معظم الابتكارات هنا قادها هواة ورجال أعمال وباحثون مستقلون. كل ما تحتاج إلى معرفته تقريبًا موجود في الأوراق البيضاء ومنشورات المدونات وقنوات Slack العامة والبرامج مفتوحة المصدر. كل ما يتطلبه الأمر هو أن تشمر عن سواعدك وتقفز في المعركة.

4. الطلب على المواهب يفوق العرض بكثير.

لا يوجد عدد كافٍ من المطورين في هذا المجال ، ولا يمكنهم الحصول على تدريب بالسرعة الكافية. يتنافس الجميع على توظيف مواهب blockchain ، وتشعر المشاريع بأزمة المواهب. لا تستطيع العديد من أفضل الشركات أن تدفع لموظفيها ما يكفي للبقاء لأن لديهم الكثير من الفرص. إذا حصلت على بعض المهارات تحت حزامك ، فسيكون من السهل الحصول على وظيفة.

5. العملات المشفرة رائعة حقًا.

في أي مكان آخر يمكنك بناء أشياء خيال علمي مثل الأموال اللامركزية المؤمنة بتشفير؟ إنه الغرب المتوحش الآن - وهذا يجلب الخير والشر. يمكن أن تستخدم المساحة مزيدًا من الشفافية ، وسيأتي التنظيم في النهاية. ولكن بدون شك ، تعد العملات المشفرة واحدة من أكثر المجالات ابتكارًا التي يمكنك العمل فيها الآن.

قال نافال رافيكانت في مقابلة أجريت معه مؤخرًا: إن مفتاح النجاح هو إعطاء المجتمع الأشياء التي يريدها ، لكنه لا يعرف كيف يحصل على نفسه. لا يمكنك الذهاب إلى المدرسة لمثل هذه الأشياء ؛ إذا استطعت ، فسيحصل العالم بالفعل على إمدادات ثابتة منه.

لذا قم ببناء شيء لا يعرف أحد آخر كيف يبنيه. في الوقت الحالي ، تعد blockchain جديدة تمامًا وهناك الكثير مما يجب معرفته. إذا نجحت في بناء مستقبل التكنولوجيا اللامركزية ، فسوف يكافئك العالم بسخاء.

لذا قل أنك تريد رمي قبعتك. ماذا تريد أن تعرف قبل أن تدخل الحلبة؟

المتطلبات الأساسية

أوصي بتعزيز فهمك للأساسيات قبل التعمق أكثر. تم بناء Blockchains على أعلى عقود من البحث في علوم الكمبيوتر والتشفير والاقتصاد. كان ساتوشي ناكاموتو مرتدًا ، لكنه كان يعرف جيدًا أيضًا التاريخ الذي سبقه. لفهم سبب عمل blockchain ، تحتاج إلى فهم اللبنات الأساسية الخاصة بهم - ما الذي جاء قبل blockchains ، ولماذا لم تعمل هذه الأشياء.

فيما يلي بعض المتطلبات الأساسية التي يجب أن تكون على دراية بها ، بترتيب الأهمية.

لاحظ أن هذه الروابط هي مجرد نقطة بداية ، فربما تريد التعمق أكثر في العديد من هذه الموضوعات.

علوم الكومبيوتر

هياكل البيانات

ستحتاج إلى التعرف على الخصائص وضمانات التعقيد الخاصة بهياكل البيانات الرئيسية: القوائم المرتبطة ، وأشجار البحث الثنائية ، وخرائط التجزئة ، والرسوم البيانية (على وجه التحديد ، الرسوم البيانية الحلقية الموجهة والتي تظهر بشكل بارز في سلاسل الكتل). يساعد في بنائها من الصفر لفهم كيفية عملها وخصائصها بشكل أفضل.

التشفير

التشفير هو الاسم نفسه والأساس المتين للعملات المشفرة. تستخدم جميع العملات المشفرة تشفير المفتاح العام / الخاص كأساس للهوية والمصادقة. أوصي بدراسة RSA (من السهل تعلمها ولا تتطلب خلفية رياضية قوية جدًا) ، ثم انظر إلى ECDSA. يتطلب تشفير المنحنى الإهليلجي مزيدًا من العمليات الحسابية المجردة - ليس من المهم فهم كل التفاصيل ، ولكن يجب أن تعلم أن هذا هو التشفير المستخدم في معظم العملات المشفرة ، بما في ذلك البيتكوين.

العنصر البدائي المهم الآخر في التشفير هو وظيفة تجزئة التشفير. يمكن استخدامها لبناء مخططات الالتزام ، وهي اللبنة الأساسية لأشجار Merkle. تمكّن أشجار Merkle أدلة Merkle ، وهي أحد التحسينات الرئيسية التي تستخدمها blockchains لإمكانية التوسع.

الانظمة الموزعة

هناك عدد قليل من الكتب المدرسية الجيدة عن الأنظمة الموزعة ، لكنها منطقة دراسة مترامية الأطراف وصعبة. تعد الأنظمة الموزعة ضرورية للغاية للتفكير حول blockchain ، لذلك يجب عليك بناء أساس هنا قبل معالجة برمجة blockchain.

بمجرد أن تتوقف عن العيش على آلة واحدة ، عليك أن تبدأ في التفكير بشأن الاتساق والتوافق. سترغب في معرفة الفرق بين نماذج الاتساق القابلة للتحويل والنهاية. ستحتاج أيضًا إلى معرفة ضمانات خوارزميات الإجماع المتسامحة مع الأخطاء ، مثل Paxos و RAFT. تعرف على صعوبات التفكير في الوقت في نظام موزع. قدر المفاضلات بين السلامة والحيوية.

مع هذه الخلفية ، ستتمكن من فهم الصعوبات المتعلقة بالإجماع البيزنطي المتسامح مع الأخطاء ، وهو مطلب الأمان الأساسي لشبكات البلوكشين العامة. سترغب في التعرف على PBFT ، وهي واحدة من أولى الخوارزميات القابلة للتطوير لتقديم الإجماع البيزنطي المتسامح مع الأخطاء. PBFT هو الأساس للعديد من خوارزميات إجماع blockchain غير إثبات العمل. مرة أخرى ، لا تحتاج إلى فهم تفاصيل كيف ولماذا تكون PBFT صحيحة ، ولكن عليك الحصول على الفكرة العامة وضمانات الأمان الخاصة بها.

من المفيد أيضًا فهم الأساليب التقليدية لتوزيع قواعد البيانات (في جوهرها ، تعتبر البلوكشين قواعد بيانات بعد كل شيء). تعرف على المزيد حول التجزئة (على سبيل المثال عن طريق التجزئة المتسقة) والنسخ المتماثل بين القائد والمتابع والالتزامات المستندة إلى النصاب القانوني. انظر إلى جداول التجزئة الموزعة (DHTs) ، مثل Chord أو Kademlia.

الشبكات

تنبع لا مركزية سلاسل الكتل في جزء كبير من طوبولوجيا شبكة الند للند. على هذا النحو ، فإن البلوكشين هي أحفاد مباشرة لشبكات P2P السابقة.

لفهم نموذج اتصال blockchain ، تحتاج إلى فهم أساسيات شبكات الكمبيوتر: وهذا يعني فهم TCP مقابل UDP ، ونموذج الحزمة ، وكيف تبدو حزم IP ، وتقريبًا كيف يعمل توجيه الإنترنت.

تميل سلاسل الكتل العامة إلى نشر الرسائل عبر بروتوكولات القيل والقال باستخدام الفيضانات. من المفيد معرفة تاريخ تصميم شبكة P2P ، من Napster إلى Gnutella و BitTorrent و Tor. بلوكتشين لها مكانها الخاص ، لكنها تعتمد على دروس هذه الشبكات وكيف تم تصميمها.

اقتصاديات

العملات المشفرة متعددة التخصصات بطبيعتها - وهذا جزء مما يجعلها رائعة وجذرية. إلى جانب علوم الكمبيوتر والتشفير والشبكات ، فهي أيضًا متشابكة بعمق مع الاقتصاد. يمكن للعملات المشفرة اشتقاق العديد من خصائص الأمان من خلال هياكلها الاقتصادية ، والتي غالبًا ما تسمى بالاقتصاد المشفر . على هذا النحو ، فإن الاقتصاد ضروري لفهم العملات المشفرة.

نظرية اللعبة

إن أهم فرع من فروع الاقتصاد الذي يلعب في العملات المشفرة هو نظرية الألعاب ، ودراسة المكاسب والحوافز بين الوكلاء المتعددين. لا تحتاج للذهاب للغاية عمق هنا، ولكنك في حاجة إلى فهم الأدوات الأساسية للتحليل نظرية اللعبة، وكيف يمكنك استخدامها لتحليل الحوافز في دفعة واحدة، وكرر الألعاب.

يجب أن يكون هناك مفهومان رئيسيان في ذخيرتك هما موازنات ناش ونقاط شيلينج ، حيث تبرزان بشكل بارز في تحليل الاقتصاد المشفر.

الاقتصاد الكلي

العملات المشفرة ليست مجرد بروتوكولات ، بل هي أيضًا أشكال من المال. على هذا النحو ، فهم يستجيبون لقوانين الاقتصاد الكلي (إذا كان من الممكن تسميتها قوانين). تخضع العملات المشفرة لسياسات نقدية مختلفة ، وتستجيب بشكل متوقع للتضخم والانكماش. يجب أن تفهم هذه العمليات وتأثيراتها على الإنفاق والادخار وما إلى ذلك.

مفهوم اقتصادي آخر ذو قيمة هو سرعة المال ، خاصة أنه يتوافق مع تقييم العملة.

الاقتصاد الجزئي

كما أن العملات المشفرة متداخلة بعمق مع الأسواق ، الأمر الذي يتطلب فهم الاقتصاد الجزئي. ستحتاج إلى حدس قوي لمنحنيات العرض والطلب. يجب أن تكون قادرًا على التفكير بشأن المنافسة وتكاليف الفرصة (سيتم تطبيقها بشكل متكرر على تعدين العملات المشفرة). بالنسبة للعديد من توزيعات العملات وأنظمة الاقتصاد المشفر ، تبرز نظرية المزاد بشكل بارز.

أتوقع أن تكون على دراية ببعض هذه الموضوعات بالفعل. إذا كنت كذلك ، فلا تتردد في تخطيها أو تخطيها تمامًا.

حسنًا ، لقد انتهيت الآن ودعمت أساسياتك (أو ربما تخطيت مجموعة ، من الذي يعد؟) ، والآن بعد أن أصبحت نظريتك قيد الفحص ، فلنبدأ في تطوير blockchain.

الأسس النظرية للبيتكوين

في أكتوبر من عام 2008 ، نشر ساتوشي ناكاموتو ورقة بيضاء وصف فيها بروتوكول عملة رقمية لامركزية. أطلق على هذا البروتوكول اسم Bitcoin.

قبل أن تتمكن من فهم الأفكار الكبيرة وراء blockchain ، عليك أن تبدأ مع Bitcoin وتستوعب رؤية Satoshi الأصلية.

أولاً ، أوصي ببناء حدسك حول إثبات العمل وقاعدة اختيار الشوكة (المعروفة أيضًا باسم إجماع ناكاموتو). أبدأ هنا:

أوصي بمشاهدة أكثر من شرح فيديو واحد حتى تصل الفكرة إلى ذهنك:

عظيم. الآن بعد أن قمت ببناء حدسك ، ستوفر هذه المقالة عرضًا أعمق للمكونات الأساسية لكيفية عمل Bitcoin.

بناء blockchain بنفسك

الآن بعد أن أصبح لديك حدس عالي المستوى ، حان الوقت لبناء blockchain الخاص بك القائم على إثبات العمل. لا تقلق ، الأمر أسهل مما يبدو. هذه بعض المصادر الجيدة

أولاً ، لدي محاضرة فيديو حيث أسير بالضبط حول كيفية القيام بذلك في Ruby (أوصي بالمشاهدة حتى لو لم تكن مبرمج Ruby):

المصدر والشرائح هنا.

هناك أيضًا تطبيقات أخرى لـ blockchain يمكنك العثور عليها ، مكتوبة بلغات برمجة مختلفة. استمر وابني بنفسك ، وأقنع نفسك أنها وظيفية في الغالب.

بمجرد أن تصل إلى هذا الحد ، يجب أن يكون لديك فهم جيد لكيفية تنفيذ تطبيق مدفوعات بسيط فوق blockchain (مثل Bitcoin). يجب أن يكون لديك الآن خلفية كافية بحيث تكون قادرًا على قراءة وفهم ورقة عمل البيتكوين البيضاء الأصلية.

لفهم اقتصاديات وميكانيكا تعدين البيتكوين ، أوصي بمشاهدة محاضرة عن تعدين البيتكوين في دورة برينستون للبيتكوين والعملات المشفرة.

إذا كنت قد وصلت إلى هذا الحد ، فيجب أن تفهم Bitcoin جيدًا بما يكفي للمشي عبر رأس كتلة Bitcoin وفهم معنى كل مكون من مكوناته. يجب أن تكون أيضًا قادرًا على اللعب باستخدام مستكشف كتل Bitcoin والتنقل في معاملات Bitcoin الأولية.

الآن هو الوقت المناسب لدراسة تاريخ البيتكوين والعملات المشفرة. يقدم الفيديو أدناه ، المقدم من UC Berkeley Decal ، نظرة عامة جيدة.

بعض موارد الائتمان الإضافية:

  • السلائف الأكاديمية لبيتكوين
  • آليات Bitcoin: UTXOs و Bitcoin script (نص Bitcoin ليس مهمًا للغاية ، فقط تعرف تقريبًا على ما يمكنه فعله)
  • دليل قصير عن شوكات البيتكوين
  • شوكات ناعمة وإشارات عامل منجم
  • مضاعفة الإنفاق ، 51٪ الهجمات ، والتعدين الأناني
  • إعادة الهجمات
  • مشاكل قابلية توسع Bitcoin ، والتي هي مصدر معظم الخلاف في نظام Bitcoin البيئي. يجب أن تكون لديك فكرة عن سبب تجادل أهل البيتكوين كثيرًا حول حجم الكتلة.
  • شاهد منفصل ، ويعرف أيضًا باسم SegWit ، ليس ضروريًا ولكنه يأتي كثيرًا.
  • شبكة Lightning Network ، أحد حلول التوسع الأكثر أهمية للبيتكوين ، تعمم أيضًا على سلاسل الكتل الأخرى
  • عقد Bitcoin الكاملة وإحصائيات رسوم Bitcoin والمخططات والرسوم البيانية والمزيد من الرسوم البيانية
  • مؤشر استهلاك طاقة البيتكوين (في وقت النشر ، يستهلك تعدين البيتكوين قدرًا من الطاقة مثل كل بيرو)
  • مقال ثاقب بقلم جويرن عن اللامبالاة المتشائمة للبيتكوين
  • يمتلك Jameson Lopp ثروة من الموارد الأخرى على Bitcoin إذا كنت تريد التعمق في حفرة الأرانب.

إيثريوم وبرمجة العقود الذكية

الآن بعد أن قمت ببناء blockchain وفهمت ديناميكيات Bitcoin ، فقد حان الوقت للتعمق في Ethereum.

أنت تفهم كيف يمكن أن تحقق blockchains وإثبات العمل إجماعًا بيزنطيًا موزعًا متسامحًا مع الأخطاء داخل شبكة نظير إلى نظير. لكن شبكة المدفوعات هي مجرد تطبيق واحد يمكنك تشغيله على قمة blockchain. في عام 2013 ، سأل فيتاليك بوتيرين Vitalik Buterin ، مبتكر Ethereum: ماذا لو استخدمت blockchain لتنفيذ كمبيوتر لامركزي؟

في Ethereum ، تدفع للمعدنين لتنفيذ برامجك على هذا الجهاز الظاهري الموزع. هذا يعني أنه يمكنك إجراء حسابات عشوائية ، باستخدام لغة برمجة Turing-Complete (على عكس برنامج Bitcoin النصي). من الواضح أن هذا يتضمن التطبيقات المتعلقة بالدفع ، لذا فإن Ethereum تتيح مجموعة شاملة من وظائف Bitcoin وقد ولدت نهضة في الابتكار.

يقودنا هذا إلى العقود الذكية - اسم البرامج التي تعمل على مثل هذا الجهاز الظاهري. يمكن أن يتفاعل العقد الذكي مباشرة مع عملة البلوكشين المشفرة وفقًا لتنفيذ البرنامج. بمعنى آخر ، يمكنك إنشاء عقود مالية تفرض نفسها تلقائيًا. إنها فكرة جامحة ، وكل أنواع الأشياء المستقبلية من الخيال العلمي التي يمكنك القيام بها بمجرد تبني نموذج البرمجة هذا.

مكنت Ethereum موجة ICO والمطورين من البناء فوق blockchain. إنها ثاني أكبر عملة مشفرة بعد Bitcoin ، ولديها أكثر من 10x مطوري المنصة التالية الأكثر شعبية ، ولديها أقوى فريق مطور ، والأدوات الأكثر نضجًا ، وأغلبية ICO والمشاريع فوقها. كما أنها تتمتع بأكبر قدر من دعم الصناعة ، والتي تقطع شوطًا طويلاً. على الأرجح ، إذا كنت تقوم بتطوير blockchain ، فستكتب رمزًا لعقود Ethereum الذكية. (حتى لو لم تكن كذلك ، فمن الضروري فهم ما يحدث في هذه المساحة.)

أولاً ، شرح أكثر تفصيلاً عالي المستوى لـ Ethereum:

أنتجت الأفكار الكامنة وراء Ethereum أيضًا موجة من الابتكار في الاقتصاد المشفر. يجب أن تغمر أصابع قدميك في الأفكار حول DAOs ، وجميع أحلام حمى الخيال العلمي التي يلمحون إليها.

حسنًا ، هذا يكفي من الخيال ، دعنا نتعمق في التكنولوجيا.

فيما يلي نظرة عامة جيدة على ورقة Ethereum الصفراء وداخليتها ، بقلم بريثي كاسيديدي. يستخدم Ethereum نموذج حساب بدلاً من نموذج Bitcoin UTXO - سترى قريبًا سبب تسهيل كتابة العقود الذكية.

كما هو الحال مع أي تقنية ، فإن أفضل طريقة للتعرف على Ethereum هي من خلال بناء بعض المشاريع الصغيرة.

لغة البرمجة السائدة في Ethereum هي Solidity ، وهي لغة مكتوبة بشكل ثابت JavaScript-esque. إنها لغة بها الكثير من الثآليل ، والعديد من خيارات التصميم المشكوك فيها. قد تحل محلها لغات أكثر قوة مثل Viper بمجرد أن تصبح جاهزة للإنتاج ، ولكن في الوقت الحالي تعتبر Solidity اللغة المشتركة لبرمجة العقود الذكية. إنه أساسًا JavaScript من Ethereum ، لذلك ستحتاج إلى تعلمه (ومخاطره).

للحصول على تعرضك الأول لتطوير Solidity ، أوصي بالعمل من خلال كل برنامج CryptoZombies التعليمي. إنه برنامج تعليمي مبهج وعالي الجودة من Codecademy-esque سيعلمك أساسيات برمجة Solidity.

الآن بعد أن أثارت شهيتك ، حان الوقت لتتطور بنفسك.

يقوم "عالم الترحيب" في Ethereum ببناء رمز متوافق مع ERC-20. أوصي بهذا الدليل كأول برنامج تعليمي لإرشادك خلال العملية.

Remix هو محرر ومجمع Solidity في المتصفح - إنه في الأساس عجلات التدريب لتطوير Ethereum ، لذلك أوصي بالعمل من خلال بقية ممارستك في Remix. لكن الأمر يستحق أيضًا إنشاء blockchain محلي والتعرف على أدوات Ethereum. يقوم هذا البرنامج التعليمي بعمل جيد في إرشادك عبر مكدس blockchain من طرف إلى طرف وشرح القطع أثناء سيرها.

بعد ذلك أوصي ببناء نظام تصويت. كنت أسمي هذا تطبيق Todo من Ethereum. يمتلك Karl Floersch برنامجًا تعليميًا رائعًا حيث يتعرف على كيفية بناء نظام تصويت آمن للكشف عن الالتزام.

رائع ، الآن بالنسبة لامتحان منتصف المدة الخاص بك: قم ببناء لعبة رمي عملة آمنة ، حيث يمكن للاعبين الرهان بأمان على قلب العملة. لا يوجد برنامج تعليمي هذه المرة ، افعل ذلك بنفسك. فكر في الهجمات المحتملة - كيف يمكن للاعبين الغش؟ هل يمكنك التأكد من أنهم يلعبون بأمانة؟ إليك بعض التلميحات.

أمن العقود الذكية

الأمن ضروري للغاية لتطوير blockchain. ابتليت العقود الذكية باختراق كارثي ، بما في ذلك اختراق DAO ، واختراق Parity Wallet ، والاختراق 2 الذي يحمل اسم Parity Wallet (الآن بقميصه الخاص). يجب عليك بالتأكيد قراءة تحليلات جميع هذه الاختراقات الثلاثة إذا كنت ستكتب عقود إنتاج ذكية.

الحقيقة هي أنه من الصعب للغاية الحصول على العقود الذكية بشكل صحيح . على الرغم من أن سلسلة أدوات البرمجة سوف تتحسن لجعل هذه الهجمات أصعب ، إلا أنها كانت كلها في النهاية بسبب خطأ المبرمج. هناك أيضًا العديد من الأخطاء الدقيقة التي تنشأ من برمجة العقود الذكية ، مثل التشغيل الأمامي أو التوليد الآمن للعشوائية.

بصفتك مطورًا ذكيًا للعقود ، يجب أن تتعامل مع الأمان باعتباره أمرًا بالغ الأهمية. لا يوجد "تحرك بسرعة وكسر الأشياء" في برمجة العقود الذكية. وهذا يعني أن أي رمز يتعامل مع تدفقات كبيرة من الأموال يجب تشغيله من خلال محللات ثابتة مثل Oyente أو Securify ، واختبارها بدقة ، ثم تدقيقها من قبل مدقق عقود ذكي ذي خبرة. يجب أيضًا أن تحاول الاعتماد على المكونات التي خضعت للتدقيق مسبقًا ، مثل عقود OpenZeppelin مفتوحة المصدر.

لتعزيز شرائح الأمان الخاصة بك ، أوصي بالعمل من خلال لعبة The Ethernaut بواسطة OpenZeppelin ، وهي لعبة تجد فيها نقاط الضعف في العقود الذكية وتهاجمها. العديد منهم قاموا بتكرار الهجمات الحقيقية ضد العقود الذكية التي حدثت في البرية.

لدى Phil Daian أيضًا مجموعة ممتازة من تحديات اختراق العقود الذكية تسمى Hack This Contract.

بمجرد تجاوز ذلك ، أوصي بشدة بقراءة كامل أفضل ممارسات العقد الذكي ، التي جمعتها ConsenSys. توقع إعادة النظر في هذا المستند عدة مرات في مهنة برمجة العقود الذكية. تستحق قائمة المراجع أيضًا الاستكشاف لمزيد من القراءة من قبل خبراء الأمن.

خلع عجلات التدريب

إذا كنت قد وصلت إلى هذا الحد ، فيجب أن تكون الآن جاهزًا لتجاوز Remix والبدء في استخدام حزمة تطوير Solidity الجادة.

يوصي معظم المطورين باستخدام VSCode أو Atom لمحرر النصوص الخاص بك ، نظرًا لأن لديهم مكونات إضافية Solidity. للتفاعل مع blockchain محلي ، ستحتاج إلى استخدام Ganache (TestRPC سابقًا) ، وستحتاج إلى استخدام إطار عمل Truffle للاختبارات (المستندة إلى JS) وتكوين خط أنابيب البناء الخاص بك.

الآن هو الوقت المناسب للنظر في IPFS ، والذي يمكنك استخدامه كمخزن ملفات لامركزي بالكامل بتكلفة أرخص بكثير من Ethereum blockchain. هذا شرح موجز للمؤلف خوان بينيت:

للتفاعل مع عُقد Ethereum و IPFS الكاملة ، فإن Infura هو ما يوصي به معظم المطورين. توفر محطة غاز Etherscan و ETH إحصائيات مفيدة في الوقت الفعلي على شبكة Ethereum.

بمجرد الانتهاء من إعداد مكدس Web3 بالكامل ، حاول نشر Dapp من طرف إلى طرف (تطبيق لامركزي). يوفر هذا البرنامج التعليمي نظرة عامة رائعة على المكدس الكامل باستخدام Node و Postgres للواجهة الخلفية ، وسيوضح لك هذا البرنامج التعليمي كيفية إنشاء تطبيق لامركزي بالكامل ، باستخدام IPFS كطبقة ثباتك.

بناء مشاريعك الخاصة

يجب أن تكون مرتاحًا الآن لمعظم التقنيات - ما تبقى هو البدء في بناء الأشياء والتعمق في مجتمع blockchain.

أولاً ، ابدأ في بناء مشاريعك الخاصة. إذا كانت هناك فكرة رائعة تثير حماسك ، فابدأ ببنائها واقنع الآخرين بالاختراق معك! إذا لم تكن لديك فكرة بعد أو لم تكن مرتاحًا لتسخير يديك ، فهناك العديد من المشاريع عالية الجودة مفتوحة المصدر التي ترحب بالمساهمات. قد يكون OpenZeppelin مكانًا جيدًا لبدء العقود الذكية.

والأفضل من ذلك ، أنصح بالبدء بالبحث عن مشروع مطور بنشاط أنت معجب به. احصل على Slack أو Rocketchat - يمكن الوصول إلى المطورين بسهولة. أخبرهم أنك ترغب في المساهمة واطلب بعض المهام الصغيرة (أو ابحث عن المشكلات التي لم يتم حلها على Github).

لاحظ أنه بينما كنت أركز على البروتوكولات وتطوير العقود الذكية ، تحتاج شركات blockchain إلى مطوري الويب لبناء وظائفهم الأساسية. غالبًا ما تتطلب هذه الأدوار التفاعل مع blockchains ، لذلك من الضروري أن يكون لديك نموذج عقلي جيد لكيفية عمل blockchain - ولكن بالنسبة للعديد من المهندسين في شركات blockchain الناشئة ، سيكون معظم عملك في بناء خادم ويب Python ، أو تصميم واجهة React الأمامية ، و قد يكون التفاعل مع blockchain جزءًا صغيرًا من هذه الوظيفة. ليس عليك أن تتخصص في تطوير العقود الذكية - في الواقع ، هذا جزء واحد فقط من مكدس blockchain العامل.

بالإضافة إلى المساهمات مفتوحة المصدر ، هناك أيضًا العديد من برامج هاكاثون blockchain التي تظهر باستمرار. تحتوي معظم المشاريع على Slack عام مجاني يمكنك الانضمام إليه ، وهناك قناة Gitter نشطة للغاية لـ Ethereum نفسها حيث يتسكع الكثير من المطورين. كلما تعمقت في الفضاء ، ستجد في النهاية مجموعة الأقران الخاصة بك ، سواء كانت في قناة Slack أو مجموعة Telegram أو قناة Gitter. أينما كان ، ابحث عن موظفيك وتابع التعلم

التنقل في مجتمع blockchain

أفضل طريقة لفهم عالم blockchain حقًا هي الانغماس فيه. اقرأ واستمع إلى أذكى الأشخاص ، وخاصة ما كتبوه في الماضي. لطالما كانت هذه استراتيجيتي عند محاولتي تعلم مجال جديد ، وقد دفعت أرباحًا لي.

هناك الكثير من محتوى blockchain الجيد ، ولكن هناك أيضًا الكثير من الهراء. ها هي المعلومات التي أرشحها.

وسائل الإعلام

المدونات الصوتية الثلاثة الرائعة التي أوصي بها هي مقابلات Software Engineering Daily Blockchain ، والتي توفر مقدمات تقنية جيدة للعديد من الموضوعات والعملات المشفرة. من هناك أوصي بـ Epicenter و Unchained - سترغب في العودة والاستماع إلى العديد من الحلقات القديمة. بودكاست فني آخر مثير للاهتمام هو كونسبيراتوس. أوصي بالاشتراك في كل من هؤلاء.

هناك عدد قليل من قنوات Youtube الجيدة (على الرغم من وجود الكثير من المهملات على Youtube). اشترك في Ethereum Foundation وشاهد عروض Devcon3 التقديمية. يسجل Blockchain في بيركلي العديد من محاضراتهم ، ومعظمها لمحات فنية ممتازة. تنشر Decypher Media أيضًا المحادثات ومراجعات الأوراق البيضاء والبرامج التعليمية. جاكسون بالمر لديه لمحات عامة أسبوعية جذابة ، هذه على الجانب الفني الأقل ولكنها مقدمة بشكل متساوٍ للغاية.

القراءة على الإنترنت

بالنسبة لمحادثات blockchain في الوقت الفعلي ، فإنها تعيش في الغالب في مكانين: Reddit و Twitter. بالنسبة إلى Reddit ، فإن معظم subreddits منخفضة الجودة للغاية ويهيمن عليها الضجيج. r / Ethereum هو جودة جيدة باستمرار (وهناك عدد قليل من subreddits الجيدة للعملات المشفرة المحددة). على الرغم من أن معظم subreddits يهيمن عليها المضاربون في المقام الأول ، وهي ليست استخدامًا جيدًا لاهتمامك. ابتعد عن subreddits المتعلقة ببيتكوين. تشتهر Bitcoin بأنها واحدة من أكثر المجتمعات سمية ، ويضخم Reddit ذلك فقط.

Twitter هو أكثر من مجرد حقيبة مختلطة. في السراء والضراء ، يعيش معظم مستخدمي blockchain على Twitter. كان Blockchain Twitter غامضًا إلى حد ما بالنسبة لي في البداية ، لكنني في النهاية طورت أنطولوجيا غير رسمية لأشخاص Twitter blockchain. من واقع خبرتي ، هناك خمسة أنواع من شخصيات blockchain: البناة ورجال الأعمال والصحفيون والتجار و "قادة الفكر".

تجنب "قادة الفكر" مثل الطاعون. يمكن أن يكون رواد الأعمال على ما يرام ، على الرغم من أنهم في الغالب يعملون كرجال ضجيج أو يغردون عن مشاريعهم الخاصة. يغرد المستثمرون في الغالب عن الأسعار والمشاريع الضخمة ، لذلك إذا كان هذا هو الشيء الذي تفضله ، فهذا هو الشيء الذي تفضله. يميل الصحفيون إلى التغريد حول أهم الأخبار اليومية - أوصي بالابتعاد إلا إذا كنت بحاجة إلى تحليل في الوقت الفعلي ، وهو ما قد لا تحتاجه على الأرجح. إذا كنت متداولًا نشطًا ، فقد يكون ذلك مهمًا ، ولكن إذا كنت تحاول البناء على blockchain ، فإن معظم الأشياء في الوقت الفعلي تشتت الانتباه.

إيلاء أكبر قدر من الاهتمام للبناة. إنهم الأشخاص الأكثر أهمية في الوقت الحالي ، والذين يدفعون بالتكنولوجيا إلى الأمام.

عدد قليل من الممثلين من كل فئة (قم بإجراء بحث واسع النطاق عن الأشخاص الذين يتابعهم هؤلاء الأشخاص إذا كنت تريد ملء موجز Twitter الخاص بك):

بناة

  • فيتاليك بوتيرين ، إيثيريوم
  • زوكو ويلكوكس ، زي كاش
  • نيك زابو ، مخترع العقود الذكية
  • فلاد زمفير ، إيثريوم
  • ماركو سانتوري ، كولي إل إل بي
  • ريكاردو "fluffypony" Spagni ، مونيرو
  • مات ليستون ، الغنوص

رجال الأعمال

  • بالاجي سرينيفاسان ، Earn.com
  • إريك فورهيس ، Shapeshift

المستثمرون

  • نافال رافيكانت ، ميتاستابل
  • آري بول ، بلوكتاور كابيتال
  • ليندا زي ، عددية رأس المال
  • كريس بورنيسكي ، نائب

صحفيون

  • تور ديميستر ، أبحاث Adamant
  • لورا شين ، فوربس

(يجب عليك أيضًا متابعتي ، على الرغم من أنني بالتأكيد لا أنتمي إلى هذه القائمة.)

بعد كل ما قيل ، أوصي بتقليل تعرضك لتويتر وريديت. إذا لم تكن صحفيًا أو تاجرًا في النهار ، فهناك احتمالات ، فأنت لست بحاجة إلى خرطوم من الثرثرة الحقيقية. سوف تظهر لك معلومات مهمة بشكل غير متزامن. هناك العديد من الملخصات الإخبارية الجيدة التي ستلخص أهم أخبار اليوم / الأسبوع التي يمكنك تناولها في وقتك الخاص دون أن تكون تحت رحمة الأسواق.

أوصي بالاشتراك في Inside Bitcoin للحصول على ملخصات يومية لأهم أخبار العملة المشفرة (وهي تغطي أكثر من مجرد Bitcoin). بالنسبة للمشاريع الرمزية ، فإن Token Economy لديها عمليات كتابة أسبوعية ممتازة ، كما أن Week in Ethereum لديها ملخصات جيدة للأحداث التي تركز على المطور في النظام البيئي Ethereum.

أبعد من ذلك ، ربما لا تحتاج إلى مراقبة الأخبار في الوقت الفعلي. ركز على بناء الأشياء والتعلم.

سترغب في متابعة أفضل المدونات. يميل المحتوى الطويل إلى أن يكون أفضل فائدة. أوصي باتباع هذه:

  • Vitalik Buterin من أجل تحليل blockchain والاقتصاد المشفر الممتاز (اقرأ جميع منشوراته القديمة على المدونة أيضًا ، يُنظر إلى Vitalik على نطاق واسع على أنه مفكر لمرة واحدة في الجيل)
  • القرصنة ، الموزعة لتحليلات أمان blockchain بواسطة باحثي كورنيل
  • مدونة نيك زابو اللامعة غير المعدودة مع مقالات صعبة وانتقائية حول دور العملات المشفرة في المجتمع
  • Money Stuff ، تضامن Matt Levine Bloomberg ، مع تحليل متعمق ومتعمق يمس تقاطع الأسواق والتمويل وأخبار blockchain
  • فلاد زمفير لوجهات نظر معتدلة وحذرة بشأن الدولة وسلسلة الكتل العامة
  • Chris Burniske لسلسلة من منشورات المدونة الممتازة حول كيفية تقييم أصول التشفير
  • جيمسون لوب لمشاركاته التقنية الرائعة من منظور مهندس برمجيات لبناء النظام البيئي blockchain
  • Great Wall of Numbers بواسطة Tim Swanson ، لتفكيكه الرصين والثابت لهوس blockchain ، خاصة في مساحة المؤسسة

(يجب عليك أيضًا قراءة مدونتي ، على الرغم من أنني لا أنتمي إلى هذه القائمة تمامًا).

كتب ودورات

إذا كنت تريد نهجًا أكثر تنظيماً لتعلم هذه المواد ، فهناك عدد قليل من الكتب والدورات عالية الجودة (والكثير من الكتب منخفضة الجودة).

أفضل كتاب مدرسي شامل ل blockchains هو Bitcoin و Cryptocurrency Technologies (التي تصاحب دورة Princeton Coursera). الكتب الأخرى الوحيدة التي أوصي بها في هذا المجال هي Mastering Bitcoin من تأليف Andreas Antonopoulos ، وكتابه القادم Mastering Ethereum ، الذي شارك في تأليفه مؤسس Ethereum Gavin Wood (كلاهما نشر بواسطة O'Reilly). الكتاب غير الفني الوحيد الذي أوصي به هو Digital Gold من تأليف Nathaniel Popper. سيكون كل شيء آخر يستحق القراءة تقريبًا في المدونات ، وليس الكتب - هذه المساحة تتحرك بسرعة كبيرة بحيث نادرًا ما يكون لدى الشخصيات المهمة الوقت الكافي لكتابة الكتب ، وغالبًا ما تكون الكتب قديمة بحلول وقت إصدارها.

إذا كنت تريد نهجًا أكثر تنظيماً لتعلم هذه المادة ، فهناك عدد قليل من الدورات عالية الجودة (والكثير من الدورات منخفضة الجودة). لقد قمت بالفعل بربط محاضرتين من دورة برينستون كورسيرا (مقاطع الفيديو موجودة على Youtube أيضًا) ، و UC Berkeley Decal. لقد سمعت أيضًا أشياء جيدة عن أكاديمية Consensys للأشخاص الذين يرغبون في الدخول في تطوير العقود الذكية.

أقوم أيضًا بتدريس ندوة لمدة 4 أسابيع حول العملات المشفرة لمطوري البرمجيات في مدرسة برادفيلد لعلوم الكمبيوتر في سان فرانسيسكو. تكون الدورة التدريبية شخصيًا في SF فقط والمقاعد محدودة ، نظرًا لأنها فئة صغيرة ومتعمقة على غرار الندوة. ولكن إذا كنت مهندس برمجيات في SF وترغب في معرفة المزيد حول النظرية والممارسة وراء العملات المشفرة ، فقد يكون ذلك مناسبًا لك.

الحصول على وظيفة

كما قلت من قبل ، توظف شركات blockchain الناشئة بجنون. إذا كنت قد وصلت بالفعل إلى هذا الحد وقمت حتى بنصف الأشياء التي اقترحتها ، فمن المحتمل أنك قادر بالفعل على التوظيف في هذا المجال. قام AngelList بكتابة كتابة رائعة حول كيفية الحصول على وظيفة في مجال التشفير.

هناك العديد من المجمعات الجيدة لإعلانات الوظائف ذات الصلة بـ blockchain:

  • بدء تشغيل التشفير AngelList
  • Blockchain
  • وظائف Ethereum
  • كن في Crypto
  • مجلس عمل Blockchain
  • قائمة وظائف التشفير
  • وظائف Google (استعلام بحث blockchain)
  • وظائف ConsenSys (استوديو Ethereum venture مع العديد من المشاريع تحت مظلتها)

بعض شركات blockchain الناشئة الواعدة التي أعرف أنها توظف مطورين:

  • 0x
  • مختبرات دارما
  • سيفيك

هناك أيضًا عدد من الشركات الكبرى في السوق لمطوري التشفير:

  • Coinbase ، Google of crypto ، توظف دائمًا بجنون
  • Stellar and Ripple إذا كنت ترغب في العمل مباشرة على المزيد من العملات المشفرة الملائمة للمؤسسات
  • قامت Square بدمج بعض blockchain ، على الرغم من عدم التأكد مما إذا كانت توظف خارجيًا
  • آي بي إم ، فيزا ، أو جي بي مورغان إذا كنت تريد أن تجعلها قديمة

(لاحظ أن قائمة الشركات المحددة هذه تتمحور حول منطقة الخليج الفائقة ، لأن هذا هو المكان الذي أعيش فيه ، لذلك قد يختلف عدد الأميال التي قطعتها. ومع ذلك ، فإن مجمعي الوظائف أكثر عالمية.)

ولكن في رأيي ، فإن أفضل طريقة للانخراط في شركة هي العثور على مشروع أنت متحمس بشأنه والتواصل معهم مباشرة. معظم فرق blockchain على استعداد لتوظيف جهاز التحكم عن بعد للموهبة المناسبة. يمكن الوصول إلى العديد من المطورين بسهولة على Twitter أو Github أو على قنوات Slack العامة الخاصة بهم. إذا كان لديك محفظة قوية ويمكنك إظهار القطع الفنية ، فسوف ينبهر معظم الناس إذا أظهرت بعض المبادرة.

وهذا بقدر ما لدي من أجلك. إذا كنت قد فعلت كل ما سبق ، فيجب أن تكون مستعدًا ، وربما تكون بعيدًا عني في وقت قريب.

الثقب الدودي الأرنب

ما أريتكم هو مجرد البداية. لا تزال العملات المشفرة في مهدها ، وأعتقد حقًا أن هذا هو المجال الأسرع تطورًا الذي يمكنك العمل فيه. أنا متأكد من أن هذا الدليل سيكون قديمًا في غضون عام ، وهناك العديد من المشاريع الرائعة أتيحت له الفرصة للحديث عنه. ولكن إذا دخلت هذه المساحة ، فستجدها في الوقت المناسب.

استمر في الاستكشاف. استمر في التحسن. استمر في التعلم.

وآمل أن أراك تعال وتنضم إلينا.

حسيب