شبکه ققنوس، یک پلتفرم بر مبنای فناوری دفتر کل توزیعشده است که متشکل از میزبان های غیرمتمرکز آن است. این میزبانها به عنوان اعضای بنیاد ققنوس، این شبکه را به صورت غیرمتمرکز اداره مینمایند. شبکه ققنوس به شخص (حقیقی یا حقوقی) خاصی تعلق ندارد و بنیاد ققنوس به عنوان نهاد مشارکتی اعضا، عملیات جاری و توسعه شبکه را هماهنگ مینماید.
ققنوس چگونه کار می کند؟
در این شبکه میزبانها قادر به نظارت، صحتسنجی و ثبت کلیه تراکنشها و عملیات کاربران خود هستند. شبکه ققنوس همچنین امکان انتشار انواع توکنها را توسط ناشران معتمد فراهم مینماید. بدین ترتیب میتوان داراییهای مختلف را با استفاده از امکانات دفترکل توزیعشده توکنایز نمود.
ارسال توکن در ققنوس
در شبکه ققنوس، کاربر میتواند با استفاده از کیف توکن دیجیتالی ققنوس که برای اغلب دستگاهها با سیستمعاملهای مختلف عرضه شده است اقدام به ارسال توکن نماید. پس از آن سرویسهای داخلی با استفاده از سرویس پل تراکنش موردنظر را ارسال میکنند. سرور پل اطلاعات مربوط به تراکنش را به سرویس انطباق میفرستد. سرور انطباق با شناسایی آدرس ققنوسی، شناسه حساب دریافت کننده را تعیین می کند. سپس با سرویسهای داخلی خود تماس می گیرد تا اطلاعات مربوط به مشتری ارسال کننده را برای ارائه به سیستم های انطباق پذیرنده توکن دریافت کند. اگر نتیجه موفقآمیز باشد، سرور پل یک تراکنش ایجاد، آن را امضا می کند و به شبکه ققنوس می فرستد. هنگامی که تراکنش در شبکه تایید شد، سرور پل نتیجه را به سرویس های شما منتقل میکند و پس از آن حساب مشتری به روز میشود.
دریافت توکن در ققنوس
فرستنده برای ارسال توکن شناسه حساب ققنوسی کاربر موردنظر خود را از طریق سرویس آدرسدهی جستجو می کند سپس با اطلاعات درخواستی با سرور انطباق پذیرنده تماس میگیرد و سرور انطباق با سه سرویس به آن پاسخ میدهد.
درخواست برای تعیین اینکه آیا فرستنده مجاز به ارسال هست یا خیر. اگر فرستنده می خواهد اطلاعات پذیرنده را بررسی کند، برای پاسخ دادن به اینکه کدام اطلاعات به اشتراک گذاشته شود درنظرگرفته میشود در نهایت دریافت اطلاعات پذیرنده توکن انجام میشود. فرستنده تراکنش را به شبکه ققنوس ارسال می کند.
سرور پل تراکنش را برای اینکه آیا همان تراکنش تأیید شده است یا خیر به به سرور تطابق خود می فرستد. پس از آن سرور پل با استفاده از سرویسهای خود به پذیرنده دریافت توکن را اطلاع داده و حساب وی را به روزرسانی میکند.
معماری فنی
شبکه ققنوس یک شبکه بامجوز و عمومی (Public-Permissioned) است که با ویژهسازی فناوری شبکه استلار پیادهسازی شدهاست. معماری کلان شبکه ققنوس در تصویر زیر نمایش دادهشده است.
بر اساس این معماری، برنامههای کاربردی که توسط میزبانها فراهم میگردد از طریق واسط سرویسها به هسته یک گره فعال ققنوس متصل میگردند. هستههای ققنوس که توسط میزبانها فراهم می گردد، در کنار هم شبکه ققنوس را تشکیل میدهند.
اجزای شبکه ققنوس
در ادامه اجزای تشکیلدهنده اکوسیستم ققنوس معرفیشده است. بدیهی است هر یک از میزبانها میتواند متناسب با مدل تجاری خود نسبت به فراهم آوردن این اجزا اقدام نماید و یا اجزا و سرویس جدیدی را به کاربران پیشنهاد نماید.
۱- سرویس هسته(Core Service)
سرویس هسته، ستون فقرات شبکه ققنوس است و وظایف اصلی آن مدیریت یک نسخه محلی از دفتر کل، ارتباط با سایر گرهها و همسان ماندن با سایر گرههای شبکه است؛ البته بهصورت اختیاری نیز میتواند ایجاد بایگانی نموده و در اجماع جهت ثبت تراکنشها نیز شرکت نماید.
اجزای اصلی سرویس هسته به شرح ذیل است:
- KCP: پروتکل اجماع ققنوس مبتنی بر الگوریتم اجماع استلار (SCP) است.
- Herder: واسط بین الگوریتم اجماع ققنوس و سایر سرویسهای هسته است.
- Overlay: برقراری ارتباط با سایر گرهها، تبادل اطلاعات با آنها و اطلاع از آخرین وضعیت آنها را بر عهده دارد.
- Ledger: مجموعه تراکنشها را جهت ارائه به الگوریتم اجماع فراهم میکند. همچنین رخدادهای سایر اجزا را به شبکه منتقل میکند. این عنصر وظیفه درج بسته تراکنشها را در لیست ذخیره و بایگانی را نیز عهدهدار است.
- History: انتشار تراکنشها و دفاتر کل را به یک منبع ذخیره خارج از شبکه عهدهدار است.
- Bucket List: منبع ذخیرهسازی برای دفاتر تأییدشده است. وظیفه مدیریت دیسکها و کنترل هش آنها، جهت ممانعت از تکرار را نیز بر عهده دارد.
- Transaction: پیادهسازی انواع ساختارهای تراکنش را بر عهده دارد.
۲- سرویس واسط(Interface Service)
سرویس واسط، مجموعه APIهای لازم جهت اتصال نرمافزارهای مشتری به شبکه ققنوس را فراهم میآورد. سرویس واسط مابین سرویسهای هسته و برنامههای کاربردی قرارگرفته و شرایط توسعه نرمافزارهای مبتنی بر ققنوس را تسهیل مینماید.
۳- سرویس پل(Bridge Service)
سرویس پل، یک واسط تسهیل شده جهت پیادهسازی سرویس انطباق است. در سرویس پل، کلیدهای مرتبط با حسابهای یک کسبوکار و یا یک برنامه کاربردی ذخیره میگردد و درصورتیکه سرویس انطباق شرایط انجام تراکنش را مجاز بداند انجام تراکنش از طریق سرویس پل بهصورت خودکار صورت میپذیرد.
۴- سرویس انطباق(Compliance Service)
مسئولیت پیادهسازی انطباق با شرایط رگولاتورهای حاکم بر یک میزبان در این سرویس فراهم میگردد. ازجمله الزاماتی که میتواند در این سرویس پیادهسازی گردد کنترلهای مرتبط با مبارزه با پولشویی است. در حقیقت این سرویس از طریق ایجاد تعامل بین دو میزبان، شرایط قانونی انجام یک تراکنش را بررسی نموده و در صورت احراز شرایط، مجوز صدور تراکنش صادر خواهد شد.
۳- سرویس آدرسدهی فدراسیونی (Federation Service)
این سرویس امکان تبدیل آدرسهای قابلفهم برای انسان را به آدرسهای واقعی شبکه ققنوس فراهم میآورد. ساختار آدرسهای قابلفهم بهصورت user*domainname.com خواهد بود که در این سرویس به آدرسهای متناظر با زوجکلید تبدیل خواهد شد.
۴- سرویس بایگانی(Archiving Service)
این سرویس ابزار کوچکی است که با سرویس بایگانی هسته بهصورت مستقیم در ارتباط است و صرفاً جهت ساخت بایگانی غیر متصل به شبکه کاربرد خواهد داشت.
سپیدنامه ققنوس به همت اعضای بنیاد ققنوس در کمیتههای فنی، حقوقی و اقتصادی برای اولین بار در بهمن ماه ۱۳۹۷ منتشر گردید.
سپیدنامه شامل معرفی بنیاد ققنوس، شبکه ققنوس و دارایی پایه پیمان در آن است. در این سند چالشها و مسائل اصلی مانند نقدشوندگی داراییهای منجمد، حفظ ارزش سرمایههای خرد، افزایش شفافیت، تغییرناپذیری و در دسترس بودن و تسهیل روند احراز هویت مشتری بررسی و شبکه ققنوس به عنوان یک پلتفرم چابک و منعطف با قابلیت عرضه انواع توکن برای حل این مسائل ، معرفی شدهاست.
پس از آن اجزای فنی شبکه ققنوس، مشخصات اقتصادی و مدل درآمدی اعضای شبکه، مشخصات و ساختار حقوقی و ضوابط بهرهبرداری، تدوین شده است.
این سپیدنامه در دسترس عموم قراردارد. ارسال نظرات عموم کاربران در wp@kuknos.org موجب دلگرمی اعضای بنیاد و رشد و پیشرفت شبکه ققنوس خواهدبود.
آدرس دهی در ققنوس
در شبکه ققنوس هر میزبان دارای یک سرویس آدرسدهی است که در آن آدرسهای عمومی حسابهای تمامی کاربران و آدرس ققنوسی آنها در قالب “دامنه میزبان * نام کاربر” قراردارد. این سرویس قابلیت تبدیل آدرس عمومی و آدرس ققنوسی حسابها به یکدیگر را دارد. آدرس سرویس آدرسدهی هر میزبان در یک فایل toml ذخیره و به صورت امن و https ارائه میگردد. در واقع برای انجام هر تراکنش صحت وجود حساب، موجودی و اینکه کاربر در دامنه آن میزبان تنها یک حساب اصلی ققنوسی داشته باشد، از این طریق بررسی می گردد.