【فيتاليك: جوهر قدرة ZK-Provers على تحقيق حسابات فعالة هو عدم الحاجة إلى الالتزام بأي بيانات من الطبقات الوسطى】كتب فيتاليك بوتيرين "إذا كنت تتابع باستمرار “الاتجاهات في علم التشفير في مجال الأصول الرقمية”، فمن المحتمل أنك سمعت عن مثبتات ZK الفائقة السرعة: مثل استخدام حوالي 50 بطاقة GPU للاستهلاك لتحقيق إثباتات في الوقت الحقيقي لمثبت ZK-EVM على إيثروم L1؛ إثبات 2 مليون تجزئة من Poseidon في الثانية على أجهزة الكمبيوتر المحمولة العادية؛ ونظام zk-ML الذي يعمل على تحسين سرعة إثبات الاستدلال لنماذج اللغة الكبيرة (LLM).
في هذه المقالة ، سأشرح بالتفصيل مجموعة من البروتوكولات المستخدمة في أنظمة الإثبات عالية السرعة هذه: GKR. سأركز على تنفيذ GKR في إثبات تجزئة بوسيدون (وأيضًا حسابات أخرى ذات هيكل مشابه). إذا كنت تريد معرفة خلفية GKR في حساب الدوائر العامة ، يمكنك الرجوع إلى ملاحظات جاستن ثالر ومقالة لامبدا كلاس هذه.
ما هو GKR ولماذا هو سريع جدا؟
تخيل أن لديك حسابًا “كبيرًا في كلا البعدين”: يحتاج إلى معالجة عدد متوسط على الأقل من “الطبقات” (من الدرجة المنخفضة)، بينما يطبق نفس الدالة بشكل متكرر على كمية كبيرة من المدخلات. مثل هذا:
ثبت أن العديد من العمليات الحسابية الكبيرة التي قمنا بها تتبع هذا النمط. سيلاحظ مهندسو التشفير: أن العديد من مهام إثبات الكثافة الحسابية تتضمن كمية كبيرة من عمليات التجزئة، والبنية الداخلية لكل تجزئة هي بالضبط هذا النمط. وسيلاحظ باحثو الذكاء الاصطناعي: أن الشبكات العصبية (وحدات البناء الأساسية لـ LLM) تتبع أيضًا هذه البنية (حيث يمكن إثبات استنتاجات متعددة للرموز بشكل متوازي، وأيضًا لأن كل رمز يتكون من طبقات عصبية عنصرية وطبقات ضرب مصفوفات عالمية - على الرغم من أن عمليات المصفوفة لا تتوافق تمامًا مع بنية “استقلالية المدخلات المتقاطعة” في الصورة أعلاه، إلا أنه يمكن بسهولة تضمينها في نظام GKR).
GKR هو بروتوكول تشفير مصمم خصيصًا لهذا النموذج. سبب كفاءته هو أنه يتجنب الالتزام بجميع الطبقات الوسيطة: تحتاج فقط إلى الالتزام بالإدخال والإخراج. هنا “الالتزام” يعني وضع البيانات في نوع من هيكل البيانات المشفر (مثل KZG أو شجرة ميركل) بحيث يمكنك إثبات المحتوى المرتبط ببعض الاستعلامات حول تلك البيانات. أرخص طريقة للالتزام هي استخدام شجرة ميركل بعد الترميز (أي كما في STARK)، ولكن يتطلب أيضًا منك إجراء تجزئة من 4-16 بايت لكل بايت تم تقديمه - مما يعني أنك ستقوم بعدد كبير من عمليات الجمع والضرب، بينما قد يكون ما تحتاج إلى إثباته في الواقع هو مجرد عملية ضرب. يتجنب GKR هذه العمليات، باستثناء الخطوة الأولى والأخيرة.
من المهم ملاحظة أن GKR ليست “معرفة صفرية”: فهي تضمن فقط الاختصار، ولا توفر الخصوصية. إذا كنت بحاجة إلى خاصية المعرفة الصفرية، يمكنك تضمين إثبات GKR داخل ZK-SNARK أو ZK-STARK.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
فيتالك: تكمن النقطة الأساسية لتمكين ZK في القدرة على إجراء العمليات بكفاءة دون الحاجة إلى الالتزام بأي بيانات من الطبقات الوسيطة.
【فيتاليك: جوهر قدرة ZK-Provers على تحقيق حسابات فعالة هو عدم الحاجة إلى الالتزام بأي بيانات من الطبقات الوسطى】كتب فيتاليك بوتيرين "إذا كنت تتابع باستمرار “الاتجاهات في علم التشفير في مجال الأصول الرقمية”، فمن المحتمل أنك سمعت عن مثبتات ZK الفائقة السرعة: مثل استخدام حوالي 50 بطاقة GPU للاستهلاك لتحقيق إثباتات في الوقت الحقيقي لمثبت ZK-EVM على إيثروم L1؛ إثبات 2 مليون تجزئة من Poseidon في الثانية على أجهزة الكمبيوتر المحمولة العادية؛ ونظام zk-ML الذي يعمل على تحسين سرعة إثبات الاستدلال لنماذج اللغة الكبيرة (LLM). في هذه المقالة ، سأشرح بالتفصيل مجموعة من البروتوكولات المستخدمة في أنظمة الإثبات عالية السرعة هذه: GKR. سأركز على تنفيذ GKR في إثبات تجزئة بوسيدون (وأيضًا حسابات أخرى ذات هيكل مشابه). إذا كنت تريد معرفة خلفية GKR في حساب الدوائر العامة ، يمكنك الرجوع إلى ملاحظات جاستن ثالر ومقالة لامبدا كلاس هذه. ما هو GKR ولماذا هو سريع جدا؟ تخيل أن لديك حسابًا “كبيرًا في كلا البعدين”: يحتاج إلى معالجة عدد متوسط على الأقل من “الطبقات” (من الدرجة المنخفضة)، بينما يطبق نفس الدالة بشكل متكرر على كمية كبيرة من المدخلات. مثل هذا: ثبت أن العديد من العمليات الحسابية الكبيرة التي قمنا بها تتبع هذا النمط. سيلاحظ مهندسو التشفير: أن العديد من مهام إثبات الكثافة الحسابية تتضمن كمية كبيرة من عمليات التجزئة، والبنية الداخلية لكل تجزئة هي بالضبط هذا النمط. وسيلاحظ باحثو الذكاء الاصطناعي: أن الشبكات العصبية (وحدات البناء الأساسية لـ LLM) تتبع أيضًا هذه البنية (حيث يمكن إثبات استنتاجات متعددة للرموز بشكل متوازي، وأيضًا لأن كل رمز يتكون من طبقات عصبية عنصرية وطبقات ضرب مصفوفات عالمية - على الرغم من أن عمليات المصفوفة لا تتوافق تمامًا مع بنية “استقلالية المدخلات المتقاطعة” في الصورة أعلاه، إلا أنه يمكن بسهولة تضمينها في نظام GKR). GKR هو بروتوكول تشفير مصمم خصيصًا لهذا النموذج. سبب كفاءته هو أنه يتجنب الالتزام بجميع الطبقات الوسيطة: تحتاج فقط إلى الالتزام بالإدخال والإخراج. هنا “الالتزام” يعني وضع البيانات في نوع من هيكل البيانات المشفر (مثل KZG أو شجرة ميركل) بحيث يمكنك إثبات المحتوى المرتبط ببعض الاستعلامات حول تلك البيانات. أرخص طريقة للالتزام هي استخدام شجرة ميركل بعد الترميز (أي كما في STARK)، ولكن يتطلب أيضًا منك إجراء تجزئة من 4-16 بايت لكل بايت تم تقديمه - مما يعني أنك ستقوم بعدد كبير من عمليات الجمع والضرب، بينما قد يكون ما تحتاج إلى إثباته في الواقع هو مجرد عملية ضرب. يتجنب GKR هذه العمليات، باستثناء الخطوة الأولى والأخيرة. من المهم ملاحظة أن GKR ليست “معرفة صفرية”: فهي تضمن فقط الاختصار، ولا توفر الخصوصية. إذا كنت بحاجة إلى خاصية المعرفة الصفرية، يمكنك تضمين إثبات GKR داخل ZK-SNARK أو ZK-STARK.