جک دورسی نسخه بتای اپلیکیشنی را رونمایی کرده که میتواند بسیار متفاوت و انقلابی باشد. این اپلیکیشن که بیت چت (Bitchat) نام دارد، امکان ارسال و دریافت بیت کوین و گفتگو با دیگران را به صورت آفلاین و بدون نیاز به کانکشن اینترنت فراهم میکند. در این مطلب با این اپلیکیشن جدید، تکنولوژی به کار رفته در آن، قابلیتها، آسیب پذیریهای احتمالی و سایر ویژگیهای این اپلیکیشن آشنا میشوید.
نکات کلیدی
- بیت چت امکان انتقال پیام و بیت کوین را به صورت رمزنگاری شده و با استفاده از بلوتوث، بدون نیاز به اینترنت فراهم میکند.
- پیامها از طریق یک شبکه مِش بلوتوثی و بدون نیاز به وجود سرورهای مرکزی، حساب یا شناسههای دائمی انتقال پیدا میکنند.
- عملکرد این اپلیکیشن به سطح تراکم کاربران بستگی دارد و در حال حاضر برای نسخه بتای این اپلیکیشن هیچ تضمینی از نظر انتقال پیامها وجود ندارد.
- بیت چت شبیه به یک ولت یا ابزار ثبت نام کار نمیکند و تراکنشها تنها در صورتی قابل انجام هستند که در نهایت یکی از دستگاهها به اینترنت متصل شده و آنها را پخش کنند.
بیت چت چیست؟
بیت چت یک اپلیکیشن چت رمزنگاری شده آفلاین است که برای انتقال پیامها بدون نیاز به اینترنت، سرور، حساب، ایمیل یا شماره تلفن از شبکه سازی مش (mesh) بلوتوث استفاده میکند.
بیت چت در اصل از یک شبکه مش بلوتوث کم انرژی (BLE) استفاده میکند که بین دستگاهها برقرار میشود. هر گوشی که بیت چت را اجرا میکند، نقش یک کلاینت و یک نود انتقال دهنده را داشته و هر کدام از آنها این پیامها را انتقال میدهد تا برد انتقال پیامها از برد معمولی بلوتوث یعنی 30 متر فراتر برود.
در واقع، پیامهای کاربران از یک گوشی به گوشی دیگر انتقال داده میشوند تا به دیرترین گیرنده ممکن برسند. این طراحی میتواند به یکی از قدیمیترین انتقادات مطرح شده راجع به بیت کوین یعنی بروز مشکل در صورت قطع برق پاسخ دهد.
دورسی این سیستم را به چت رومهای قدیمی IRC تشبیه میکند اما با رمزنگاری مدرن و بدون نیاز به وجود سرورهای مرکزی. در این اپلیکیشن نیازی به ایجاد اکانت یا پوشش شبکه همراه ندارید.
بیت چت چطور کار میکند؟
پس از باز کردن اپلیکیشن یک شناسه موقت برای دستگاه شما ایجاد میشود (که برای حفاظت از حریم خصوصی، امکان تغییر آن در هر سشن وجود دارد). میتوانید به رومهای برچسب گذاری شده با هشتگ ملحق شده یا اینکه مستقیماً به دیگران پیام دهید.
تمامی پیامها با رمزنگاری سرتاسری حفاظت میشوند تا فقط گیرندههای مورد نظر امکان خواندن آنها را داشته باشند. مثلاً حتی اگر شخصی سیگنال بلوتوث را شنود کند، بدون در اختیار داشتن کلید رمزگشایی، امکان درک و تشخیص پیام را نخواهد داشت.
بیت چت یک قابلیت "ذخیره و فوروارد" هم برای پرداختن به مسئله دستگاههای آفلاین دارد. مثلاً اگر گوشی دوست شما خاموش یا خارج از محدوده باشد، پیامها روی یک نود نزدیک به آن کش شده و پس از آنلاین شدن کاربر، برای وی ارسال میشوند.
بیت چت قابلیت پشتیبانی از تراکنشهای بیت کوینی از پیش امضا شده را دارد اما تنها به صورت بستههای داده رمزنگاری شده. بیت چت تراکنشها را تولید یا امضاء نمیکند و آنها را روی شبکه بیت کوین پخش نمیکند. کاربران باید تراکنشها را با استفاده از یک ولت بیت کوینی مجزا ایجاد و امضاء کرده و سپس از بیت چت برای انتقال دادههای تراکنش امضاء شده از دستگاهی به دستگاه دیگر از طریق بلوتوث استفاده کنند.
تا زمانی که یک دستگاه متصل به اینترنت تراکنش را روی شبکه پخش نکرده و مم پول بیت کوین آن را قبول نکند، تراکنش نهایی نخواهد شد.
لازم به ذکر است که این پیامها فقط در حافظه دستگاه ذخیره میشوند (نه روی بستر ابر)، در نتیجه پس از تحویل یا انقضاء برای همیشه حذف میشوند. بنابراین، علیرغم جذابیت چنین قابلیتی برای کاربران حساس به حریم خصوصی، با استفاده از آن امکان بازیابی پیامهای قدیمی وجود ندارد.
این اپلیکیشن قابلیتهای مفید دیگری هم دارد. مثلاً میتوانید چتهای گروهی مهم و حساس را با رمز حفاظت کنید و نام این اتاقهای گفتگو هم نقش هشتگ دسترسی را دارند.
این اپلیکیشن از بیکنهای پخش و "هاب مش" موقت برای تشخیص دستگاههای اطراف و هماهنگ سازی ارسال پیام استفاده میکند. حتی یک حالت پنیک (panic mode) هم در این اپلیکیشن وجود دارد که با استفاده از آن میتوانید همه پیامها را به سرعت حذف کنید.
قابلیتهای پشت پرده در بیت چت
پروتکل مورد استفاده در بیت چت از یک فرمت باینری اختصاصی برای BLE استفاده میکند. در این روش از یک ساختار هدر فشرده سازی شده، deduplication پیام و تقسیم بندی استفاده میشود تا پی لودها به شکل کارآمد مدیریت شوند.
دستگاهها بیکنها را اسکن کرده و در فواصل منظم کانکشنهای رمزنگاری شده را برای مبادله پیامهای صف شده برقرار میکنند. هر کاربر با یک شناسه عمومی به دست آمده از کلید شناسایی میشود که برای پیشگیری از شناسایی، به شکل منظم تغییر میکند.
بیت چت برای مبادله کلیدهای رمزنگاری از X25519 و برای رمزنگاری پیامها از AES-GCM استفاده میکند. ابر دادههای پیام (مثل شناسه گیرنده و فرستنده) هم رمزنگاری میشوند و این یعنی تنها گیرنده مد نظر میتواند مشاهده کند که پیام از سمت چه شخصی ارسال شده است.
در مقاله سفید بیت چت اشاره شده که این اپلیکیشن از ترافیک ساختگی پشتیبانی میکند تا از حریم خصوصی کاربران حفاظت شود. این بستههای ساختگی شبیه پیامهای واقعی به نظر میرسند؛ در نتیجه تشخیص آنها از پیامهای اصلی سخت خواهد بود.
این اپلیکیشن پیامهای تحویل داده نشده را تا 12 ساعت یا بیشتر ذخیره میکند. پس از تحویل یا انقضاء، پیامها حذف میشوند. در این سیستم هیچ مکانیزم مسیریابی کلی وجود ندارد و این یعنی تحویل پیامها احتمالی بوده و بستگی به تراکم و حرکت نودها دارد.
یکی دیگر از جنبههای مهم، تأثیر اپلیکیشن روی چرخه باتری دستگاه است. در مقاله سفید بیت چت از این جهت به کاربران اطمینان داده شده و اعلام شده که این اپلیکیشن با پیاده سازی قابلیتهایی خاص، سطح مصرف انرژی باتری را کاهش میدهد. این اپلیکیشن از اجرای عملیات در پس زمینه و پیش زمینه هم در iOS و هم اندروید پشتیبانی میکند.
قابلیت/جنبه
|
توضیحات
|
نوع شبکه
|
شبکه مش بلوتوث کم مصرف
|
اینترنت مورد نیاز
|
ندارد؛ کاملاً آفلاین
|
حساب مورد نیاز
|
بدون نیاز به حساب، شماره تلفن یا شناسه شخصی
|
ذخیره پیام
|
ذخیره فقط روی دستگاه کاربر، به صورت موقت
|
رمزنگاری (خصوصی)
|
مبادله کلیدX25519 و AES-256-GCM
|
رمزنگاری (کانال)
|
اشتقاق رمز Argon2id و AES-256-GCM
|
اصالت پیام
|
امضای دیجیتال Ed25519
|
محرمانگی فوروارد
|
ایجاد جفت کلیدهای جدید در هر نشست
|
مسیریابی پیام
|
مبتنی بر TTL (حداکثر 7 هاپ)
|
محدوده عملکرد (فعلی)
|
حدود 300 متر (از طریق شبکه مش)
|
فرمت پیام
|
پروتکل باینری فشرده با فیلد نوع 1 بایتی
|
بهینه سازی باتری
|
بهره وری پس زمینه، حالت انرژی تطبیق پذیر
|
قابلیتهای حریم خصوصی
|
ترافیک پوششی (پیامهای ساختگی)، حذف اضطراری (با سه tap)
|
چت گروهی
|
نشانه گذاری رومها با هشتگ، حفاظت پسورد اختیاری
|
تحویل آفلاین
|
مکانیزم ذخیره و هدایت (کش برای نودهای آفلاین)
|
پلتفرمهای پشتیبانی شده
|
iOS، macOS و اندروید
|
قابلیتهای تقویتی
|
پشتیبانی از وای فای دایرکت برای ارتقای برد و سرعت
|
معایب و آسیب پذیریهای بیت چت
مهمترین محدودیت بیت چت، وابستگی به مجاورت نودها است. بهترین حالت عملکرد بیت چت زمانی است که کاربران زیادی در اطراف باشند مثلاً در جشنوارهها یا راهپیماییها. اما در مناطق کم تراکم یا دور دست، ممکن است هیچ وقت پیامها منتقل نشوند. برد بلوتوث هم محدود است و حتی با وجود پشتیبانی از 7 هاپ، در نهایت برد مؤثر بسیار محدود خواهد بود.
مسئله بعدی، عملکرد مطمئن است. در حال حاضر تضمینی برای تحویل پیامها وجود ندارد. بنابراین وقتی تراکنش بیت کوین یا پیامی را ارسال میکنید، از رسیدن آن به مخاطب مطمئن نیستید مگر اینکه مخاطب از طریق یک کانال دیگر به شما اطلاع دهد. همچنین، عدم وجود منطقی مشخص برای مسیریابی هم میتواند باعث ایجاد سیلی از ترافیک در محیطهای پرترافیک شود؛ در نتیجه ریسک تأخیر در ارسال پیام یا از دست رفتن پیامها وجود دارد.
از نظر امنیتی، گرچه رمزنگاری به کار رفته در بیت چت قوی به نظر میرسد اما امکان ارسال پیامهای هرز یا مسدود شدن پیامها در بلوتوث هم وجود دارد. ممکن است هکرها بتوانند سیگنالهای بلوتوث را کاملاً مسدود کرده یا شبکه مش بلوتوثی را با پیامهای هرز اشغال کنند. همچنین، در نهایت لازم است که یک کاربر به اینترنت متصل شود تا امکان پخش تراکنشهای بیت کوینی فراهم شود.
به زبان ساده، بدون وجود ارتباط ماهوارهای یا اینترنتی، انتقال پیامها ناقص بوده و به شکل محلی باقی میماند.
مسئله مهم بعدی پهنای باند است – بلوتوث میتواند برای ارسال پیام متنی مناسب باشد اما برای پیامهای سنگین خیر.
در مجموع، میتوان گفت که بیت چت بیشتر میتواند نقش یک ابزار پشتیبان را در مواردی خاص داشته باشد و در حال حاضر نمیتوان این اپلیکیشن را یک جایگزین کامل و تمام عیار برای روشهای فعلی اجرای تراکنش یا ارسال پیام دانست.
آیا بیت چت میتواند کاربردهایی فراتر از کریپتو داشته باشد؟
گرچه قابلیت بیت چت برای اجرای آفلاین تراکنشهای بیت کوین توجه زیادی به خود جلب کرده اما قابلیت مهمتر آن، برقراری ارتباط به روش آفلاین است.
مثلاً در مواقعی مثل وقوع بلایای زیست محیطی یا قطع اینترنت، میتوان از این اپلیکیشن برای ارسال اطلاعات به دستگاههای اطراف بدون نیاز به وای فای یا نزدیکی به برجهای مخابرات استفاده کرد. در نتیجه این اپلیکیشن میتواند در مواقع اضطراری بسیار مفید باشد – مثلاً کاربران میتوانند مختصات خودشان یا اطلاعات مکانی را برای تیمهای امداد و نجات ارسال کنند.
طراحی بیت چت میتواند برای افرادی که به زیرساخت اینترنت قوی دسترسی ندارند هم مفید باشد. مثلاً مدارس، تیمهای میدانی یا امدادگران میتوانند از این اپلیکیشن برای انتقال پیام استفاده کنند تا نیازی به استفاده از شبکههای ضعیف یا پرهزینه نداشته باشند. بعلاوه کار با این اپلیکیشن نیازی به تجهیزات و امکانات خاصی ندارد.
در مجموع، Bitchat این قابلیت را دارد که در نهایت تبدیل به یک لایه ارتباطی امن برای شرایطی شود که شبکههای سنتی در آنها در دسترس نیستند.
سوالات پرتکرار
بیت چت چیست و چطور کار میکند؟
بیت چت یک اپلیکیشن پیام رسان نظیر به نظیر است که کاملاً به شکل آفلاین و با استفاده از بلوتوث کم مصرف کار میکند. بیت چت یک شبکه مش ایجاد میکند که هر دستگاه در آن نقش یک رله و تقویت کننده را داشته و پیامهای رمزنگاری شده را تا 7 هاپ منتقل میکند. در این سیستم هیچ سرور، اکانت یا کانکشن اینترنتی دخیل نیست و در آن از رمزنگاری قوی استفاده شده است.
آیا میتوان با استفاده از بیت چت، بدون اینترنت بیت کوین ارسال کرد؟
بله! بیت چت به کاربران امکان میدهد که تراکنشهای امضاء شده بیت کوین را از طریق بلوتوث به دستگاههای نزدیک موجود در شبکه ارسال کنند. پس از رسیدن پیام به یک گوشی متصل به اینترنت، امکان پخش پیام روی شبکه بیت کوین فراهم میشود. برای استفاده از این روش نیازی به وای فای یا اینترنت همراه وجود ندارد در نتیجه این روش میتواند برای مواقع اضطراری و مکانهایی با پوشش اینترنت ضعیف مفید باشد. لازم به ذکر است که تضمینی برای ارسال اطلاعات وجود ندارد، مگر اینکه در نهایت یکی از دستگاهها به اینترنت متصل شود.
آیا بیت چت برای ارسال پیام و تراکنشهایی بیت کوینی امن است؟
بیت چت از یک الگوریتم رمزنگاری سرتاسری استفاده میکند که در آن برای مبادله کلید از X25519 و برای حفظ محرمانگی و جامعیت پیامها از X25519 استفاده میشود. ابر دادههای پیام مثل شناسه فرستنده و گیرنده هم رمزنگاری میشوند. این اپلیکیشن از ترافیک ساختگی پشتیبانی میکند تا الگوهای ارتباطی واقعی قابل شناسایی نباشند.
بیت چت چه محدودیتهایی دارد؟
کارایی بیت چت بستگی به تراکم کاربران محلی دارد چون برای انتقال پیامها متکی بر بلوتوث و انتقال دستگاه به دستگاه است. در مناطقی با تراکم کم ممکن است پیامها به مقصد نرسند. همچنین، این اپلیکیشن قابلیت بهینه سازی مسیریابی و تأیید تحویل را ندارد که این ویژگیها میتوانند قابلیت اعتماد آن را کاهش دهند. با توجه به محدودیت پهنای باند بلوتوث، این اپلیکیشن تنها برای ارسال متن و دادههای سبک مناسب است. برای نهایی شدن تراکنش و ثبت آن روی زنجیره بلاک چین هم در نهایت نیاز به اتصال اینترنت وجود دارد.