Hamid list – Telegram
Hamid list
621 subscribers
165 photos
2 videos
30 files
991 links
(Bitcoin, Ethereum, DeFi, Finance, Computer science)

@newbateni
Download Telegram
Einsteineum
https://github.com/AntonOsika/gpt-engineer
حقیقتا پشمانم

توی سی ثانیه این ساخته شد 🔥
🔥1
Forwarded from 𝕾𝖎𝖓𝖆
آزمایشگاه بلاکچین نویان
https://www.aparat.com/v/9FgN0 دکتر فرخ لقا معظمی: مقدمه‌ای بر ریاضیات Zero-knowledge proof 🌐 Join us: @NoyanBlockchainLab
** پروتکل سیگما به بیان ساده تر :

گزیده ای که ارائه کردیم مفهوم پروتکل های سیگما را توضیح می دهد که معمولاً در رمزنگاری برای اثبات دانش یک راز بدون افشای خود راز استفاده می شود. در اینجا توضیح دقیق تری از ریاضیات پشت پروتکل های سیگما آورده شده است:

ابتدا اجازه دهید در مورد مسئله لگاریتم گسسته صحبت کنیم.

در یک گروه، اگر :
g^x = y، x
لگاریتم گسسته y نسبت به پایه g است. دشواری محاسبه لگاریتم های گسسته اساس بسیاری از سیستم های رمزنگاری است.

پروتکل سیگما خانواده ای از پروتکل های سه حرکتی با مرحله

* تعهد،
* چالش و
* پاسخ است.

در رمزنگاری، یک پروور می‌خواهد تأییدکننده را متقاعد کند که رازی را می‌داند.
تأیید کننده می خواهد مطمئن شود که اثبات کننده راز را می داند، بدون اینکه چیز دیگری در مورد راز بیاموزد.

فرمت یک پروتکل سیگما:

- تعهد: اثبات کننده تعهدی از راز آنها را برای تأیید کننده می فرستد.

- چالش: تأیید کننده یک چالش تصادفی را برای اثبات کننده ارسال می کند.

- پاسخ: اثبات کننده به چالش به گونه ای پاسخ می دهد که نشان دهد

آگاهی از راز در گزیده ای که ارائه کردیم، این پروتکل شامل اثبات دانش لگاریتم گسسته y1 با توجه به پایه g1 و لگاریتم گسسته مرتبط دیگری از y2 با توجه به پایه g2 است.
بیانیه رسمی که آنچه را که در این پروتکل اثبات می شود تعریف می کند:

PK\{(x):y_{1}=g_{1}^{{x}}\land y_{2}={(g_{2}^{a})}^{{x}}g_{2 }^{b}\}

این نماد اثبات دانشی را تعریف می‌کند که اثبات‌کننده یک x را می‌داند به طوری که:

y1 = g1^x و y2 = (g2^a)^x * g2^b.

برای اثبات این دانش، prover به یک مقدار تصادفی r متعهد می شود و تعهدات مربوط به این مقدار را با توجه به مبانی مربوطه محاسبه می کند.
سپس این تعهدات برای تایید کننده ارسال می شود. سپس تأیید کننده یک مقدار تصادفی c را تولید می کند و آن را به عنوان یک چالش به اثبات کننده می فرستد. اثبات‌کننده پاسخی را محاسبه می‌کند که چالش تأییدکننده را برآورده می‌کند و آن را به تأییدکننده می‌فرستد.
Prover این فرآیند را برای تعداد ثابتی از راندها تکرار می‌کند و اگر پاسخ‌ها در هر دور
ثابت باشد، تأییدکننده اثبات را می‌پذیرد. ویژگی کلیدی ریاضی که امنیت این پروتکل را تضمین می کند، سختی مسئله لگاریتم گسسته است.
اگر اثبات کننده بتواند دانش لگاریتم گسسته را بدون آشکار کردن مقدار خود x ثابت کند، به این معنی است که آنها از راز آگاهی دارند.
پروتکل‌های سیگما با استفاده از ویژگی‌های ریاضی گروه زیربنایی، همراه با تصادفی‌سازی و اثبات‌های دانش صفر به این امر دست می‌یابند.

به طور خلاصه، پروتکل‌های سیگما ابزار قدرتمندی در رمزنگاری مدرن هستند که بدون افشای اطلاعات حساس، اثبات دانش کارآمد و مطمئن را ممکن می‌سازد.
سینا نقشبندی - پایتون dev
👍3
Forwarded from Joran Honig
What do you all think abt: https://twitter.com/HatforceSec/status/1671758690808913922

I feel like the paper is a bit of a stretch, and am worried this will kick off an "I got audited by chat gpt" wave.
Unit 7: Transactions and Scripting

The bitcoin transaction noscript language, called Script, is a Forth-like reverse-polish notation stack-based execution language. If that sounds like gibberish, you probably haven't studied 1960s programming languages, but that's ok – we will explain it all in this chapter. Both the locking noscript placed on an UTXO and the unlocking noscript are written in this noscripting language. When a transaction is validated, the unlocking noscript in each input is executed alongside the corresponding locking noscript to see if it satisfies the spending condition.


https://learn.saylor.org/course/view.php?id=500&sectionid=19139
3
From now on, if you see a multisig unlocking noscript, you should expect to see an extra 0 in the beginning, whose only purpose is as a workaround to a bug that accidentally became a consensus rule.


https://learn.saylor.org/mod/book/view.php?id=36369&chapterid=18956
CREATE opcode == the address being keccak256(rlp([deployer_address, nonce]))
Hamid list
CREATE opcode == the address being keccak256(rlp([deployer_address, nonce]))
Fun fact:
init code does not effect contract address
👍1
how any one can spent in ethereum looks like

* @dev This method can only be called once.
* If a proxy was created without setting up, anyone can call setup and claim the proxy.