Bitcoin Forum

Local => العربية (Arabic) => Topic started by: OmegaStarScream on May 01, 2020, 07:42:32 PM



Title: انشاء سيرفير خاص لمحفظة Electrum 👨‍💻
Post by: OmegaStarScream on May 01, 2020, 07:42:32 PM
السلام عليكم رحمة الله تعالى و بركاته

عند اتصالك بسيرفر ما في محفظة الكتروم, فأنت تمنح  مالك السيرفير القدرة على جمع بعض المعلومات:

- عنوان ال IP الخاص بك
- رصيدك الاجمالي
- عناوين البيتكوين الخاصك بك (العناوين التي قمت بانشاءها فقط)
- معاملاتك (المرسلة و المستقبلة)

(و بناءًا على ذلك، ارتأيت انه سوف يكون من المفيد انشاء موضوع أشرح فيه كيفية انشاء سيرفير خاص (للمهتمين في الحصول على الخصوصية الكاملة


المستلزمات:

- Bitcoin Core (https://bitcoin.org/en/bitcoin-core/) (نسخة 0.17.0 أو أعلى)
- Electrum Personal Server (https://github.com/chris-belcher/electrum-personal-server/releases) (electrum-personal-server-windows-release-v0.2.0.zip)
- 10 دقائق من وقتك :P

بعد استخراج الملفات من .zip و تحميل البلوكشان كاملا نتبع الخطوات الاتية:

1. اتجه الى مجلد البيتكوين (https://i.imgur.com/JI5uNNl.png) الخاص بك (%appdata%/Bitcoin). أنشئ ملف bitcoin.conf ثم أضف:

Code:
server=1

بداخله.

2. قم بتشغيل ال bitcoind عن طريق CMD:

Code:
CD C:/Program files/Bitcoin/Daemon
bitcoind

2. افتح CMD (نافذة جديد) ثم قم بلصق الاتي (سوف نقوم بانشاء محفظة جديدة في bitcoin core عن طريق bitcoin-cli)

Code:
CD C:/Program files/Bitcoin/Daemon
bitcoin-cli createwallet electrumpersonal server true

صورة للتوضيح:

https://i.imgur.com/VTfSKOj.png


2. في مجلد electrum-personal-server-windows-release-v0.2.0 قم باعادة تسمية .config.ini_sample الى config.ini.
3. قم بتشغيل محفظة الكتروم الخاصة بك و توجه الى Wallet > Information، قم بنسخ ال Master public key (https://i.imgur.com/wNiaWCF.png) و الصاقه في ملف config.ini كما هو موضح في الصورة:

https://i.imgur.com/wNiaWCF.png

4. في نفس الملف، ابحث عن wallet_filename ثم قم بتغيير اسم المحفظة الى Electrumpersonalserver


https://i.imgur.com/upFTqcH.png

5. قم بسحب config.ini ثم اسقاطه على electrum-personal-server-rescan.bat. سوف تظهر لك نافذة، أدخل فيها تاريخ أول معاملة قمت بها في محفظتك (أقصد محفظة ال Electrum)

https://i.imgur.com/WhDmlM0.gif

https://i.imgur.com/zZIhvpf.png

6. بعد الانتهاء من عملية ال rescan قم بسحب config.ini مرة أخرى و لكن هذه المرة قم باسقاطه على electrum-personal-server.exe.

https://i.imgur.com/GO73ELj.png

وبهذا نكون قد انتهينا من تهيئة Electrum Personal Server الخاص بنا.

7. الان كل ماعلينا فعله هل الاتصال بالسيرفير من محفظة  Electrum.

ننقر باليمين على أيقونة الكتروم و نختار Properties. ثم نقوم بضافة --server localhost:50002:s الى Target كما توضحه الصورة:

https://i.imgur.com/ToP2O0E.png

الان, في كل مرة تقوم بتشغيل محفظتك، سوف يتم الاتصال بسيرفيرك الشخصي بطريقة اتوماتكية:

https://i.imgur.com/mmyEP34.png

لقد أخد هذا الشرح بعض الوقت لذلك أرجو أن يكون قد أنال اعجابكم و ان كانت لديكم أي استفسارات، فتفضلوا بها :)

المصادر التي قمت باستعمالها لانشاء الموضوع:

https://github.com/chris-belcher/electrum-personal-server
https://bitcointalk.org/index.php?topic=5154790.0
https://www.reddit.com/r/Electrum/comments/5z6iy6/what_exactly_is_an_electrum_server/


Title: Re: انشاء سيرفير خاص لمحفظة Electrum 👨‍💻
Post by: khaled0111 on May 01, 2020, 09:23:59 PM
شكرا اخي OSS على الشرح المفصل.
اود ان اضيف انك بالاتصال بسيرفرات الكتروم خارجية فانت بطريقة او باخرى تثق بهم و هو ما يمكن ان يسبب مشاكل اخرى غير مشاكل الخصوصية التي ذكرتها.
نتذكر الهجمة التي وقعت على مستخدمي النسخ القديمة من محفظة Electrum بارسال السيرفرات الخبيثة بارسال رسالة زائفة للمستعملين لتحميل نسخة ضارة و سرقة الارصدة.
كذلك يمكن للسيرفر الذي تتصل به ان يرفض نشر تحويلاتك و ارسالها للشبكة او لا يقوم بارسال اخر البلوكات لمحفظتك.

فيما يخص هذه النقطة:
عناوين البيتكوين الخاصك بك (بما فيها العناوين التي لم تقم باستعمالها)

في الواقع السيرفر يمكنه ان يعرف فقط العناوين التي ترسلها له و ليس كل العناوين التي يمكن ان تنتجها المحفظة. يعني بالمجمل العناوين التي تم انشاؤها و استعمالها فقط. العناوين التي لم يتم انشاؤها بعد لا يمكن للسيرفر معرفتها لان المحفظة لا ترسل المفتاح الممتد العام xPUB للسيرفر.


Title: Re: انشاء سيرفير خاص لمحفظة Electrum 👨‍💻
Post by: yhiaali3 on May 01, 2020, 11:24:46 PM
السلام عليكم رحمة الله تعالى و بركاته

عند اتصالك بسيرفر ما في محفظة الكتروم, فأنت تمنح  مالك السيرفير القدرة على جمع بعض المعلومات:

- عنوان ال IP الخاص بك
- رصيدك الاجمالي
- عناوين البيتكوين الخاصك بك (بما فيها العناوين التي لم تقم باستعمالها)
- معاملاتك (المرسلة و المستقبلة)

(و بناءًا على ذلك، ارتأيت انه سوف يكون من المفيد انشاء موضوع أشرح فيه كيفية انشاء سيرفير خاص (للمهتمين في الحصول على الخصوصية الكاملة


وعليكم السلام ورحمة الله وبركاته
كل الشكر لك أخي @OmegaStarScream على هذا الموضوع المميز والواضح أنه أخذ منك الكثيرمن الوقت والتعب لذلك الف شكر لك
في الحقيقة موضوعك ذكرني بمشكلة حدثت لي منذ فترة عندما كنت أحاول الإرسال من محفظة الكتريوم إلى إحدى المنصات وكانت تظهر رسالة خطأ في السيرفر
دخلت إلى الإعدادات وجربت أكثر من سيرفر حتى تم حل المشكلة في النهاية
وعندها خطر ببالي سؤال حول قائمة السيرفرات الموجودة بشكل مسبق على محفظة الكتريوم.
يعني لماذا كل هذه السيرفرات و لمن هذه السيرفرات وكيف تم اختيارها من قبل المحفظة، ما هي الفائدة التي تستفادها هذه السيرفرات؟ يعني هل يحصلون على عمولة من التحويلات أم ماذا؟
ولكن بصراحة لم أكن أعرف أنه يمكن صنع سيرفرك الخاص ولم أكن أعرف أن السيرفر يحصل على كل هذه المعلومات الخاصة بك!!!
 لذلك ألف شكر أخي على هذه الموضوع الجميل وأرجو أن يكون لديك إجابة على تساؤلاتي ومشكور سلفا.


Title: Re: انشاء سيرفير خاص لمحفظة Electrum 👨‍💻
Post by: 0x256 on May 01, 2020, 11:53:48 PM
الا يوجد حل لا يتطلب تحميل كامل بلوكشين البيتكوين ؟


Title: Re: انشاء سيرفير خاص لمحفظة Electrum 👨‍💻
Post by: khaled0111 on May 02, 2020, 01:18:25 AM
يعني لماذا كل هذه السيرفرات و لمن هذه السيرفرات
مثل تشغيل عقدة بيتكوين، اي شخص يمكنه القيام بذلك و لا يمكن معرفة العدد بشكل دقيق و الهدف الاساسي هو المساهمة في ابقاء الشبكة امنة.


Quote
كيف تم اختيارها من قبل المحفظة،
المحفظة تتصل بمجموعة من العناوين لسيرفرات معروفة و يتم اعطاؤها قائمة بعناوين سيرفرات اخرى و هو نفس الشيئ الذي تقوم به عقد البيتكوين للاتصال بالعقد الاخرى. نفس المبدأ الذي تعمل به تقريبا كل شبكات الند للند.

Quote
ما هي الفائدة التي تستفادها هذه السيرفرات؟ يعني هل يحصلون على عمولة من التحويلات أم ماذا؟ .
لا، لا يوجد اي ربح مادي مباشر من تشغيل عقدة بيتكوين او سيرفر الكتروم. هو تطوع بشكل اساسي.

الا يوجد حل لا يتطلب تحميل كامل بلوكشين البيتكوين ؟
للاسف لايوجد اي طريقة للقيام بذلك بدون تحميل كامل للبلوكتشاين.
الميزة الاساية في سيرفرات الكتروم الخاصة على عكس سيرفرات ElectrumX التي تستعملها محافظنا عادة، هي انه يمكن تشغيلها على pruned nodes مما يوفر المساحة على القرص الصلب بشكل كبير و يقلل من استهلاك موارد الجهاز الاخرى.
لكن لا بد من تحميل كامل البلوكتشاين على الاقل المرة الاولى.


Title: Re: انشاء سيرفير خاص لمحفظة Electrum 👨‍💻
Post by: mikeywith on May 02, 2020, 05:00:49 AM
في الواقع السيرفر يمكنه ان يعرف فقط العناوين التي ترسلها له و ليس كل العناوين التي يمكن ان تنتجها المحفظة.

اخ خالد اعتقد ان الاخ اوميقا يقصد العنوان المكونة حتى التي لم يتم استعمالها وليس العنواين التي "يمكن" تكوينه او انشائها في المستقبل, طبعا لان ذلك يحتاج ل seed الخاص بك, ,ولان تقريبا كل HD wallet تقوم ب generate لعنوان جديد بمجرد الارسال من العنوان الذي سبقه, سيكون هناك دائما عنوان معروف ولم يتم استعماله.

 موضوع رائع مشكور على الجهد


Title: Re: انشاء سيرفير خاص لمحفظة Electrum 👨‍💻
Post by: OmegaStarScream on May 02, 2020, 08:13:50 PM
في الواقع السيرفر يمكنه ان يعرف فقط العناوين التي ترسلها له و ليس كل العناوين التي يمكن ان تنتجها المحفظة. يعني بالمجمل العناوين التي تم انشاؤها و استعمالها فقط. العناوين التي لم يتم انشاؤها بعد لا يمكن للسيرفر معرفتها لان المحفظة لا ترسل المفتاح الممتد العام xPUB للسيرفر.

كما ذكر الأخ مايكي, فأنا كنت أشير للعناوين الموجودة في 'Addresses (https://i.imgur.com/s9ZG8OE.png)' (يعني العناوين التي تم انشاؤها فقط). لكن مشكور على الملاحظة, سوف اقم باضافتها للمشاركة الأصلية

لكن لا أعتقد أن الأمر منحصر بالعناوين المستعملة فقط كما ذكرت. لأنك عند الاتصال بسيرفر ما, يتم ارسال كل العناوين (المنشأة) للتحقق من أرصدتها..لا؟

ما هي الفائدة التي تستفادها هذه السيرفرات؟ يعني هل يحصلون على عمولة من التحويلات أم ماذا؟ .
لا، لا يوجد اي ربح مادي مباشر من تشغيل عقدة بيتكوين او سيرفر الكتروم. هو تطوع بشكل اساسي.

أود أيضا أن أضيف أن هذه السيرفرات عادة ما تضيف عناوين في ال Console حتى يتمكن مستخدموها من التبرع ان شاؤوا.

https://i.imgur.com/SsrC10m.png


الا يوجد حل لا يتطلب تحميل كامل بلوكشين البيتكوين ؟

كما ذكر الأخ خالد، يمكنك استخدام خاصية ال prune. في الخطوة الأولى, قم باضافة:

Code:
prune=2048

الى ملف bitcoin.conf.

 سوف يتم تحميل البلوكشاين كاملا، لكن لن تأخد البلوكات أكثر من 2 غيغا بايت من مساحة القرص الصلب (يعني عند تحميلك ل 2 غيغا بايت, سوف يتم محو بعض الملفات التي قمت بتحميلها ثم استئناف التحميل الى غاية الوصول الى 2gb مجددا و هكذا... حتى تنتهي من تحميل ال 256gb كاملة)


Title: Re: انشاء سيرفير خاص لمحفظة Electrum 👨‍💻
Post by: khaled0111 on May 02, 2020, 08:33:25 PM
في الواقع السيرفر يمكنه ان يعرف فقط العناوين التي ترسلها له و ليس كل العناوين التي يمكن ان تنتجها المحفظة. يعني بالمجمل العناوين التي تم انشاؤها و استعمالها فقط. العناوين التي لم يتم انشاؤها بعد لا يمكن للسيرفر معرفتها لان المحفظة لا ترسل المفتاح الممتد العام xPUB للسيرفر.

كما ذكر الأخ مايكي, فأنا كنت أشير للعناوين الموجودة في 'Addresses (https://i.imgur.com/s9ZG8OE.png)' (يعني العناوين التي تم انشاؤها فقط)

لكن لا أعتقد أن الأمر منحصر بالعناوين المستعملة فقط كما ذكرت. لأنك عند الاتصال بسيرفر ما, يتم ارسال كل العناوين (المنشأة) للتحقق من أرصدتها..لا؟

نعم اخي Omega ذلك ما قصدته. فقط اردت توضيح هذه النقطة حتى لا يقع اي لبس.
الامر منطقي فالمحفظة تقوم بارسال العناوين المنشأة للسيرفر للتحقق منها و يجب ارسالها كلها فالمحفظة لا تعرف اي العناوين تم استعمالها الا بالتثبت منها من خلال السيرفر. عادة عدد العناوين هو 20 و يمكن زيادة العدد من اعدادات المحفظة.

اردت توضيح هذه النقطة لسبب اخر و هي مشكلة يتعرض لها بعض المستخدمين. مثلا لنفترض انني انشأت 100 عنوان بمحفظة غير متصلة بالنت و قمت بارسال بعض البيتكوين للعنوان رقم 100. الان عند استرجاع المحفظة من جديد و ايصالها بالنت لن يظهر الرصيد الذي تم ارساله للعنوان رقم 100 لان المحفظة ستنشئ 20 عنوان فقط و تتصل بالسيرفرات للاستفسار عن حالتهم.
يعني انه يمكن انشاء عنوان و استعماله و لا يعلم السيرفر بوجوده.

للاسف اضطررت لحذف البلوكتشاين على جهازي و حجمها 180Gb (غير محدثة منذ فترة) بسبب اصابة الجهاز ببرنامج خبيث  :'(
ساحاول اعادة التنزيل من جديد و تطبيق الشرح.


Title: Re: انشاء سيرفير خاص لمحفظة Electrum 👨‍💻
Post by: Ulven on May 02, 2020, 10:03:11 PM
في الواقع السيرفر يمكنه ان يعرف فقط العناوين التي ترسلها له و ليس كل العناوين التي يمكن ان تنتجها المحفظة. يعني بالمجمل العناوين التي تم انشاؤها و استعمالها فقط. العناوين التي لم يتم انشاؤها بعد لا يمكن للسيرفر معرفتها لان المحفظة لا ترسل المفتاح الممتد العام xPUB للسيرفر.

كما ذكر الأخ مايكي, فأنا كنت أشير للعناوين الموجودة في 'Addresses (https://i.imgur.com/s9ZG8OE.png)' (يعني العناوين التي تم انشاؤها فقط)

لكن لا أعتقد أن الأمر منحصر بالعناوين المستعملة فقط كما ذكرت. لأنك عند الاتصال بسيرفر ما, يتم ارسال كل العناوين (المنشأة) للتحقق من أرصدتها..لا؟

نعم اخي Omega ذلك ما قصدته. فقط اردت توضيح هذه النقطة حتى لا يقع اي لبس.
الامر منطقي فالمحفظة تقوم بارسال العناوين المنشأة للسيرفر للتحقق منها و يجب ارسالها كلها فالمحفظة لا تعرف اي العناوين تم استعمالها الا بالتثبت منها من خلال السيرفر. عادة عدد العناوين هو 20 و يمكن زيادة العدد من اعدادات المحفظة.

اردت توضيح هذه النقطة لسبب اخر و هي مشكلة يتعرض لها بعض المستخدمين. مثلا لنفترض انني انشأت 100 عنوان بمحفظة غير متصلة بالنت و قمت بارسال بعض البيتكوين للعنوان رقم 100. الان عند استرجاع المحفظة من جديد و ايصالها بالنت لن يظهر الرصيد الذي تم ارساله للعنوان رقم 100 لان المحفظة ستنشئ 20 عنوان فقط و تتصل بالسيرفرات للاستفسار عن حالتهم.
يعني انه يمكن انشاء عنوان و استعماله و لا يعلم السيرفر بوجوده.

للاسف اضطررت لحذف البلوكتشاين على جهازي و حجمها 180Gb (غير محدثة منذ فترة) بسبب اصابة الجهاز ببرنامج خبيث  :'(
ساحاول اعادة التنزيل من جديد و تطبيق الشرح.


كما عودتنا أخي خالد رائع جدا على الإضافة و التلميحات في الحقيقة أحب أفكار الكاملة و المتكاملة لشروحات، نفس الشيء الذي حدث معي لقد تعرض جهازي للإتلاف، و محلات الصيانة في منطقتي مغلقة بسبب الوباء الفاشي، و لدي جهاز تاني أحاول تحميل البلوكتشاين إلا أن العملية لا تكتمل معي  بسبب النت الضعيف.
و أشكر الأخ أوميغا على الشرح الذي خطفه مني لقد كنت أعددت الشرح على جهازي المفقود و على ما يبدو كأن الأخ أوميغا كان على علم بذالك ليسرع في تقديم الموضوع🧐. و الأمر الذي أحاول الإشارة إليه أكثر و هو هل هناك حل للعناوين المنشئة بدون إتصال و عند الإتصال كيف يمكن إدراجها على السرفيرات و التحقيق منها؟


Title: Re: انشاء سيرفير خاص لمحفظة Electrum 👨‍💻
Post by: hugeblack on May 03, 2020, 09:07:00 AM
اريد ان اعرف اذا كان من الممكن تجاوز عقبة ال IP عن طريق VPN او اي طريقة آخرى ولكن هل من الممكن ان تكون هناك طريقة للتاكد من ان من يدير تلك الخوادم لن يقوم بالتحقق من بقية الاشياء؟ مثل رصيدك الاجمالي؟ عناوينك السابقة والمعاملات؟ اذا كان من الممكن ان تكون هناك طريقة للتاكد من ذلك فلا ارى مانعا ان يكون هناك سيرفر خاص بالقسم العربي وان نثق في احد الاعضاء انه لن يقوم بالتحقق من بقية الاشياء "بعد ارسال عنوان IP"

الهدف الاساسي من هذه الفكرة هو ايجاد سيرفر عربي اذا حدثت اي هجمات DDOS علي بقية السيرفرات


Title: Re: انشاء سيرفير خاص لمحفظة Electrum 👨‍💻
Post by: NotATether on May 03, 2020, 05:57:09 PM
أحسنت أخي OmegaStarScream للدرس الممتاز. لكن أعتقد أنك يجب أن تشرح ما هي السيرفير خاص لمحفظة الكتروم للذين لم يسمعوا به.

السيرفير خاص لمحفظة الكتروم هي سيرفير التي تحاكي بروتوكول سيرفير الكتروم بينما تشغل عقدة كاملة صالح لمستخدم واحد. تستخدم bitcoin core و الكتروم وأيضا electrum-personal-server (https://github.com/chris-belcher/electrum-personal-server).


Title: Re: انشاء سيرفير خاص لمحفظة Electrum 👨‍💻
Post by: OmegaStarScream on May 04, 2020, 06:33:50 PM
كما عودتنا أخي خالد رائع جدا على الإضافة و التلميحات في الحقيقة أحب أفكار الكاملة و المتكاملة لشروحات، نفس الشيء الذي حدث معي لقد تعرض جهازي للإتلاف، و محلات الصيانة في منطقتي مغلقة بسبب الوباء الفاشي، و لدي جهاز تاني أحاول تحميل البلوكتشاين إلا أن العملية لا تكتمل معي  بسبب النت الضعيف.
و أشكر الأخ أوميغا على الشرح الذي خطفه مني لقد كنت أعددت الشرح على جهازي المفقود و على ما يبدو كأن الأخ أوميغا كان على علم بذالك ليسرع في تقديم الموضوع🧐. و الأمر الذي أحاول الإشارة إليه أكثر و هو هل هناك حل للعناوين المنشئة بدون إتصال و عند الإتصال كيف يمكن إدراجها على السرفيرات و التحقيق منها؟


المشكل يكون فقط في حال قمت باسترجاع المحفظة عن طريق ال seed كما ذكر الأخ خالد .

 أما بالنسبة للحل، فكل ما عليك فعله هو زيادة حد الفجوة (ال gap limit) باستعمال ال console.

Code:
wallet.change_gap_limit(120)

120 يمثل عدد العناوين المنشأة (يعني 20 عنوان التي قامت المحفظة بانشاءها في البداية) + 100 (العناوين الجديدة )


اريد ان اعرف اذا كان من الممكن تجاوز عقبة ال IP عن طريق VPN او اي طريقة آخرى ولكن هل من الممكن ان تكون هناك طريقة للتاكد من ان من يدير تلك الخوادم لن يقوم بالتحقق من بقية الاشياء؟ مثل رصيدك الاجمالي؟ عناوينك السابقة والمعاملات؟ اذا كان من الممكن ان تكون هناك طريقة للتاكد من ذلك فلا ارى مانعا ان يكون هناك سيرفر خاص بالقسم العربي وان نثق في احد الاعضاء انه لن يقوم بالتحقق من بقية الاشياء "بعد ارسال عنوان IP"

الهدف الاساسي من هذه الفكرة هو ايجاد سيرفر عربي اذا حدثت اي هجمات DDOS علي بقية السيرفرات

يمكنك استعمال Tor او VPN لاخفاء ال IP الخاص بك لكن للأسف لا يوجد طريقة للتأكد ما اذا كان السيرفير يقوم بجمع و تخزين المعلومات أم لا..

أحسنت أخي OmegaStarScream للدرس الممتاز. لكن أعتقد أنك يجب أن تشرح ما هي السيرفير خاص لمحفظة الكتروم للذين لم يسمعوا به.

مشكور على الاقتراح. سوف أقوم بتحديث الموضوع قريبا :)