TON: ٽيليگرام اوپن نيٽورڪ. حصو 2: بلاڪ چينز، شارڊنگ

TON: ٽيليگرام اوپن نيٽورڪ. حصو 2: بلاڪ چينز، شارڊنگ

هي متن مضمونن جي هڪ سلسلي جو تسلسل آهي جنهن ۾ آئون (شايد) ورهايل نيٽ ورڪ ٽيليگرام اوپن نيٽورڪ (TON) جي جوڙجڪ جو جائزو وٺان ٿو، جيڪو هن سال جاري ٿيڻ لاءِ تيار ڪيو پيو وڃي. IN پويون حصو مون ان جي سڀ کان بنيادي سطح کي بيان ڪيو - طريقو نوڊس هڪ ٻئي سان لهه وچڙ ۾.

بس ان صورت ۾، مون کي توهان کي ياد ڏيارڻ ڏي ته منهنجو هن نيٽ ورڪ جي ترقيءَ سان ڪو به واسطو نه آهي ۽ سمورو مواد هڪ کليل (جيتوڻيڪ اڻ تصديق ٿيل) ذريعن مان حاصل ڪيو ويو آهي. سند (اتي پڻ آهي بروشر، مختصر طور تي مکيه نقطا بيان ڪندي)، جيڪو گذريل سال جي آخر ۾ ظاهر ٿيو. هن دستاويز ۾ معلومات جو مقدار، منهنجي خيال ۾، ان جي صداقت کي ظاهر ڪري ٿو، جيتوڻيڪ هن جي ڪا به سرڪاري تصديق نه آهي.

اڄ اسان ڏسنداسين TON جو بنيادي حصو - بلاڪچين.

بنيادي تصورات

کاتي (حساب). ڊيٽا جو هڪ سيٽ 256-bit نمبر جي سڃاڻپ اڪائونٽ آء ڊي (اڪثر ڪري هي اڪائونٽ مالڪ جي عوامي ڪنجي آهي). بنيادي صورت ۾ (هيٺ ڏسو صفر ڪم ڪار)، هي ڊيٽا صارف جي بيلنس ڏانهن اشارو ڪري ٿو. ”قبضو“ مخصوص اڪائونٽ آء ڊي ڪو به ڪري سگهي ٿو، پر ان جي قيمت صرف ڪجهه ضابطن جي مطابق تبديل ٿي سگهي ٿي.

سمارٽ معاهدو (سمارٽ معاهدو). ذات ۾، اهو هڪ اڪائونٽ جو هڪ خاص ڪيس آهي، سمارٽ ڪانٽريڪٽ ڪوڊ ۽ ان جي متغيرن جي اسٽوريج سان گڏ. جيڪڏهن "والٽ" جي صورت ۾ توهان نسبتا سادو ۽ اڳ ۾ مقرر ڪيل قاعدن جي مطابق ان مان پئسا جمع ۽ واپس وٺي سگهو ٿا، پوء هڪ سمارٽ معاهدي جي صورت ۾ اهي ضابطا ان جي ڪوڊ جي صورت ۾ لکيل آهن (هڪ خاص ٽريننگ-مڪمل ۾. پروگرامنگ ٻولي).

Blockchain رياست (blockchain جي حالت). سڀني اڪائونٽن / سمارٽ معاهدي جي رياستن جو سيٽ (هڪ تجريدي معنى ۾، هڪ هيش ٽيبل، جتي ڪنجيون اڪائونٽ جي سڃاڻپ ڪندڙ آهن ۽ قيمتون اڪائونٽن ۾ محفوظ ڪيل ڊيٽا آهن).

