Sara Bond

Sara Bond

1646226300

مشكلات الأمان ونقاط الضعف في Blockchain

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

هذه المدونة تشمل العرض

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

توضح هذه المقالة ، ما هو blockchain وبعض مشكلات أمان blockchain الرئيسية. المذكورة أيضا هي وسائل لمنع تلك القضايا.

ما هو Blockchain؟

يعرّف قاموس Merriam-Webster blockchain بأنه ،

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

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

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

في حين أن المشكلة المذكورة أعلاه كانت أساسية في طبيعتها ، فقد تظهر مشكلات أمان blockchain أخرى في blockchain عاملة.

عمل تقنية Blockchain

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

لذلك ، من أجل شرح كيفية عمل blockchain ، يتم تقديم مثال على العملات المشفرة هنا.

لنفترض أن Elon يريد إرسال عملة واحدة إلى Jeff تسمى Astra coin عبر blockchain. لذا فإن أول شيء يجب أن تفهمه هو تشفير المفتاح العام. إذا لم تكن معتادًا على ذلك ، فاقرأ عنه وارجع إلى هذه المقالة.

لوضعها بعبارات بسيطة ، فإن امتلاك عملة مشفرة يعني في الأساس وجود زوج مفاتيح مرتبط بتلك العملة. الآن ، لإجراء المعاملة ، سيحتاج Elon إلى الأشياء التالية:

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

الصورة: كيف يعمل blockchain

مثال بسيط

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

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

الآن يأتي إلى الصورة ، " عمال المناجم ". سيعملون على العثور على تجزئة التشفير الصالحة لهذه المجموعة من المعاملات التي ستجعلها في كتلة .

على سبيل المثال ، في حالة عملة Astra ، الكتلة الصالحة هي تلك التي تنتهي تجزئتها بالأبجدية " a ". لذلك ، سيضيف المعدنون رقمًا عشوائيًا يسمى nonce إلى مجموعة المعاملات. سيستمرون في تغيير nonce حتى تنتهي تجزئة المجموعة بأكملها بالأبجدية " a " (إنها تجربة ناجحة). بمجرد العثور عليه ، سيُطلق عليه كتلة صالحة ويتم نشره عبر الشبكة. وبالتالي ستتم إضافة هذه الكتلة إلى blockchain وستكتمل المعاملة.

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

الآن إذا كنت تفكر بموضوعية خارج إطار عمل العملة المشفرة ، فإن blockchain يعمل من خلال إجماع المشاركين فيها . يحدد دليل العمل ما هي السجلات التي تدخل في blockchain ويكمن في جوهرها التشفير المسؤول عن الثقة في blockchain.

6 أنواع من الهجمات على Blockchain

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

1. 51٪ هجمات

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

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

من المرجح أن تحدث مشكلات أمان Blockchain مثل هجوم 51٪ في المراحل الأولى من السلسلة. في الوقت الذي يوجد فيه عدد قليل جدًا من عمال المناجم على الشبكة ، سيكون من الممكن الحصول على 51 ٪ من طاقة التعدين.

هجمات سيبيل

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

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

2. مضاعفة هجمات الإنفاق

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

لذلك ، في المثال أعلاه ، يمكن أن يحاول Elon إرسال نفس عملة Astra إلى عنواني محفظة مختلفين ، وهما Jeff و Mark على التوالي. يُطلق على هذا النوع من الهجوم هجوم الإنفاق المزدوج.

بشكل عام ، هناك آليات مدمجة في blockchain لمنع مثل هذه الأنواع من الهجمات. على سبيل المثال ، إذا تم إرسال العملة المعدنية إلى Jeff في الكتلة الأولى ، فسيتم تجاهل المعاملة إلى Mark في الكتل اللاحقة.

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

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

3. توجيه الهجمات

شيء واحد يمكننا رؤيته بسهولة الآن هو أن تقنية blockchain تتطلب شبكة قوية لتعمل. يتصل مزودو خدمات الإنترنت ببعضهم البعض ويشاركون معلومات المسار عبر BGP (بروتوكول بوابة الحدود). هذا البروتوكول قديم ولديه بعض الثغرات الأمنية التي يمكن للمهاجم استغلالها.

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

لنفترض ، في المثال أعلاه ، أن عقدة Elon تقع في 100.0.0.0/16 (/ 16 هي بادئة IP). الآن ، إذا نشر المهاجم طريقًا إلى 100.0.0.0/17 عبر BGP ، فسيتم قريبًا تحديث هذه المعلومات في جميع أجهزة التوجيه (هذه هي الطريقة التي يعمل بها BGP من خلال مشاركة معلومات المسار مع الجيران). نتيجة لذلك ، سيتم تحويل البيانات المخصصة لـ Elon إلى الإدخال المحدد من قبل المهاجم.

هذا لأنه عندما يتم تقديم BGP بطريقين متعارضين (100.0.0.0/16 بواسطة Elon مقابل 100.0.0.0/17 بواسطة المهاجم) ، فإنه يختار المسار الذي يحتوي على بادئة أطول.

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

4. هجمات أمان المفتاح الخاص

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

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

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

5. هجمات التعدين الأنانية

هجوم التعدين الأناني هو بالضبط ما يبدو عليه.

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

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

نظرًا لتصميم بعض بروتوكولات blockchain ، في حالة وجود فرعين متعارضين ، يتم الاحتفاظ بأطول سلسلة. وبالتالي ، يمكن لـ Elon الآن المطالبة برسوم تعدين أعلى.

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

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

يبدو هذا محفوفًا بالمخاطر وغير مربح للوهلة الأولى ، لكن التحليل باستخدام سلاسل ماركوف أظهر أن التعدين الأناني يعمل بالفعل!

6. جهات الاتصال الذكية الضعيفة

جهات الاتصال الذكية هي في الأساس اتفاقيات مكتوبة في رمز يستخدم blockchain لحفظ السجلات.

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

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

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

منع مشاكل أمان blockchain

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

خاتمة

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

What is GEEK

Buddha Community

Devin Pinto

1606217442

Blockchain Certification | Blockchain Training Course | Blockchain Council

In all the market sectors, Blockchain technology has contributed to the redesign. The improvements that were once impossible have been pushed forward. Blockchain is one of the leading innovations with the ability to influence the various sectors of the industry. It also has the ability to be one of the career-influencing innovations at the same time. We have seen an increasing inclination towards the certification of the Blockchain in recent years, and there are obvious reasons behind it. Blockchain has everything to offer, from good packages to its universal application and futuristic development. Let’s address the reasons why one should go for Blockchain certification.

5 advantages of certification by Blockchain:

1. Lucrative packages- Everyone who completes their education or upskills themselves wants to end up with a good bundle, not only is one assured of a good learning experience with Blockchain, but the packages are drool-worthy at the same time. A Blockchain developer’s average salary varies between $150,000 and $175,000 per annum. Comparatively, a software developer gets a $137,000 per year salary. For a Blockchain developer, the San Francisco Bay area provides the highest bundle, amounting to $162,288 per annum. There’s no point arguing that learning about Blockchain is a smart decision with such lucrative packages.

2. Growing industry- When you select any qualification course, it becomes important that you choose a growing segment or industry that promises potential in the future. You should anticipate all of these with Blockchain. The size of the blockchain market is expected to rise from USD 3.0 billion in 2020 to USD 39.7 billion by 2025. This will see an incredible 67.3 percent CAGR between 2020-2025. To help business processes, several businesses are outsourcing Blockchain technologies. This clearly demonstrates that there will be higher demand in the future for Blockchain developers and certified Blockchain professionals.

3. Universal application- One of the major reasons for the success of Blockchain is that it has a global application. It is not sector-specific. Blockchain usage cases are discovered by almost all market segments. In addition, other innovations such as AI, big data, data science and much more are also supported by Blockchain. It becomes easier to get into a suitable industry once you know about Blockchain.

**4. Work protection-**Surely you would like to invest in an ability that ensures job security. You had the same chance for Blockchain. Since this is the technology of the future, understanding that Blockchain can keep up with futuristic developments will help in a successful and safe job.

**5.**After a certain point of your professional life, you are expected to learn about new abilities that can help enhance your skills. Upskilling is paramount. Upskilling oneself has become the need for the hour, and choosing a path that holds a lot of potential for the future is the best way to do this. For all computer geeks and others who want to gain awareness of emerging technology, Blockchain is a good option.

Concluding thoughts- opting for Blockchain certification is a successful career move with all these advantages. You will be able to find yourself in a safe and secured work profile once you have all the knowledge and information. Link for Blockchain certification programme with the Blockchain Council.

#blockchain certificate #blockchain training #blockchain certification #blockchain developers #blockchain #blockchain council

5 Blockchain Applications That Have Transformed the World of Technology

The blockchain is the decentralized database of the blocks of information, which gets recorded in the chain format and linked in a secured crypto graphical manner. This technology ensures proper safety of the data due to its secure nature, and it totally changes how people carry out transactions. It also brings about a faster and secure process of validating information needed to establish reliability.

Though blockchain technology came into the market to carry out only digital transactions, it is now used in various industries like supply chain, finance, health care, and many more.

The blockchain technology has made its position in mobile app development as well. Blockchain applications are transparent and accountable. From getting easy access to medical records and buying insurance, you can see blockchain applications everywhere.

Here are some of the areas where you can see the use of blockchain applications and how they have changed various industries.

1. Ripple

Ripple is useful for increasing banking transactions. The implementation of blockchain technology in the financial sector is much more profound than any other sector. Ripple proves this. It is one of the greatest tools to record and complete financial transactions.

It develops a large network despite strict physical boundaries. As there is no such third-party involvement present, the cost of these transactions is lower than usual. At the same time, the network also remains transparent and quite secured.

It is normally seen that financial transactions that happen globally are

error-prone and take a lot of time. In addition to this, when the transaction

fees and exchange rates get added up, the total cost usually gets high.

However, Ripple offers real-time international transactions without spending too much money. It has the network of about 200+ institutions making the process affordable, secure, and fast for all sorts of international transactions.

2. Etherisc

This blockchain application helps in automating flight insurance. Insurance is another area where blockchain is gaining popularity. Through this application, insurers can make smart contracts rather than getting involved in the traditional contracts that are usually complex. Etherisc is the blockchain application that helps customers buy flight insurance. If the flight gets canceled or delayed, they do not have to wait for months to get the payment back. This application ensures an on-time payout.

#blockchain #blockchain-technology #blockchain-development #blockchain-use-cases #blockchain-a #blockchain-technologies #technology #decentralization

A Collection About Awesome Blockchains

Mining Digital Gold one Block at a Time?! • Don't Expect to Get Insanely Rich (Quick) • Tulips :tulip::tulip::tulip: (like Blockchains) are Great and Gorgeous (and will Endure)

b0 = Block.first(
        { from: "Dutchgrown", to: "Vincent", what: "Tulip Bloemendaal Sunset", qty: 10 },
        { from: "Keukenhof",  to: "Anne",    what: "Tulip Semper Augustus",    qty: 7  } )

b1 = Block.next( b0,
        { from: "Flowers",    to: "Ruben",   what: "Tulip Admiral van Eijck",  qty: 5  },
        { from: "Vicent",     to: "Anne",    what: "Tulip Bloemendaal Sunset", qty: 3  },
        { from: "Anne",       to: "Julia",   what: "Tulip Semper Augustus",    qty: 1  },
        { from: "Julia",      to: "Luuk",    what: "Tulip Semper Augustus",    qty: 1  } )
...

(Source: blockchain_with_transactions.rb)

Awesome Blockchains

A collection about awesome blockchains - open distributed databases w/ crypto hashes incl. git ;-). Blockchains are the new tulips :tulip::tulip::tulip:.

Contents:

What's News?

For blockchain books, see the new Best of Crypto Books page »

The Open Blockchains Book of the Year 2020 Award Goes To...

Libra Shrugged: How Facebook Tried to Take Over the Money by David Gerard, November 2020, 182 Pages -- Introduction: Taking over the money ++ A user's guide to Libra ++ The genesis of Libra: Beller's blockchain ++ To launch a Libra: Let’s start a crypto ++ Bitcoin: why Libra is like this ++ The Libra White Papers ++ Banking the unbanked ++ The Libra Reserve plan and economic stability ++ Libra, privacy and your digital identity ++ The regulators recoil in horror ++ David Marcus before the US House and Senate ++ July to September 2019: Libra runs the gauntlet ++ October 2019: Libra's bad month ++ Mark Zuckerberg before the US House ++ November 2019: The comedown ++ Central bank digital currencies ++ Epilogue: Libra 2.0: not dead yet ++ Appendix: 2010–2013: The rise and fall of Facebook Credits

For more about Diem (formerly Libra), see the Awesome Diem (formerly Libra) and Move page »


For crypto quotes, see the new 100+ Best of Crypto Quotes - I HODL, you HODL, we HODL! - BREAKING: BITCOIN JUST BROKE $22 000! page »

The Best Crypto Quote "Oracle Saying" of the Year 2020 Award Goes To...

SEC Investor Education:

  • Don't understand an investment?
  • Don't invest in it.

Yes, but what if there's only 21 million of it?

- Trolly McTrollface

Frequently Asked Questions (F.A.Q.s) & Answers

Q: What's a Blockchain?

A: A blockchain is a distributed database with a list (that is, chain) of records (that is, blocks) linked and secured by digital fingerprints (that is, cryptho hashes). Example from blockchain.rb:

[#<Block:0x1eed2a0
  @timestamp     = 1637-09-15 20:52:38,
  @data          = "Genesis",
  @previous_hash = "0000000000000000000000000000000000000000000000000000000000000000",
  @hash          = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b">,
 #<Block:0x1eec9a0
  @timestamp     = 1637-09-15 21:02:38,
  @data          = "Transaction Data...",
  @previous_hash = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b",
  @hash          = "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743">,
 #<Block:0x1eec838
  @timestamp     = 1637-09-15 21:12:38,
  @data          = "Transaction Data......",
  @previous_hash = "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743",
  @hash          = "be50017ee4bbcb33844b3dc2b7c4e476d46569b5df5762d14ceba9355f0a85f4">,
  ...

Q: What's a Hash? What's a (One-Way) Crypto(graphic) Hash Digest Checksum?

A: A hash e.g. eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743 is a small digest checksum calculated with a one-way crypto(graphic) hash digest checksum function e.g. SHA256 (Secure Hash Algorithm 256 Bits) from the data. Example from blockchain.rb:

def calc_hash
  sha = Digest::SHA256.new
  sha.update( @timestamp.to_s + @previous_hash + @data )
  sha.hexdigest   ## returns "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743"
end

A blockchain uses

  • the block timestamp (e.g. 1637-09-15 20:52:38) and
  • the hash from the previous block (e.g. edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b) and finally
  • the block data (e.g. Transaction Data...)

to calculate the new hash digest checksum, that is, the hash e.g. be50017ee4bbcb33844b3dc2b7c4e476d46569b5df5762d14ceba9355f0a85f4.

Q: What's a Merkle Tree?

A: A Merkle tree is a hash tree named after Ralph Merkle who patented the concept in 1979 (the patent expired in 2002). A hash tree is a generalization of hash lists or hash chains where every leaf node (in the tree) is labelled with a data block and every non-leaf node (in the tree) is labelled with the crypto(graphic) hash of the labels of its child nodes. For more see the Merkle tree Wikipedia Article.

Note: By adding crypto(graphic) hash functions you can "merkelize" any data structure.

Q: What's a Merkelized DAG (Directed Acyclic Graph)?

A: It's a blockchain secured by crypto(graphic) hashes that uses a directed acyclic graph data structure (instead of linear "classic" linked list).

Note: Git uses merkelized dag (directed acyclic graph)s for its blockchains.

Q: Is the Git Repo a Blockchain?

A: Yes, every branch in the git repo is a blockchain. The "classic" Satoshi-blockchain is like a git repo with a single master branch (only).

Do-It-Yourself (DIY) - Build Your Own Blockchain

PythonRubyJavaScriptJavaGo

Python

Let's Build the Tiniest Blockchain in Python Series by Gerald Nash

Build Your Own Blockchain: A Python Tutorial by Eric Munsing, March 2017, (Source)

Learn Blockchains by Building One (in Python) by Daniel van Flymen, September 2017, (Source) -- The fastest way to learn how Blockchains work is to build one

Build Your Own Blockchain (in Python 3) Series by Jack Schultz, (Source)

A Practical Introduction to Blockchain with Python by Adil Moujahid, March 2018, (Source)

Ruby

How Does Bitcoin Force Consensus Among Byzantine Generals? by Fabio Akita, November 2017

blockchain-lite - Build your own blockchains with crypto hashes; revolutionize the world with blockchains, blockchains, blockchains one block at a time! by Gerald Bauer, Ruby Advent Calendar 2017 / Day 1, December 2017

merkletree library - Build Your Own Crypto Hash Trees; Grow Your Own Money on Trees by Gerald Bauer, Ruby Advent Calendar 2017 / Day 19, December 2017

centralbank command line tool (and library) - Print Your Own Money / Cryptocurrency; Run Your Own Federated Central Bank Nodes on the Blockchain Peer-to-Peer over HTTP by Gerald Bauer, Ruby Advent Calendar 2017 / Day 24, December 2017

A guide to building a blockchain & cryptocurrency from scratch (Source) by Antoine Fink, April 2021

Crystal

Write your own blockchain and Proof-of-Work (PoW) algorithm using Crystal by Bradford Lamson-Scribner, May 2018, (Source)

JavaScript

Writing a Tiny Blockchain in JavaScript by Xavier Decuyper, July 2017

Node.js Blockchain Imlementation: BrewChain: Chain+WebSockets+HTTP Server by Darren Beck, November 2017, (Source) -- Protecting the tea making ledger from unscrupulous colleagues

Build your own Blockchain in Javascript/Visualization of Blockchains by Nam Chu Hoai, January 2018

TypeScript

Naivecoin: a tutorial for building a cryptocurrency by Lauri Hartikka, (Source)

Java

Creating Your First Blockchain with Java, Part 1 by Kass, December 2017, (Source)

Kotlin

Let's implement a cryptocurrency in Kotlin by Vasily Fomin, July 2018, (Source)

SQL

Blockchain by Example in SQL Server by Benjamin Campbell, December 2017, (Source)

Rust

Building Blockchain in Rust Series by Jacob Lindahl, GeekLaunch, (Source), (Slide Decks in PDF)

Go

Building Blockchain in Go Series by Ivan Kuznetsov, (Source)

Blockchain Series in Go by by Coral Health (Source)

Talk Notes

More

See Build your own Blockchain / Cryptocurrency @ Build your own (insert technology here)

Samples

Blockchain from Scratch - Ruby Version

class Block

  attr_reader :timestamp
  attr_reader :data
  attr_reader :previous_hash
  attr_reader :hash

  def initialize(data, previous_hash)
    @timestamp     = Time.now
    @data          = data
    @previous_hash = previous_hash
    @hash          = calc_hash
  end

  def self.first( data="Genesis" )    # create genesis (big bang! first) block
    ## note: uses all zero for previous_hash ("0")
    Block.new( data, "0000000000000000000000000000000000000000000000000000000000000000" )
  end

  def self.next( previous, data="Transaction Data..." )
    Block.new( data, previous.hash )
  end

private

  def calc_hash
    sha = Digest::SHA256.new
    sha.update( @timestamp.to_s + @previous_hash + @data )
    sha.hexdigest
  end

end  # class Block


#####
## let's get started
##   build a blockchain a block at a time

b0 = Block.first( "Genesis" )
b1 = Block.next( b0, "Transaction Data..." )
b2 = Block.next( b1, "Transaction Data......" )
b3 = Block.next( b2, "More Transaction Data..." )

blockchain = [b0, b1, b2, b3]

pp blockchain

(Source: blockchain.rb)

will pretty print (pp) something like:

[#<Block:0x1eed2a0
  @timestamp     = 1637-09-15 20:52:38,
  @data          = "Genesis",
  @previous_hash = "0000000000000000000000000000000000000000000000000000000000000000",
  @hash          = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b">,
 #<Block:0x1eec9a0
  @timestamp     = 1637-09-15 21:02:38,
  @data          = "Transaction Data...",
  @previous_hash = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b",
  @hash          = "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743">,
 #<Block:0x1eec838
  @timestamp     = 1637-09-15 21:12:38,
  @data          = "Transaction Data......",
  @previous_hash = "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743",
  @hash          = "be50017ee4bbcb33844b3dc2b7c4e476d46569b5df5762d14ceba9355f0a85f4">,
 #<Block:0x1eec6d0
  @timestamp     = 1637-09-15 21:22:38,
  @data          = "More Transaction Data...",
  @previous_hash = "be50017ee4bbcb33844b3dc2b7c4e476d46569b5df5762d14ceba9355f0a85f4",
  @hash          = "5ee2981606328abfe0c3b1171440f0df746c1e1f8b3b56c351727f7da7ae5d8d">]

Comments from the reddit ruby posting:

Wait, so a blockchain is just a linked list?

No. A linked list is only required to have a reference to the previous element, a block must have an identifier depending on the previous block's identifier, meaning that you cannot replace a block without recomputing every single block that comes after. In this implementation that happens as the previous digest is input in the calc_hash method.

What about Proof of Work / Waste?

Let's add a proof of work / waste to the blockchain. In the classic blockchain you have to compute a block hash that starts with leading zeros (00). The more leading zeros the harder (more difficult) to compute. Let's keep it easy to compute with two leading zeros (00), that is, 16^2 = 256 possibilites (^1,2). Three leading zeros (000) would be 16^3 = 4_096 possibilites and four zeros (0000) would be 16^4 = 65_536 and so on.

(^1): 16 possibilties because it's a hex or hexadecimal or base 16 number, that is, 0 1 2 3 4 6 7 8 9 a (10) b (11) c (12) d (13) e (14) f (15).

(^2): A random secure hash algorithm needs on average 256 tries (might be lets say 305 tries, for example, because it's NOT a perfect statistic distribution of possibilities).

Example:

def compute_hash_with_proof_of_work( difficulty="00" )
  nonce = 0
  loop do
    hash = calc_hash_with_nonce( nonce )
    if hash.start_with?( difficulty )  
      return [nonce,hash]     ## bingo! proof of work if hash starts with leading zeros (00)
    else
      nonce += 1              ## keep trying (and trying and trying)
    end
  end
end

def calc_hash_with_nonce( nonce=0 )
  sha = Digest::SHA256.new
  sha.update( nonce.to_s + @timestamp.to_s + @previous_hash + @data )
  sha.hexdigest
end

(Source: blockchain_with_proof_of_work.rb)

Let's rerun the sample with the proof of work machinery added. Now the sample will pretty print (pp) something like:

[#<Block:0x1e204f0
  @timestamp     = 1637-09-20 20:13:38,
  @data          = "Genesis",
  @previous_hash = "0000000000000000000000000000000000000000000000000000000000000000",
  @nonce         = 242,
  @hash          = "00b8e77e27378f9aa0afbcea3a2882bb62f6663771dee053364beb1887e18bcf">,
 #<Block:0x1e56e20
  @timestamp     = 1637-09-20 20:23:38,
  @data          = "Transaction Data...",
  @previous_hash = "00b8e77e27378f9aa0afbcea3a2882bb62f6663771dee053364beb1887e18bcf",
  @nonce         = 46,
  @hash          = "00aae8d2e9387e13c71b33f8cd205d336ac250d2828011f5970062912985a9af">,
 #<Block:0x1e2bd58
  @timestamp     = 1637-09-20 20:33:38,
  @data          = "Transaction Data......",
  @previous_hash = "00aae8d2e9387e13c71b33f8cd205d336ac250d2828011f5970062912985a9af",
  @nonce         = 350,
  @hash          = "00ea45e0f4683c3bec4364f349ee2b6816be0c9fd95cfd5ffcc6ed572c62f190">,
 #<Block:0x1fa8338
  @timestamp     = 1637-09-20 20:43:38,
  @data          = "More Transaction Data...",
  @previous_hash = "00ea45e0f4683c3bec4364f349ee2b6816be0c9fd95cfd5ffcc6ed572c62f190",
  @nonce         = 59,
  @hash          = "00436f0fca677652963e904ce4c624606a255946b921132d5b1f70f7d86c4ab8">]

See the difference? All hashes now start with leading zeros (00) and the nonce is the random "lucky number" that makes it happen. That's the magic behind the proof of work.

Blockchain from Scratch - JavaScript Version

class Block {

  constructor(data, previousHash) {
    this.timestamp    = new Date()
    this.data         = data
    this.previousHash = previousHash
    this.hash         = this.calcHash()
  }

  calcHash() {
    var sha = SHA256.create()
    sha.update( this.timestamp.toString() + this.previousHash + this.data )
    return sha.hex()
  }

  static first( data="Genesis" ) {    // create genesis (big bang! first) block
    // uses all-zero previousHash
    return new Block( data, "0000000000000000000000000000000000000000000000000000000000000000" )
  }

  static next( previous, data="Transaction Data..." ) {
    return new Block( data, previous.hash )
  }
}


//////
// let's get started
//   build a blockchain a block at a time

b0 = Block.first( "Genesis" )
b1 = Block.next( b0, "Transaction Data..." )
b2 = Block.next( b1, "Transaction Data......" )
b3 = Block.next( b2, "More Transaction Data..." )


blockchain = [b0, b1, b2, b3]

console.log( blockchain )

(Source: blockchain.js)

will log something like:

[ Block {
     timestamp    : 1637-09-18 08:25:54,
     data         : 'Genesis',
     previousHash : '0000000000000000000000000000000000000000000000000000000000000000',
     hash         : 'c396de4c03ddb5275661982adc75ce5fc5905d2a2457d1266c74436c1f3c50f1' },
   Block {
     timestamp    : 1637-09-18 08:35:54,
     data         : 'Transaction Data...',
     previousHash : 'c396de4c03ddb5275661982adc75ce5fc5905d2a2457d1266c74436c1f3c50f1',
     hash         : '493131e09c069645c82795c96e4715cea0f5558be514b5096d853a5b9899154a' },
   Block {
     timestamp    : 1637-09-18 08:45:54,
     data         : 'Transaction Data......',
     previousHash : '493131e09c069645c82795c96e4715cea0f5558be514b5096d853a5b9899154a',
     hash         : '97aa3cb5052615d60ff8e6b41bef606562588c4874f011970ac2f218e2f0f4a8' },
   Block {
     timestamp    : 1637-09-18 08:55:54,
     data         : 'More Transaction Data...',
     previousHash : '97aa3cb5052615d60ff8e6b41bef606562588c4874f011970ac2f218e2f0f4a8',
     hash         : 'e10e020f832e46c2b60e1c3c0412bd370b2fde5f0f782c16eb87d0313ea0d3a3' } ]

Blockchain Articles

Reflections on the Blockchain by Rufus Pollock (Open Knowledge Foundation), July 2016 -- The DAO: Code is not Law – and It’s Dangerous to Think So ++ The Internet changed the world - surely the Blockchain will too? ++ Gold-rush or Internet-rush? ++ Governance Matters in Bitcoin ++ The Myth of a Costless, Ownerless Network ++ Lessons from History

On the Dangers of a Blockchain Monoculture by Tony Arcieri, January 2016 -- The Bitcoin blockchain: the world's worst database ++ Next-generation protocols ++ Decentralized ledger protocols ++ Bitcoin-NG ++ Blockchain! Blockchain! Blockchain! ++ The great decentralized database in the sky

I Don’t Believe in Blockchain by Tim Bray, May 2017

Minimum Viable Blockchain by Ilya Grigorik, May 2014 -- Securing transactions with triple-entry bookkeeping ++ Securing transactions with PKI ++ Balance = Σ(receipts) ++ Multi-party transfers & verification ++ Double-spending and distributed consensus - Requirements for a distributed consensus network; Protecting the network from Sybil attacks; Proof-of-work as a participation requirement ++ Building the minimum viable blockchain - Adding "blocks" & transaction fee incentives; Racing to claim the transaction fees; Resolving chain conflicts; Blocks are never final ++ Properties of the (minimum viable) blockchain

Blockchains by analogies and applications: How blockchain compares to Git, Raft, and other technologies. by Kieren James-Lubin, January 2016 -- Blockchains are databases ++ Understanding transactions ++ Persistent, replicated databases (related technology: Git) ++ Peer-to-peer networks (related technology: BitTorrent) ++ Distributed consensus (related technology: distributed databases, Raft) ++ Minting new coins (mining) ++ Embedded identities (related technology: TLS) ++ Smart contracts: Like SQL expressions & triggers ++ What can we really do with blockchains?

Blockchain Books

Attack of the 50 Foot Blockchain: Bitcoin, Blockchain, Ethereum & Smart Contracts by David Gerard, London, 2017 -- What is a bitcoin? ++ The Bitcoin ideology ++ The incredible promises of Bitcoin! ++ Early Bitcoin: the rise to the first bubble ++ How Bitcoin mining centralised ++ Who is Satoshi Nakamoto? ++ Spending bitcoins in 2017 ++ Trading bitcoins in 2017: the second crypto bubble ++ Altcoins ++ Smart contracts, stupid humans ++ Business bafflegab, but on the Blockchain ++ Case study: Why you can’t put the music industry on a blockchain

Mastering Bitcoin - Programming the Open Blockchain 2nd Edition, by Andreas M. Antonopoulos, 2017 - FREE (Online Source Version) -- What Is Bitcoin? ++ How Bitcoin Works ++ Bitcoin Core: The Reference Implementation ++ Keys, Addresses ++ Wallets ++ Transactions ++ Advanced Transactions and Scripting ++ The Bitcoin Network ++ The Blockchain ++ Mining and Consensus ++ Bitcoin Security ++ Blockchain Applications


BEWARE: Bitcoin is a gigantic ponzi scheme¹. To the moon!? The new gold standard!? Do NOT "invest" trying to get-rich-quick HODLing. Why not? The bitcoin code is archaic and out-of-date. Burn, baby, burn! Proof-of-work / waste is a global energy environmental disaster using 300 kW/h per bitcoin transaction (!) that's about 179 kilograms of CO₂ emissions². Programmable money (or the internet of value) for all future generations with (bitcoin) script without loops and jumps (gotos) and all "stateless"!? LOL.

¹: (Source: Best of Bitcoin Maximalist - Scammers, Morons, Clowns, Shills & BagHODLers - Inside The New New Crypto Ponzi Economics)

²: Assuming let's say 0.596 kilograms of CO₂ per kW/h (that's the energy efficiency in Germany) that's about 179 kilograms of CO₂ per bitcoin transaction (300 kW/h × 0.596 kg). For more insights see the Bitcoin Energy Consumption Index.


Programming Bitcoin from Scratch by Jimmy Song, 2019 - FREE (Online Source Version) -- Chapter 6 - Script - How Script Works • Example Operations • Parsing the Script Fields • Combining the Script Fields • Standard Scripts • p2pk • Problems with p2pk • Solving the Problems with p2pkh • Scripts Can Be Arbitrarily Constructed • Conclusion ++ Chapter 8 - Pay-to-Script Hash - Bare Multisig • Coding OP_CHECKMULTISIG • Problems with Bare Multisig • Pay-to-Script-Hash (p2sh) • Coding p2sh • Conclusion ++ Chapter 13 - Segregated Witness - Pay-to-Witness-Pubkey-Hash (p2wpkh) • p2wpkh Transactions • p2sh-p2wpkh • Coding p2wpkh and p2sh-p2wpkh • Pay-to-Witness-Script-Hash (p2wsh) • p2sh-p2wsh • Coding p2wsh and p2sh-p2wsh • Other Improvements • Conclusion

Programming Bitcoin Script Transaction (Crypto) Contracts Step-by-Step ( Beta / Rough Draft ) by Gerald Bauer et al, 2019 - FREE (Online Version) -- Let's start with building your own bitcoin stack machine from zero / scratch and let's run your own bitcoin ops (operations)...

Programming Blockchains in Ruby from Scratch Step-by-Step Starting w/ Crypto Hashes... ( Beta / Rough Draft ) by Gerald Bauer et al, 2018 - FREE (Online Version) -- (Crypto) Hash ++ (Crypto) Block ++ (Crypto) Block with Proof-of-Work ++ Blockchain! Blockchain! Blockchain! ++ Blockchain Broken? ++ Timestamping ++ Mining, Mining, Mining - What's Your Hash Rate? ++ Bitcoin, Bitcoin, Bitcoin ++ (Crypto) Block with Transactions (Tx)

Mastering Ethereum - Building Contract Services and Decentralized Apps on the Blockchain - by Andreas M. Antonopoulos, Gavin Wood, 2018 - FREE (Online Source Version) What is Ethereum ++ Introduction ++ Ethereum Clients ++ Ethereum Testnets ++ Keys and Addresses ++ Wallets ++ Transactions ++ Contract Services ++ Tokens ++ Oracles ++ Accounting & Gas ++ EVM (Ethereum Virtual Machine) ++
Consensus ++
DevP2P (Peer-To-Peer) Protocol ++ Dev Tools and Frameworks ++ Decentralized Apps ++ Ethereum Standards (EIPs/ERCs)

Building Decentralized Apps on the Ethereum Blockchain by Roberto Infante, 2018 - FREE chapter 1 -- Understanding decentralized applications ++ The Ethereum blockchain ++ Building contract services in (JavaScript-like) Solidity ++ Running contract services on the Ethereum blockchain ++ Developing Ethereum Decentralized apps with Truffle ++ Best design and security practice

Programming Crypto Blockchain Contracts Step-by-Step Book / Guide ( Beta / Rough Draft ) by Gerald Bauer et al, 2019 - FREE (Online Version) -- Let's Start with Ponzi & Pyramid Schemes. Run Your Own Lotteries, Gambling Casinos and more on the Blockchain World Computer...

Programming Cryptocurrencies and Blockchains in Ruby ( Beta / Rough Draft ) by Gerald Bauer et al, 2018 - FREE (Online Version) @ Yuki & Moto Press Bookshelf -- Digital $$$ Alchemy - What's a Blockchain? - How-To Turn Digital Bits Into $$$ or €€€? • Decentralize Payments. Decentralize Transactions. Decentralize Blockchains. • The Proof of the Pudding is ... The Bitcoin (BTC) Blockchain(s) ++ Building Blockchains from Scratch - A Blockchain in Ruby in 20 Lines! A Blockchain is a Data Structure • What about Proof-of-Work? What about Consensus? • Find the Lucky Number - Nonce == Number Used Once ++ Adding Transactions - The World's Worst Database - Bitcoin Blockchain Mining • Tulips on the Blockchain! Adding Transactions ++ Blockchain Lite - Basic Blocks • Proof-of-Work Blocks • Transactions ++ Merkle Tree - Build Your Own Crypto Hash Trees; Grow Your Own Money on Trees • What's a Merkle Tree? • Transactions ++ Central Bank - Run Your Own Federated Central Bank Nodes on the Blockchain Peer-to-Peer over HTTP • Inside Mining - Printing Cryptos, Cryptos, Cryptos on the Blockchain ++ Awesome Crypto ++ Case Studies - Dutch Gulden • Shilling • CryptoKitties (and CryptoCopycats)

Blockchain for Dummies, IBM Limited Edition by Manav Gupta, 2017 - FREE (Digital Download w/ Email) -- Grasping Blockchain Fundamentals ++ Taking a Look at How Blockchain Works ++ Propelling Business with Blockchains ++ Blockchain in Action: Use Cases ++ Hyperledger, a Linux Foundation Project ++ Ten Steps to Your First Blockchain application

Get Rich Quick "Business Blockchain" Bible - The Secrets of Free Easy Money, 2018 - FREE -- Step 1: Sell hot air. How? ++ Step 2: Pump up your tokens. How? ++ Step 3: Revolutionize the World. How?

Best of Bitcoin Maximalist - Scammers, Morons, Clowns, Shills & BagHODLers - Inside The New New Crypto Ponzi Economics by Trolly McTrollface, et al, 2018 - FREE

Crypto Facts - Decentralize Payments - Efficient, Low Cost, Fair, Clean - True or False? by Nouriel Roubini, David Gerard, et al, 2018 - FREE

Crypto is the Mother of All Scams and (Now Busted) Bubbles - While Blockchain Is The Most Over-Hyped Technology Ever, No Better than a Spreadsheet/Database by Nouriel Roubini, 2018 - FREE

IslandCoin White Paper - A Pen and Paper Cash System - How to Run a Blockchain on a Deserted Island by Tal Kol -- Motivation ++ Consensus ++ Transaction and Block Specification - Transaction format • Block format • Genesis block ++ References

Blockchain (Lite) Crypto Hash Libraries

RubyJavaScript

Ruby

blockchain.lite (github: openblockchains/blockchain.lite.rb, gem: blockchain-lite) - build your own blockchain with crypto hashes - revolutionize the world with blockchains, blockchains, blockchains one block at a time

require 'blockchain-lite'

b0 = Block.first( "Genesis" )
b1 = Block.next( b0, "Transaction Data..." )
b2 = Block.next( b1, "Transaction Data......" )
b3 = Block.next( b2, "More Transaction Data..." )

blockchain = [b0, b1, b2, b3]

pp blockchain   

will pretty print (pp) something like:

[#<Block:0x1eed2a0
  @timestamp     = 1637-09-15 20:52:38,
  @data          = "Genesis",
  @previous_hash = "0000000000000000000000000000000000000000000000000000000000000000",
  @hash          = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b">,
 #<Block:0x1eec9a0
  @timestamp     = 1637-09-15 21:02:38,
  @data          = "Transaction Data...",
  @hash          = "eb8ecbf6d5870763ae246e37539d82e37052cb32f88bb8c59971f9978e437743",
  @previous_hash = "edbd4e11e69bc399a9ccd8faaea44fb27410fe8e3023bb9462450a0a9c4caa1b">,
  ...

JavaScript

blockchain.lite (github: openblockchains/blockchain.lite.js, npm: blockchain-lite) - build your own blockchain with crypto hashes - revolutionize the world with blockchains, blockchains, blockchains one block at a time

const Blocks = require( "blockchain-lite" )

// use basic block
let Block = Blocks.basic

let b0 = Block.first( 'Genesis' )
let b1 = Block.next( b0, 'Transaction Data...' )
let b2 = Block.next( b1, 'Transaction Data......' )
let b3 = Block.next( b2, 'More Transaction Data...' )

let blockchain = [b0, b1, b2, b3]

console.log( blockchain )

will log something like:

[ Block {
    timestamp:     2017-09-25 17:03:38,
    data:         'Genesis',
    previousHash: '0000000000000000000000000000000000000000000000000000000000000000',
    hash:         '08f4fa71628c5bc6b430228738bc8c41afaf508ece0b1cf9c9cac53d02e11829' },
  Block {
    timestamp:     2017-09-25 17:13:38,
    data:         'Transaction Data...',
    previousHash: '08f4fa71628c5bc6b430228738bc8c41afaf508ece0b1cf9c9cac53d02e11829',
    hash:         '740a4aeb3441484c96d1e7f63d31b716220ccee3b6fe94547cae2afbb6010626' },
  Block {
    timestamp:     2017-09-25 17:23:38,
    data:         'Transaction Data......',
    previousHash: '740a4aeb3441484c96d1e7f63d31b716220ccee3b6fe94547cae2afbb6010626',
    hash:         '28b6892a069e2ff7f1c3128ab495d7cd9b9b1636a51a7f69db93a14b1ee6b1a7' },
  Block {
    timestamp:     2017-09-25 17:33:38,
    data:         'More Transaction Data...',
    previousHash: '28b6892a069e2ff7f1c3128ab495d7cd9b9b1636a51a7f69db93a14b1ee6b1a7',
    hash:         '4cc0329b2c0cb32e0451fa3179bd944d4cd0fcf410939172f979e9fd2aa9f5f3' } ]

Git, Git, Git - The Stupid Content Tracker with Crypto Hashes

Everything is local. Distributed is the new centralized.

Quotes - Blockchains and Git

Yep, that's the joke. Nobody has been able to explain to me how the "blockchain" buzzword is significantly different to "git repo". -- Yaakov

But if you said "let's build a currency where all transactions are stored in a git repo" you wouldn't be taken seriously for even 24 hrs. -- Yaakov

Soon explaining git like "a git repo is like a blockchain with commits instead of blocks". -- Nicolás Berger

"A local branch is like a state channel. It can be pushed and merged into the master blockchain at any moment." -- Nicolás Berger

The #Blockchain has changed the world. Here I make the argument that the #Blockchain is just like #git. -- Jackson Kelley

git merge [-m REF] [-g BLOB] --push Merge and push all signed commits to the blockchain. -- Git Commands

Books

Learn Enough Git to Be Dangerous by Michael Hartl - FREE (Online Version) -- Getting started ++ Backing up and sharing ++ Intermediate workflow ++ Collaborating ++ Conclusion ++ Advanced setup

Pro Git by Scott Chacon and Ben Straub, 2nd Edition, 2014 - FREE (Online Version) -- Getting Started ++ Git Basics ++ Git Branching ++ Git on the Server ++ Distributed Git ++ GitHub ++ Git Tools ++ Customizing Git ++ Git and Other Systems ++ Git Internals ++ A1: Git in Other Environments ++ A2: Embedding Git in your Applications ++ A3: Git Commands

Git gets easier once you get the basic idea that branches are homeomorphic endofunctors mapping submanifolds of a Hilbert space. -- Anonymous

Open Distributed Databases on Git

football.db - open public domain football datasets (incl. clubs, national teams, leagues, match schedules, etc.)

world.db - open public domain world (country) datasets

beer.db - open public domain beer & brewery datasets

Add a beer transaction to the #blockchain on #git and win a free Wiener Lager beer! Cheers. Prost. -- Gerald Bauer @ Austria Codes

Open Distributed (Hyper) Ledger Books on Git

Shilling (or Schilling) - Shilling on the Blockchain! - Rock-Solid Alpine Dollar from Austria

Tulips - Tulips on the Blockchain! - Learn by Example from the Real World (Anno 1637) - Buy! Sell! Hold! Enjoy the Beauty of Admiral of Admirals, Semper Augustus, and More

Classic Tulip Mania

A period in the Dutch Golden Age during which contract prices for bulbs of the recently introduced tulip reached extraordinarily high levels and then dramatically collapsed in February 1637.

Quotes - Blockchains are the next Internets / Tulips

People who compare digital tokens to tulips are essentially saying digital tokens are a bubble backed by nothing but pure hype and speculation.

What they fail to understand is that tulips come from dirt, not a blockchain.

And as we all know, blockchain is possibly the best technological innovation since the internet. It will have a tremendous impact on global business and society in general. -- TulipToken

Books

Tulipomania: The Story of the World's Most Coveted Flower & the Extraordinary Passions It Aroused by Mike Dash, 2001 -- A Mania for Tulips ++ The Valley of Tien Shan ++ Within the Abode of Bliss ++ Stranger from the East ++ Clusius ++ Leiden ++ An Adornment to the Cleavage ++ The Tulip in the Mirror ++ Florists ++ Boom ++ At the Sign of the Golden Grape ++ The Orphans of Wouter Winkel ++ Bust ++ Goddess of Whores ++ At the Court of the Tulip King ++ Late Flowering

Tulipmania: Money, Honor, and Knowledge in the Dutch Golden Age by Anne Goldgar, 2007 -- Something Strange ++ Art & Flowers ++ Bloemisten ++ Grieving Money ++ Bad Faith ++ Cabbage Fever ++ Glossary ++ A Note on Money

Breaking News: CryptoKitties (Yes, Cute Little Cartoon Cats) on the Blockchain!

Collectible. Breedable. Adorable.

Collect and breed digital cats. Start meow. Buy! Sell! Hold!

Learn more @ cryptokitties.co

Latest (and Greatest) Investment Opportunity!

Blockchain has unlocked the magic of digital scarcity, and combining that with the power of making the digital goods persistent gives them a potential value that is only limited by how much prestige a wealthy person might place on ownership of the item.

-- Justin Poirier

All I want for Christmas is a CryptoKitty.

-- Kayla Williams

I got a fever. And the only prescription is more CryptoKitties.

-- Eduardo Salazar

My Gen 7 CryptoKitty #104375. The Future is Meow.

-- Anshul Dhawan

  • Fabulous Persian Spock Gerbil Gold Cottoncandy - Extremely rare gen 5 swift virgin | 2.9 ETH
  • Rarity: 0.00264% Gen 5 JAGUAR FABULOUS GOLD DALI!! VIRGIN!
  • Rarity: 0.0015% Princess Bubblegum is now for sale! Gen 12 | Brisk | Virgin | Chartreux | Bubblegum | Otaku | Emeraldgreen | Saycheese | Mauveover | Spock - Starts ETH 20/Ends ETH 10
  • Gold ducat, Gen 5, Virgin, Swift. Very cheap
  • Cheap Gen 1 cute kittie with rare genes! Only 0.125 ETH
  • UNIQUE Virgin Peach Googly Gold Mauveover gen:2 cooldown:1 0.87992% RARE
  • SUPER CHEAP: Gerbil, Ragdoll, Scarlet, Chestnut, Cotton Candy!!! 0.02 ETH (~$14)
  • I'm giving away a Gen 1 FAST Gold for free...

-- CrypoKittiesMarket

Awesome CryptoKitties (and CryptoCopycats)

A collection about Awesome CryptoKitties (Yes, Cute Little Cartoon Cats) on the Blockchain! and CryptoCopycats - digital collectibles secured on a distributed public databases w/ crypto hashes. Are CryptoPuppies the new CryptoKitties? Learn by Example from the Real World (Anno 2017) - Buy! Sell! Hodl!

More @ cryptocopycats/awesome-cryptokitties

Events, Meetups, Orgs

Revolutionize the world one country at a time. Blockchainers of the world, unite!

Awesome Awesomeness

A curated list of awesome lists.

  • Blockchain Stuff -- a curated list of blockchain and general cryptocurrency resources
  • Awesome Blockchain by Igor Barinov et al -- a curated list of the bitcoin blockchain services
  • Awesome Blockchain by Tim Reznich et al -- a curated list of blockchain services and exchanges
  • Awesome Blockchain by istinspring et al -- a curated list of awesome projects and services based on blockchain technology
  • Awesome Coins by Kenneth Reitz et al -- a guide to crypto-currencies and their algos
  • Awesome CryptoKitties (and CryptoCopycats) by Gerald Bauer et al -- a curated list about the awesome crypto kitties and copycats
  • Awesome Git by Dick Tang et al -- a curated list of amazingly awesome Git tools, resources and shiny things
  • Awesome by Sindre Sorhus et al -- a curated list of awesome lists

Author: openblockchains
Source Code: https://github.com/openblockchains/awesome-blockchains
License: CC0-1.0 License

#blockchain 

Devin Pinto

1606971339

Certified Blockchain Expert™ | Blockchain Certification | Blockchain Council

A multitude of use cases around the numerous industrial segments are now contained in the blockchain technology that once began as the underlying system for Bitcoin trading. One of the main impacts on the financial sector has been felt. Blockchain technology has been publicly adopted by businesses like JP Morgan. The financial sector is suffering from data protection problems, faster transactions, transparency and other bottlenecks that hamper the growth of businesses that rely on monetary transactions from banks and NBFCs. Blockchain could therefore be a possible solution here. Banks and financial sectors can easily solve the disadvantages that hold back the banks’ smooth functioning with Blockchain’s involvement.

Some of the biggest developments we have seen in the Blockchain sector are the development of Blockchain platforms such as Hyperledger Sawtooth, Hyperledger Fabric, Corda, etc This approved Blockchain not only ensures that the system operates efficiently, but also ensures that transactions take place at a faster rate. It actually helps the banking system work much better and in a more effective way.

How the financial sector is impacted by Blockchain:

1. Providing a safe platform-
The need for a secured platform is one of the greatest challenges facing most banking and financial institutions. As most of the transactions and other work have now been digitised, most banks and other allied companies are looking for a stable platform that is free of any mistakes or defects. In addition, there is also a high rise in the need for a network that can efficiently combat data breach problems, and so we have Blockchain. By time-stamping all information or data on it this DLT platform works. This guarantees full security. And with the introduction of approved Blockchain networks, the security feature is even more assured.

2. No third party- Time lag and paperwork are two weaknesses of the financial sector that appear to hold up the processes and ultimately influence the company’s efficiency as well. We can solve these problems with the assistance of Blockchain technology and thus ensure quicker transactions. Blockchain technology operates on peer-to-peer transactions, ensuring that for authentication and approval, there is no need to rely on a third party, which speeds up the transaction process.

3. Tracking and tracing- For banking firms, these features can be highly beneficial. Banks invest a large amount of money on authentication and verification, amid all the efforts of false identity cases, and fraud reports are growing, we can easily put an end to it with Blockchain. As data tracking and tracing becomes simpler and history can be easily traced back, compared to the traditional technologies that banks use, it becomes easier to rely on this platform.

These are the three big benefits that Blockchain can reap from the banking and financial field. Blockchain developers and Blockchain experts are in high demand because of this, and we will see an increase in this number in the times to come.

Conclusion- The Blockchain Council provides Blockchain with the best online certificate programme. This detailed curriculum will allow you to absorb all Blockchain-related knowledge while also learning how to incorporate it. Then what are you going to wait for? Register for today’s Blockchain certification.

#blockchain technology #blockchain development #blockchain expert #blockchain professional #blockchain developer

Ajay Kapoor

1623918965

Custom Blockchain Development & Outsourcing Company India

Being one of leading blockchain development companies in India, we have marked a niche by providing some successful Blockchain based software solutions on ethereum, hyperledger, Smart Contracts, and much more. You can leverage Blockchain technology to enhance data security, complete process automation, reduce data storage cost, eliminates duplication of data and reduce time,

We have industry best experts to provide you feature packed Blockchain development services catering to your business challanges. Get in touch now to explore the benefits of Blockchain for your business!

#blockchain-development-company-in-india #blockchain #blockchain-companies-india #blockchain-outsourcing-companies #blockchain-development-services #blockchain-development-company