ما در حقیقت کاربران را نمیشماریم، بلکه تعداد درخواستهایی را میشماریم که کلاینتها بهطور دورهای برای بهروزرسانی فهرست رلههای خود به شاخهها ارسال میکنند، و از آنجا تعداد کاربران را بهطور غیرمستقیم تخمین میزنیم.
نه، ولی ما می توانیم ببینیم چه کسری از فهرستها آنها را گزارش کردهاند، و آنگاه میتوانیم تعداد کل را در شبکه را برونیابی کنیم.
ما این فرض را داریم که کلاینت بهطور متوسط روزانه ۱۰ درخواست اینچنینی را ثبت میکند.
یک کلاینت Tor که ۲۴/۷ متصل است حدود ۱۵ درخواست در روز ارسال میکند، اما همه کلاینتها ۲۴/۷ متصل نیستند، بنابراین ما عدد ۱۰ را برای متوسط هر کلاینت برگزیدیم.
ما درخواستهای شاخه را تقسیم بر ۱۰ میکنیم و نتیجه را بهعنوان تعداد کاربر در نظر میگیریم.
راه دیگری برای نگاه کردن به این موضوع این است که ما فرض کنیم که هر درخواست نمایانگر کلاینتی است که یکدهم روز، یعنی۲ ساعت و ۲۴ دقیقه، آنلاین میماند.
میانگین تعداد کاربران همزمان، از دادههای جمعآوریشده در طول یک روز تخمین زده میشود. ما نمیتوانیم بگوییم چند کاربر متمایز وجود دارد.
نه، رلههایی که این آمار را گزارش میکنند درخواستها را از کشورهای مبدا و در یک دوره 24 ساعته جمع میکنند.
جمعآوری آماری که برای تعداد کاربران در هر ساعت نیاز داریم پرجزئیات خواهد بود و ممکن است کاربران را در معرض خطر قرار دهد.
بدینسان ما آن کاربران را یک کاربر محسوب میکنیم. در واقع، ما کلاینتها را میشماریم، اما برای بیشتر افراد تصور کاربر قابلدرکتر است، برای همین است که میگوییم کاربر و نه کلاینت.
نه، چون آن کاربر فهرست رلههای خود را به اندازهٔ کاربری بهروزرسانی میکند که نشانی IP خود را در طول روز تغییر نمیدهد .
فهرستها نشانیهای IP را به کدهای کشور ترجمه کرده و این اعداد را در یک فرم تجمیعی گزارش میکنند. این یکی از دلایلی است که Tor با یک پایگاهدادهٔ GeoIP عرضه میشود.
تعداد کمی از پلها دادههایی در مورد انتقالها و نسخهٔ IP گزارش میکنند، و بهصورت پیشفرض ما فرض میکنیم درخواستها از پروتکل پیشفرض OR و IPv4 استفاده میکنند.
هنگامی که پلهای بیشتری این دادهها را گزارش کنند، اعداد دقیقتر خواهند شد.
رلهها و پلها برخی دادهها را در بازههای ۲۴-ساعتی گذشته گزارش میکنند که ممکن است در پایان روز به اتمام برسد.
و پس از اینکه چنین بازهای تمام شد رلهها و پلها ممکن است ۱۸ ساعت دیگر زمان ببرند تا دادهها را گزارش کنند.
ما دو روز آخر را از نمودارها کنار می گذاریم، چون میخواهیم از اینکه آخرین نقطهٔ داده در یک نمودار نشاندهندهٔ یک تغییر روند باشد جلوگیری کنیم که درواقع صرفاً اثر مصنوعی ناشی از الگوریتم است.
دلیل آن این است که ما زمانی تعداد کاربران را منتشر می کنیم که مطمئن باشیم که دیگر بهصورت قابلتوجهی تغییر نخواهند کرد.
اما همیشه این احتمال وجود دارد که یک فهرست چند ساعت پس از اطمینان کافی ما دادهها را گزارش کند، که این نمودار را اندکی تغییر میدهد.
ما آرشیوهای توصیفگرهای مربوط به پیش از این زمان را داریم، اما آن توصیفگرها همهٔ دادههایی را که ما برای تخمین تعداد کاربران استفاده میکنیم، در بر نداشتند.
لطفاً تاربال زیر را برای جزئیات بیشتر پیدا کنید:
Tarball
برای کاربران مستقیم، ما همهٔ شاخههایی که در رویکرد قدیمی در نظر نمیگرفتیم را لحاظ میکنیم.
ما از تاریخهایی استفاده میکنیم که فقط حاوی بایتهایی هستند مه نوشتهشدهاند تا به درخواستهای شاخه پاسخ دهند، که از استفاده تاریخهای بایت عمومی دقیقتر هستند.
اوه، این داستانی کاملاً متفاوت است. ما یک گزارش فنی ۱۳ صفحهای در توضیح دلایل کنارگذاری رهیافت قدیمی نوشتیم.
بهطور خلاصه: در رهیافت قدیمی چیز اشتباهی را اندازهگیری میکردیم، و حالا چیز درستی را اندازهگیری میکنیم.
ما یک سیستم تشخیص سانسور مبتنی بر ناهنجاری اجرا میکنیم که به تعداد کاربران در چندین روز نگاه میکند و تعداد کاربران را در روزهای آتی پیشبینی میکند.
اگر عدد واقعی بالاتر یا پایینتر باشد، این شاید امکان یک رویداد سانسور یا قطع سانسور را نشان دهد.
برای جزئیات بیشتر، گزارش فنی ما را ببینید.