و اما بلاکچین چیست ؟ مسئله این است!
تعریف های بسیار زیادی برای بلاکچین وجود دارد، از سیستم های غیر متمرکز تا رمز گذاری های طویل، اما برویم سراغ صحیح ترین پاسخ به این سوال. برای آن که مفاهیم بلاکچین را به خوبی درک کنیم ابتدا لازم است چند مفاهیم پایه دیگر را بررسی کنیم.
هش (Hashing):
هش یک فرآیند ریاضی است که یک مجموعه داده را به یک مقدار خروجی ثابت و دارای طول ثابت (هش) تبدیل میکند. این فرآیند به صورت یکطرفه (one-way) انجام میشود به این معنا که از هش به داده اصلی، امکان بازگردانی داده اصلی وجود ندارد. به بیان راحت تر پس از تبدیل رشته شما نمی توانید آن را با ابزاری به داده ی اولیه برگردانید.
توابع هش معروف:
توابعی هستند که به وسیله آن تغیر داده را انجام می دهد. که می توانید انتخاب کنید کدام یک از آن ها اجرا شود.
- MD5: یک تابع هش که البته به دلیل آسیبپذیریهای امنیتی کمتر استفاده میشود.
- SHA-1: یکی دیگر از توابع هش که امنیت آن نیز کاهش یافته است.
- SHA-256، SHA-3 و بسیاری دیگر: توابع هش با سطح امنیت بالاتر و استفاده رایج در حال حاضر می باشد.
در شکل بالا مشاده می کنید که متن نمونه وارد شده و به صورت یک رشته ی هش شده و ۲۵۶ بیتی دریافت شده. برای مثال می توانید در سایت های هشینگ اسم خود را وارد کنید هش شده اسم خود را مشاهد کنید.
دومین مفهومی که باید بررسی کنیم سیستم های توزیع شده (Distributed System) می باشد. در نوع اتصال نود ها به یک دیگر در یک شبکه انواع مختلفی وجود دارد که در تصویر آن را بررسی خواهیم کرد.
Centralized (مرکزی):
- در یک شبکه مرکزی، کنترل و مدیریت اصلی توسط یک مرکز یا سرور انجام میشود.
- تمامی تصمیمگیریها و اجرای عملیات به صورت متمرکز در یک نقطه مرکزی اتفاق میافتد.
- این مدل به تسهیل کنترل و مدیریت، امنیت و استانداردسازی مناسب کمک میکند.
Decentralized (غیرمرکزی):
- در یک شبکه غیرمرکزی، مسئولیتها و کنترل به صورت توزیع شده بین چندین نقطه یا شخص تقسیم میشود.
- هر نقطه (شخص یا دستگاه) میتواند تصمیمات محلی خود را اعمال کرده و اطلاعات را به دیگر نقاط ارسال کند.
- این مدل برای افزایش انعطافپذیری و اقتصادی بودن مناسب است.
Distributed (توزیعشده):
- در یک شبکه توزیعشده علاوه بر توزیع مسئولیتها، دادهها نیز به صورت توزیعشده در سراسر شبکه قرار دارند.
- تمامی نقاط دارای قابلیت مشارکت در فرآیندهای تصمیمگیری و اجرای عملیات هستند.
- این مدل به افزایش قابلیت اطمینان (Reliability) و قابلیت انعطافپذیری (Scalability) ارتقاء مییابد.
در کل مدل مرکزی بیشتر کنترل دارد اما ممکن است آسیبپذیر باشد، مدل غیرمرکزی افزایش انعطافپذیری دارد و مدل توزیعشده برای افزایش اطمینان و کارایی طراحی شده است. انتخاب بین این مدلها بستگی به نیازها و اهداف خاص هر سیستم یا شبکه دارد.
بلاکچین شبکه ای بر پایه Distributed یا توزیع شده می باشد. در بلاکچین نود هایی که وجود دارند همگی باهم یک شبکه را تشکیل می دهند و دسترسی ها و مسئولیت ها همگی به یک اندازه می باشد. برای درک بهتر به عکس زیر توجه کنید و مفاهیم توضیح داده شده را دنبال کنید.
Genesis Block :
در بلاکچین ما بلوکی داریم به نام Genesis Block که بلوک نخستین می باشد و در ابتدای آغاز فعالیت قرار دارد.این بلوک تمام قوانین و معاملات شبکه را تنظیم می کند. برای گسترش و ایجاد شبکه در بلاکچین ما نیاز به بلوک های دیگری هم داریم ، برای ایجاد بلوک های دیگر باید از روی بلوک Genesis ، بلوک های دیگر را بسازیم . از آنجایی که هش (hash) را مطالعه کردید ، هر بلوکی که ایجاد کنیم داده های بلوک قبلی را به صورت هش دریافت می کند. برای مثال بلوک ۲ ، دیتای بلوک Genesis را به صورت هش دریافت می کند و همنیطور بلوک ۴ ، دیتای بلوک ۳ را به صورت هش دریافت می کند. و هر نودی که بخواهد به شبکه اضافه شود باید دیتای نود قبل از خودش را به صورت هش دریافت کند.
اگر دقت کنید بلوک ها به مانند زنجیر به یک دیگر متصل می باشند و دیتای یک دیگر را به صورت هش دریافت می کنند، به همین دلیل آن را بلاکچین می نامیم.
بلاکچین انواع مختلفی دارد که در اینجا Hyperledger Fabricرا بررسی می کنیم.
Hyperledger Fabric :
هایپرلجر فابریک یک نوع از بلاکچین می باشد که تفاوت هایی با بقیه سرویس ها دارد و قوانین آن متفاوت می باشد. برویم و چند تا از اساسی ترین تفاوت های آن ها را بررسی کنیم:
- در هایپرلجر فابریک (Hyperledger Fabric) ها بر خلاف قوانین اصلی بلاکچین که همه نود ها دسترسی یکسانی دارند، بعضی نود ها به اسم ca وجود دارند که می تواند تعیین کنند که کدام یک از نود ها orderer یا peer باشند.(نگران نباشین جلوتر توضیح میدم هرکدوم چیه)
- برای مثال در در بیت کوین که بر پایه بلاکچین است قانون اجماعی به نام proof of work(pow) وجود دارد که تعیین می کند کدام نود بلوک بعدی را بسازد و بیت کوین های جایزه به کدام یک از توسعه دهنگان بلوک می رسد اما در هایپرلجر فابریک (Hyperledger Fabric) جایزه ای وجود ندارد چون افراد حاضر در شبکه همگی هدف خاص را دنبال می کنند.
- یکی دیگر از تفاوت ها درقوانین اصلی بلاکچین و هایپرلجر فابریک(Hyperledger Fabric)، تعداد نود ها می باشد. در قانون اصلی بلاکچین هر نودی می تواند به شبکه بپیوندد یا از شبکه یا خارج شود از آن اما در هایپرلجر فابریک (Hyperledger Fabric) این موضوع کنترل شده می باشد، به طوری که هر کسی حق ورود به شبکه و حق خروج از آن را ندارد.
سرویس ابری بلاکچین گرین پلاس 🙂
سرویس بلاکچین گرین پلاس بر پایه Hyperledger Fabric می باشد و کنترل شده می باشد. گرین پلاس انتخابی مناسب برای استفاده از سرویس بلاکچین می باشد.
امیدوارم لذت برده باشید:)