پيغام (پيغام). مٿي مون لفظ ”ڪريڊٽ ۽ ڊيبٽ پئسو“ استعمال ڪيو آهي - هي پيغام جو هڪ خاص مثال آهي (“منتقلي ن گرام اڪائونٽ کان اڪائونٽ_1 حساب ڪرڻ اڪائونٽ_2"). ظاهر آهي، صرف نوڊ جيڪو اڪائونٽ جي خانگي چاٻي جو مالڪ آهي اهڙو پيغام موڪلي سگهي ٿو اڪائونٽ_1 - ۽ هڪ دستخط سان ان جي تصديق ڪرڻ جي قابل. اهڙن پيغامن کي باقاعده اڪائونٽ تائين پهچائڻ جو نتيجو ان جي بيلنس ۾ اضافو آهي، ۽ سمارٽ معاهدي جو نتيجو آهي ان جي ڪوڊ جو عمل (جيڪو پيغام جي وصولي تي عمل ڪندو). يقينن، ٻيا پيغام پڻ ممڪن آهن (منتقلي رقم نه، پر سمارٽ معاهدي جي وچ ۾ صوابديدي ڊيٽا).

ٽرانزيڪشن (برو). حقيقت اها آهي ته هڪ پيغام پهچايو ويندو آهي ٽرانزيڪشن سڏيو ويندو آهي. ٽرانزيڪشن بلاڪچين جي حالت کي تبديل ڪري ٿو. اهو ٽرانزيڪشن آهي (پيغام پهچائڻ جا رڪارڊ) جيڪي ٺاهيندا آهن بلاڪ بلاڪ ۾. انهي سلسلي ۾، توهان بلاڪچين جي حالت کي هڪ وڌندڙ ڊيٽابيس جي طور تي سمجهي سگهو ٿا - سڀئي بلاڪ "تفرق" آهن جيڪي ڊيٽابيس جي موجوده حالت حاصل ڪرڻ لاء ترتيب سان لاڳو ٿيڻ جي ضرورت آهي. انهن ”مختلفن“ (۽ انهن مان مڪمل حالت کي بحال ڪرڻ) کي پيڪنگ ڪرڻ جي خاصيتن تي ايندڙ مضمون ۾ بحث ڪيو ويندو.

TON ۾ Blockchain: اهو ڇا آهي ۽ ڇو؟

جيئن اڳئين مضمون ۾ ذڪر ڪيو ويو آهي، بلاڪچين هڪ ڊيٽا جو ڍانچو آهي، جنهن جا عنصر (بلاڪ) هڪ ”زنجيرن“ ۾ ترتيب ڏنل آهن، ۽ زنجير جي هر ايندڙ بلاڪ ۾ پوئين هڪ جي هش شامل آهي.. تبصرن سوال پڇيو: اسان کي اهڙي ڊيٽا جي جوڙجڪ جي ضرورت ڇو آهي جڏهن اسان وٽ اڳ ۾ ئي DHT آهي - هڪ ورهايل هيش ٽيبل؟ ظاهر آهي، ڪجهه ڊيٽا DHT ۾ ذخيرو ٿي سگهي ٿو، پر اهو صرف مناسب آهي نه تمام "حساس" معلومات لاء. Cryptocurrency بيلنس DHT ۾ محفوظ نه ٿو ڪري سگھجي - بنيادي طور تي چيڪن جي کوٽ جي ڪري ايمانداري. دراصل، بلاڪچين جي جوڙجڪ جي پوري پيچيدگي وڌي ٿي ان ۾ ذخيرو ٿيل ڊيٽا سان مداخلت کي روڪڻ لاءِ.

بهرحال، TON ۾ بلاڪچين اڃا به وڌيڪ پيچيده ڏسڻ ۾ اچي ٿو اڪثر ٻين ورهايل سسٽم کان - ۽ ٻن سببن لاءِ. پهرين ضرورت کي گهٽائڻ جي خواهش آهي ڪانٽو. روايتي cryptocurrencies ۾، سڀئي پيٽرولر شروعاتي اسٽيج تي مقرر ڪيا ويا آهن ۽ انهن کي تبديل ڪرڻ جي ڪا به ڪوشش اصل ۾ هڪ "متبادل cryptocurrency ڪائنات" جي ظاهر ٿيڻ جي ڪري ٿي. ٻيو سبب ڪرشنگ جي حمايت آهي (ڇڪڻ, ڇڪڻ) blockchain. Blockchain هڪ ڍانچي آهي جيڪو وقت سان ننڍو نه ٿو ٿي سگهي. ۽ عام طور تي نيٽورڪ جي آپريشن لاء ذميوار هر نوڊ ان کي مڪمل طور تي ذخيرو ڪرڻ تي مجبور ڪيو ويندو آهي. روايتي (مرڪزي) سسٽم ۾، شارڊنگ اهڙين مسئلن کي حل ڪرڻ لاء استعمال ڪيو ويندو آهي: ڊيٽابيس ۾ ڪجهه رڪارڊ هڪ سرور تي واقع آهن، ڪجهه ٻئي تي، وغيره. cryptocurrencies جي صورت ۾، اهڙي ڪارڪردگي اڃا تائين ناياب آهي - خاص طور تي، حقيقت اها آهي ته اهو هڪ سسٽم ۾ شارڊنگ شامل ڪرڻ ڏکيو آهي جتي اهو اصل ۾ رٿابندي نه ڪيو ويو هو.

مٿين ٻنهي مسئلن کي حل ڪرڻ لاءِ TON ڪيئن منصوبو آهي؟

Blockchain مواد. ڪم ڪار.

TON: ٽيليگرام اوپن نيٽورڪ. حصو 2: بلاڪ چينز، شارڊنگ

سڀ کان پهريان، اچو ته ان بابت ڳالهايون جيڪي بلاڪچين ۾ ذخيرو ٿيڻ جي رٿابندي ڪئي وئي آهي. اڪائونٽن جون حالتون (بيس ڪيس ۾ ”والٽس“) ۽ سمارٽ معاهدا اتي محفوظ ڪيا ويندا (سادگي لاءِ، اسان فرض ڪنداسين ته اهو ساڳيو ئي اڪائونٽس آهي). جوهر ۾، هي هڪ باقاعده هيش ٽيبل هوندو - ان ۾ ڪنجيون سڃاڻپ ڪندڙ هونديون اڪائونٽ آء ڊي، ۽ قدر آهن ڊيٽا جي جوڙجڪ آهن اهڙيون شيون شامل آهن:

  • توازن؛
  • سمارٽ ڪانٽريڪٽ ڪوڊ (صرف سمارٽ معاهدن لاءِ)؛
  • سمارٽ ڪانٽريڪٽ ڊيٽا اسٽوريج (صرف سمارٽ معاهدي لاءِ)؛
  • انگ اکر
  • (اختياري) اڪائونٽ مان منتقلي لاءِ عوامي چيڪ، ڊفالٽ اڪائونٽ_id طرفان؛
  • ٻاھرين پيغامن جي قطار (هتي اھي داخل ٿيل آھن وصول ڪندڙ ڏانھن اڳتي وڌڻ لاءِ)؛
  • هن اڪائونٽ تي ترسيل تازين پيغامن جي هڪ فهرست.

جيئن مٿي ذڪر ڪيو ويو آهي، بلاڪ پاڻ ۾ ٽرانزيڪشن تي مشتمل آهن - پيغام مختلف account_id اڪائونٽن ڏانهن پهچائي رهيا آهن. بهرحال، account_id کان علاوه، پيغامن ۾ 32-bit فيلڊ پڻ شامل آهي workchain_id - نام نهاد سڃاڻپ ڪندڙ ڪم جي زنجير (ڪم جي زنجير, ڪم ڪندڙ blockchain). هي توهان کي اجازت ڏئي ٿو ته ڪيترن ئي بلاڪچين کي مختلف ترتيبن سان هڪ ٻئي کان آزاد. انهي صورت ۾، workchain_id = 0 هڪ خاص ڪيس سمجهيو ويندو آهي، صفر ڪم ڪار - اھو ان ۾ بيلنس آھي جيڪو TON (گرام) cryptocurrency سان ملندو. گهڻو ڪري، پهرين ۾، ٻيون ڪم ڪارون موجود نه هونديون.

شارڊچينز. لاتعداد شارڊنگ پيراڊائم.

پر بلاڪچين جي تعداد ۾ واڌ اتي روڪي نه ٿي. اچو ته شيڊنگ سان معاملو ڪريون. اچو ته تصور ڪريون ته هر اڪائونٽ (account_id) کي مختص ڪيو ويو آهي ان جي پنهنجي بلاڪچين - ان ۾ اهي سڀئي پيغام آهن جيڪي ان تي اچن ٿا - ۽ اهڙين سڀني بلاڪچين جون رياستون الڳ نوڊس تي محفوظ ٿيل آهن.

يقينا، اهو تمام گهڻو فضول آهي: گهڻو ڪري، انهن مان هر هڪ ۾ شارڊ زنجير (شارڊ چين, شارڊ بلاڪچين) ٽرانزيڪشن تمام گهٽ ايندا، ۽ تمام طاقتور نوڊس جي ضرورت پوندي (اڳتي ڏسندي، مان نوٽ ڪريان ٿو ته اسان صرف موبائيل فون تي ڪلائنٽ بابت نه ڳالهائي رهيا آهيون - پر سنجيده سرورز بابت).

تنهن ڪري، شارڊ چائنس اڪائونٽس کي گڏ ڪن ٿا انهن جي سڃاڻپ ڪندڙ جي بائنري اڳياڙين سان: جيڪڏهن هڪ شارڊچين جو اڳياڙي 0110 آهي، ته پوءِ ان ۾ انهن نمبرن سان شروع ٿيندڙ سڀني account_ids جا ٽرانزيڪشن شامل هوندا. هي shard_prefix 0 کان 60 بٽ تائين ڊگهو ٿي سگھي ٿو - ۽ بنيادي شيء اها آهي ته اهو متحرڪ طور تي تبديل ٿي سگهي ٿو.

TON: ٽيليگرام اوپن نيٽورڪ. حصو 2: بلاڪ چينز، شارڊنگ

جيئن ئي هڪ شارڊ چينز تمام گهڻيون ٽرانزيڪشن حاصل ڪرڻ شروع ڪري ٿي، ان تي ڪم ڪندڙ نوڊس، اڳواٽ مقرر ڪيل ضابطن جي مطابق، ان کي ٻن ٻارن ۾ ”ورهايو“ ٿا - انهن جا اڳڪٿي هڪ ڊگهو ٿي ويندا (۽ انهن مان هڪ لاءِ هي سا هوندو. 0 جي برابر، ۽ ٻين لاء - 1). مثال طور، shard_prefix = 0110b ۾ ورهايو ويندو 01100b ۽ 01101b. بدلي ۾، جيڪڏهن ٻه "پاڙيسري" شارڊ چينز ڪافي آرام سان محسوس ڪرڻ شروع ڪن ٿا (ڪجهه وقت لاء)، اهي ٻيهر ملندا.

اهڙيءَ طرح، شارڊنگ ”هيٺ کان مٿي“ ڪئي ويندي آهي - اسان فرض ڪريون ٿا ته هر کاتي جو پنهنجو شارڊ هوندو آهي، پر هن وقت اهي اڳياڙين سان ”گڏيل آهن“. ان جو مطلب اهو آهي لاتعداد شارڊنگ پيراڊائم (لامحدود شارڊنگ مثال).

الڳ الڳ، مان ان ڳالهه تي زور ڏيڻ چاهيان ٿو ته ڪم جي زنجير صرف عملي طور تي موجود آهن - حقيقت ۾، workchain_id اهو هڪ مخصوص شارڊ چين جي سڃاڻپ ڪندڙ جو حصو آهي. رسمي اصطلاحن ۾، هر شارڊ چين کي عددن جي هڪ جوڙي سان بيان ڪيو ويو آهي (workchain_id, shard_prefix).

غلطي جي اصلاح. عمودي بلاڪچين.

روايتي طور تي، بلاڪچين تي ڪنهن به ٽرانزيڪشن کي "پٿر ۾ سيٽ" سمجهيو ويندو آهي. جڏهن ته، TON جي صورت ۾، اهو ممڪن آهي "تاريخ کي ٻيهر لکڻ" - صورت ۾ ڪو ماڻهو (نام نهاد. مڇي مارڻ واري ڳنڍ) ثابت ڪندو ته بلاڪ مان هڪ غلط سائن ڪيو ويو. انهي صورت ۾، هڪ خاص اصلاح واري بلاڪ کي لاڳاپيل شارڊ چين ۾ شامل ڪيو ويو آهي، جنهن ۾ بلاڪ جي هيش پاڻ کي درست ڪيو ويندو آهي (۽ نه ته شارڊ چين ۾ آخري بلاڪ). شارڊ چين کي افقي طور تي رکيل بلاڪن جي زنجير وانگر سوچڻ، اسان اهو چئي سگهون ٿا ته اصلاحي بلاڪ غلط بلاڪ سان ڳنڍيل آهي ساڄي طرف نه، پر مٿي کان - تنهنڪري اهو سمجهيو وڃي ٿو ته اهو هڪ ننڍڙو "عمودي بلاڪ" جو حصو بڻجي وڃي ٿو. . اهڙيء طرح، اسان اهو چئي سگهون ٿا ته شارڊ چينز آهن ٻه-dimensional blockchains.

TON: ٽيليگرام اوپن نيٽورڪ. حصو 2: بلاڪ چينز، شارڊنگ

جيڪڏهن، هڪ غلط بلاڪ کان پوء، ان جي طرفان ڪيل تبديلين کي ايندڙ بلاڪن جي حوالي ڪيو ويو (يعني، نئين ٽرانزيڪشن کي غلط ماڻهن جي بنياد تي ڪيو ويو)، انهن بلاڪن ۾ "مٿي تي" شامل ڪيا ويا آهن. جيڪڏهن بلاڪ "متاثر ٿيل" معلومات کي متاثر نه ڪيو، اهي "اصلاحي لهرون" انهن تي لاڳو نه ٿيون. مثال طور، مٿي ڏنل مثال ۾، پهرين بلاڪ جي ٽرانزيڪشن، اڪائونٽ سي جي بيلنس کي وڌائڻ، غلط طور تي تسليم ڪيو ويو - ان ڪري، ٽئين بلاڪ ۾ هن اڪائونٽ جي بيلنس کي گهٽائڻ واري ٽرانزيڪشن کي به منسوخ ڪيو وڃي، ۽ هڪ اصلاحي بلاڪ. پاڻ کي بلاڪ جي چوٽي تي انجام ڏيڻ گهرجي.

اهو ياد رکڻ گهرجي ته جيتوڻيڪ اصلاحي بلاڪ اصل ۾ "مٿي" واقع طور تي ظاهر ڪيا ويا آهن، حقيقت ۾ انهن کي لاڳاپيل بلاڪچين جي آخر ۾ شامل ڪيو ويندو (جتي انهن کي تاريخي طور تي هجڻ گهرجي). ٻه طرفي مقام صرف ڏيکاري ٿو بلاڪ چين ۾ ڪهڙي نقطي تي اهي "ڳنڍيل" هوندا (انهن ۾ واقع اصل بلاڪ جي هيش ذريعي).

توهان الڳ الڳ فلسفو ٻڌائي سگهو ٿا ته ”ماضي کي تبديل ڪرڻ“ جو فيصلو ڪيترو سٺو آهي. اهو لڳي ٿو ته جيڪڏهن اسان شارڊ چين ۾ هڪ غلط بلاڪ جي ظاهر ٿيڻ جي امڪان کي تسليم ڪريون ٿا، ته پوء اسان هڪ غلط اصلاحي بلاڪ جي ظاهر ٿيڻ جي امڪان کان بچي نٿا سگهون. هتي، جيتري قدر مان ٻڌائي سگهان ٿو، فرق نوڊس جي تعداد ۾ آهي، جيڪي نون بلاڪن تي اتفاق راءِ تائين پهچڻ گهرجن - هر شارڊ چين تي ڪم ڪندڙ ماڻهن جو نسبتاً ننڍڙو تعداد هوندو.ڪم ڪندڙ گروپ» نوڊس (جيڪو اڪثر ڪري ان جي جوڙجڪ کي تبديل ڪري ٿو)، ۽ اصلاحي بلاڪ جي تعارف سڀني جي رضامندي جي ضرورت هوندي. تصديق ڪندڙ نوڊس. مان ايندڙ مضمون ۾ تصديق ڪندڙن، ڪم گروپن، ۽ ٻين نوڊ ڪردارن بابت وڌيڪ ڳالهائيندس.

انهن سڀني کي حڪمراني ڪرڻ لاء هڪ بلاڪ

بلاڪچين جي مختلف قسمن جي باري ۾ مٿي ڏنل تمام گهڻي معلومات آهي، جنهن کي پاڻ کي به ڪٿي رکڻ گهرجي. خاص طور تي، اسان هيٺ ڏنل معلومات بابت ڳالهائي رهيا آهيون:

  • workchains جي تعداد ۽ ترتيب جي باري ۾؛
  • شارڊ چينن جي تعداد ۽ انهن جي اڳڀرائي بابت؛
  • هن وقت ڪهڙن نوڊس جا ذميوار آهن ڪهڙن شارڊ چينز لاءِ؛
  • آخري بلاڪ جي هيش سڀني شارڊ چينن ۾ شامل ڪئي وئي.

جيئن توهان اندازو لڳايو هوندو، اهي سڀ شيون هڪ ٻئي بلاڪچين اسٽوريج ۾ رڪارڊ ٿيل آهن. ماسٽر چين (ماسٽر چين, ماسٽر بلاڪچين). ان جي بلاڪ ۾ سڀني شارڊچين جي بلاڪ مان هيشز جي موجودگي جي ڪري، اهو سسٽم کي انتهائي ڳنڍيندو آهي. هن جو مطلب آهي، ٻين شين جي وچ ۾، اهو آهي ته ماسٽر چين ۾ هڪ نئين بلاڪ جو نسل شارڊچين ۾ بلاڪ جي نسل کان فوري طور تي ٿيندو - اهو توقع آهي ته شارڊ چينن ۾ بلاڪ لڳ ڀڳ هر 5 سيڪنڊن ۾ هڪ ئي وقت ۾ ظاهر ٿيندا، ۽ ايندڙ بلاڪ ۾. masterchain - ان کان پوء هڪ سيڪنڊ.

پر ان سڄي ٽائيٽينڪ ڪم تي عمل ڪرڻ جو ذميوار ڪير هوندو - پيغام موڪلڻ، سمارٽ معاهدن تي عمل ڪرڻ، شارڊ چينز ۽ ماسٽرچين ۾ بلاڪ ٺاهڻ، ۽ غلطين لاءِ بلاڪ چيڪ ڪرڻ به؟ ڇا اهو سڀ ڪجهه ڳجهي طور تي لکين صارفين جي فونن ذريعي ڪيو ويندو جن تي ٽيليگرام ڪلائنٽ انسٽال ٿيل آهي؟ يا، شايد، Durov ٽيم decentralization جي خيالن کي ڇڏي ڏيندو ۽ انهن جا سرور ان کي پراڻي طريقي سان ڪندا؟

حقيقت ۾، نه ته هڪ يا ٻيو جواب صحيح آهي. پر هن مضمون جا حاشيا جلدي ختم ٿي رهيا آهن، تنهنڪري اسان نوڊس جي مختلف ڪردارن بابت ڳالهائينداسين (توهان شايد انهن مان ڪجهه جو ذڪر اڳ ۾ ئي محسوس ڪيو هوندو)، ۽ انهي سان گڏ انهن جي ڪم جي ميڪيڪل، ايندڙ حصي ۾.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو