<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title> Mari Shtein</title>
        <link>https://paragraph.com/@marishtein</link>
        <description>Yes, a girl, but she earned it herself</description>
        <lastBuildDate>Mon, 31 Aug 2026 04:12:41 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title> Mari Shtein</title>
            <url>https://storage.googleapis.com/papyrus_images/ded6d69ee12ec6c568a307284f46279e2e90c8fb37781235e1a7423de974ab45.jpg</url>
            <link>https://paragraph.com/@marishtein</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Sıfır bilgi için pratik kullanım örnekleri]]></title>
            <link>https://paragraph.com/@marishtein/s-f-r-bilgi-i-in-pratik-kullan-m-rnekleri</link>
            <guid>Cnct3UXnoaVl3PME8Hxe</guid>
            <pubDate>Thu, 16 Mar 2023 10:03:58 GMT</pubDate>
            <description><![CDATA[Sorun Aleo, sıfır açıklamalı kriptografiyi kullanarak tamamen özel uygulamalar sunan ilk seviye 1 blok zinciridir. Aleo&apos;nun CEO&apos;su ve kurucusu Howard Wu, ”Aleo&apos;yu varsayılan olarak özel, açık kaynaklı ve internet için oluşturulmuş bir blockchain olarak tasarlayarak, Aleo&apos;nun blockchain&apos;in uygulanmasının eksikliklerini gidermek için benzersiz fırsatlara sahip olduğuna inanıyoruz" dedi. Geliştiriciler olmayanlar için bu oldukça zor ve anlaşılması zor olabilir. Peki bunl...]]></description>
            <content:encoded><![CDATA[<figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ee6a8990a597f0a05ed1a66dfc5964465108f865cd4e6862da7ffabd23e3df2e.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Sorun</p><p>Aleo, sıfır açıklamalı kriptografiyi kullanarak tamamen özel uygulamalar sunan ilk seviye 1 blok zinciridir. Aleo&apos;nun CEO&apos;su ve kurucusu Howard Wu, ”Aleo&apos;yu varsayılan olarak özel, açık kaynaklı ve internet için oluşturulmuş bir blockchain olarak tasarlayarak, Aleo&apos;nun blockchain&apos;in uygulanmasının eksikliklerini gidermek için benzersiz fırsatlara sahip olduğuna inanıyoruz&quot; dedi. Geliştiriciler olmayanlar için bu oldukça zor ve anlaşılması zor olabilir. Peki bunların hepsi ne anlama geliyor ve sıfır açıklamalı kriptografi neyi çözüyor?</p><br><p>Bitcoin veya Ethereum gibi blok zincir protokollerine atıfta bulunarak, genel nüfus genellikle onlara herhangi bir bilgiyi ve tüm bilgileri “gizleyen” “merkezi olmayan ağlar” olarak adlandırır. Popüler inanışın aksine, bu protokoller varsayılan olarak özel değildir ve hemen hemen tüm veriler (genel adresler ve işlem karmaları / kimlikleri dahil) saklanır, toplanır ve ilgili ağlarda tanımlanabilir. Esasen bu, işlem türünün, işlem tutarının ve işlem zaman damgalarının genel cüzdan adresine tam olarak bağlanabileceği anlamına gelir (Ethereum&apos;dan Block Explorer&apos;a bakın <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://etherscan.io">https://etherscan.io</a> /). Bu protokoller Web3 ekosisteminin gelişiminin bir parçası olarak önemli bir işlevi yerine getirse de, bu ağlarda gizlilik ve kişisel şeffaflık önerilmemektedir. Sıfır bilginin devreye girdiği yer burası.</p><br><p>Zero-Knowledge Adoption</p><p>Crypto in itself is a niche industry. If you compare it to the world of Web2, Web3 is still in its preliminary development stage (despite all the hype). Inside this niche Web3 industry are projects leveraging zero-knowledge cryptography, which today is a niche within a niche. But blockchain technology has gained tremendous traction due to the underlying issues it solves. Whether thats data storage and security, transactions processing and intermediaries, or improving financial access, billions of dollars have been invested into blockchain companies for these reasons.</p><br><p>Sıfır bilgi teknolojisi, kullanıcıların kişisel verileri üzerinde kontrol sahibi olmadan kişiselleştirilmiş web hizmetleri dünyasına erişmelerine izin verdiği için, blockchain ve Web3 için gizlilik ve güvenlik çözümlerinin geliştirilmesinin ön saflarında yer almıştır. Bunların hepsi cazip gelse de, teorik fikir ile gerçek uygulama arasında büyük bir fark var.</p><br><p>Bunun nedenlerinden biri, endüstrinin imalatçılara eğitim kaynakları sağlamadaki yetersizliğinden kaynaklanmaktadır. Aleo da dahil olmak üzere çoğu protokol, teknik belgeleri (bilgi sayfalarından sonra sayfalar) yayınlar, böylece herkes kendi başlarına eğitilebilir. Genellikle uzun, kafa karıştırıcıdırlar ve tam olarak anlamak için iyi bir matematik eğitimi gerektirirler. Bununla birlikte, sıfır bilgi düzeyine sahip pratik kullanım örnekleri bu eğitim engelini ortadan kaldırabilir ve sıfır bilgi düzeyine sahip uygulamaların günlük hayatımızda nasıl kullanılabileceğini gösterebilir.</p><br><p>Aleo, gerçek dünyadaki uygulamalar için gizlilik sorununu çözerse, bu nasıl çalışır? Blockchain&apos;i derinlemesine anlayan geliştiriciler veya entelektüel olmayanlar için, blockchain teknolojisinin günlük uygulamalara nasıl uygulanabileceğini açıklamak hala zor. Öyleyse, sorular ortaya çıkıyor: ZKP&apos;LER (sıfır ifşa kanıtı) Web3&apos;ün bir özelliği olarak gizlilik sağlıyorsa, gerçek uygulamaları nelerdir? Bu kullanım durumlarından bazılarına derinlemesine bakalım.</p><br><p>Geleneksel / Pratik kullanım durumları</p><p>Birçoğunun ilişkilendirebileceği bir örnek, bir kredi başvurusunda bulunmaktır. Borç konsolidasyonu kredisi, konut iyileştirme kredisi, tıbbi kredi veya düğün kredisi olsun, bu mali zorlukların üstesinden gelmek için varlıkların belgelerini sağlamanız gerekecektir. Bu dokümantasyonun bir kısmı şunları içerir:</p><br><p>Ehliyet, sosyal güvenlik kartı veya pasaport gibi kişisel belgeler</p><p>Gelir kanıtı, örneğin W-2, ödeme makbuzları veya dosyalanmış vergi beyannameleri</p><p>Şirket adı, yöneticinizin adı ve telefon numarası da dahil olmak üzere işveren bilgileri</p><p>İkametgahınızın kanıtı, örneğin adınızı ve adresinizi veya kira sözleşmenizi içeren bir fatura gibi</p><p>Buna ek olarak, çoğu borç verenin kredinizi ne kadar ödeyeceğinizi belirlemek için bir kredi kontrolü yapması gerekir. Bazı çevrimiçi borç verenler alternatif kredi verilerini incelemeye başlasa da, genellikle kredi puanınıza bakmaya devam ediyorlar. Bu finansal gereksinimler zorunlu olsa da, bazı verilerinizden ödün vereceklerdir. Yalnızca kredi puanınız, fatura ödemenizin ne kadar gerisinde kaldığınızı, geç ödemelerin görüntülendiği hesap sayısını ve faturaları güncel duruma getirip getirmediğinizi belirler. Örneğin, ipotek kredisi başvurusunu düşünürken ipotek borç verenlerinin hangi toplam varlıkları kullandığını görün:</p><br><p>Stocks, bonds, mutual funds, 401(K) and retirement accounts</p><p>Life insurance cash value</p><p>Other real estate or property</p><p>Does it seem reasonable that these third party lenders should have access to all of an individual’s current and past financial history? Institutions, enterprises, and individuals have to reveal this information at their expense without knowing how this information is used in the future. Zero-knowledge helps to solve this problem.</p><br><p>Let’s say that a loan creditor is able to verify your financial history (e.g. credit score, proof of residence, account payments, and real estate) without knowing any specific data about those assets. Aleo’s zero-knowledge applications would allow debtors to conceal their information using zero-knowledge proofs. At the same time, creditors are able to verify that an individual’s application meets the financial criterion without revealing any quantitative-specific information. This represents of a best-of-both worlds scenario that not only has many applications in traditional finance, but in the world of decentralized networks as well.</p><br><p>Web3 Use Cases</p><p>DAO&apos;LAR (merkezi olmayan özerk bir organizasyon) Web3 ekosistemlerinde son derece popülerdi. DAO&apos;YU, katılımcıları tarafından topluca sahip olunan ve işletilen internet tabanlı bir işletme olarak düşünün. Grubun onayı olmadan kimsenin erişemeyeceği yerleşik hazineleri vardır (onaylar oylama yoluyla yapılır). Bu nedenle DAO&apos;LAR tamamen özerk ve şeffaftır: akıllı sözleşmeler temel kurallar belirler, kararlaştırılan kararları yerine getirir ve herhangi bir zamanda teklif, oylama ve hatta kodun kendisi kamuya açık denetime tabi tutulabilir. Bununla birlikte, son zamanlarda DAO ile ilgili sorunlar ortaya çıktı.</p><br><p>Bir opsiyon, hisse senedi, opsiyon, vadeli işlem sözleşmeleri, türevleri veya menkul kıymet bazlı takaslarla işlem yapmak için, altta yatan varlığın fiyatını etkileyecek büyük bir bitmemiş işlemle ilgili halka açık olmayan bilgilerden kazanç elde etmek amacıyla yasaklanmış bir uygulamadır. Dao&apos;larla ilgili mevcut durumlarındaki sorun, hesap verilerinin veya potansiyel yatırım fiyat tekliflerinin gizliliğine uyulmamasıdır. Örneğin, Ethereum&apos;da madenciler (işlem ücretlerini ve madencilik ücretlerini toplayan madenciler) işlemleri halka açık bir şekilde blok zincirine eklerler. Böylece, madenciler blok zincirindeki tüm gelen işlemleri görebiliyorlar. Bu onlara “balinaları” (belirli bir kripto para biriminin büyük hacimlerine sahip olan bireyler veya işletmeler) veya blok zincirde konuşlandırılan çok sayıda kripto para birimini görme fırsatı verir. Bu madenciler, jetonları değiştirebilir, önce işlemlerini ekleyebilir ve gelecekteki işlemlerden kaynaklanabilecek fiyat dalgalanmalarını bilerek arbitrajdan yararlanabilirler. Bunu Defı&apos;nin içeriden öğrenenlerin ticareti olarak düşünün.</p><br><p>DAO’s need a privacy centric, auditable, and programmable base layer protocol for a community funding platform. No joint partnership, syndicate, or C-corp ever publicly displays their data or potential bid prices (without their choice) as this prevents being front-run on their bids or investments. Using a zero-knowledge stack, such as Aleo, will allow DAOs to fundraise privately, issue DAO assets (tokens or equivalent) privately, and manage a private DAO treasury, eliminating the problem of front running. It’s sounds elementary but miners would only have the ability to see the zero-knowledge proof, again not knowing what quantitative-specific data is encrypted in those proofs.</p><br><p>In Short</p><p>Sıfır açıklamalı kriptografi, kişisel verilerin gizliliği hakkındaki fikrimizi değiştirecek ve pastamızı almamıza ve onu da yememize izin verecektir. Dünyanın dört bir yanındaki daha fazla şirket ve birey bulut çözümleriyle entegre bir dünyaya taşındıkça, güvenlik ihlalleri daha kaçınılmaz hale geldikçe ve gizliliğin korunması için çözümlere duyulan ihtiyaç arttıkça. Aleo gibi sıfır bilgiye sahip uygulama platformları sayesinde kullanıcılar, hem Web2 ayarlarında hem de Web3 ayarlarında gizliliği ihlal etme korkusu olmadan kişiselleştirilmiş bir çevrimiçi deneyimin keyfini çıkarabilirler.</p>]]></content:encoded>
            <author>marishtein@newsletter.paragraph.com ( Mari Shtein)</author>
        </item>
        <item>
            <title><![CDATA[Арифметика с фиксированной запятой в языке программирования LEO на основе zkSNARK]]></title>
            <link>https://paragraph.com/@marishtein/leo-zksnark</link>
            <guid>CfCYEShkuf6LX0viYLjj</guid>
            <pubDate>Sun, 12 Mar 2023 14:04:36 GMT</pubDate>
            <description><![CDATA[Введение Системы, основанные на блокчейне, входят во многие сферы нашей жизни, в такие отрасли, как DeFi или игры. Однако многим современным блокчейнам не хватает конфиденциальности и масштабируемости, что ограничивает диапазон вариантов использования. Доказательства с нулевым разглашением и цепочки блоков, поддерживаемые доказательствами с нулевым разглашением, такими как Aleo, обещают обеспечить лучшую масштабируемость и гарантии конфиденциальности, а также включить новые приложения для бло...]]></description>
            <content:encoded><![CDATA[<figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/ebd7771a5e9ffbd1472332fe59e9de3523c7c31d5e7c234d35472b1535db7d6f.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Введение</p><br><p>Системы, основанные на блокчейне, входят во многие сферы нашей жизни, в такие отрасли, как DeFi или игры. Однако многим современным блокчейнам не хватает конфиденциальности и масштабируемости, что ограничивает диапазон вариантов использования. Доказательства с нулевым разглашением и цепочки блоков, поддерживаемые доказательствами с нулевым разглашением, такими как Aleo, обещают обеспечить лучшую масштабируемость и гарантии конфиденциальности, а также включить новые приложения для блокчейнов. Это включает в себя новые приложения DeFi, более сложные игры web3 или даже программы на основе искусственного интеллекта. Многие из этих приложений требуют представления широкого диапазона чисел, включая дробные числа. Aleo поставляется с языком программирования Leo, который значительно упрощает программирование программ, основанных на нулевых знаниях. Однако он поддерживает только числа на основе целых чисел. В этой статье мы анализируем структуру чисел с фиксированной запятой в zkSNARKs с использованием Leo, что позволяет нам также вычислять с использованием дробей для широкого спектра приложений.</p><br><p>Простая реализация чисел с фиксированной запятой</p><br><p>При реализации числовой записи с фиксированной запятой мы можем использовать целочисленный тип, предоставляемый языком Leo для переменной. Кроме того, мы внутренне указываем коэффициент масштабирования, который определяет цифры, зарезервированные для целой части слева от десятичной точки значения, а также определяет дробную часть справа от десятичной точки значения.</p><br><p>Предположим, мы хотим представить значение 1.55 как число с фиксированной запятой с точностью до двух цифр после запятой. Для этого мы можем ввести переменную i и присвоить ей значение 155, которое представляет собой значение 1,55, умноженное на коэффициент масштабирования 100:</p><br><p>пусть i: u32 = 155;</p><p>Теперь мы можем выполнять математические вычисления с этой переменной. Например, чтобы добавить 0,45, мы добавляем 45 (.45 * 100) в программный код, что приводит к значению переменной 200. При интерпретации выходных данных программы нам нужно разделить значение на коэффициент масштабирования 100, чтобы получить желаемую десятичную систему счисления - результат сложения равен 2 в десятичной системе счисления.</p><br><p>Аналогично, мы также можем выполнять умножения. При умножении на 2,50 в десятичной системе счисления мы умножаем на 250 в системе счисления с фиксированной запятой, а затем делим результат на коэффициент масштабирования 100. Например, 2*2,5=5 в десятичной системе счисления относится к 200*250/100=500 в системе счисления с фиксированной запятой. Опять же, при интерпретации результата вне системы счисления с фиксированной запятой нам нужно разделить число с фиксированной запятой 500 на коэффициент масштабирования 100, чтобы получить ожидаемый результат 5.</p><br><p>Для деления мы действуем аналогично умножению, но вместо деления умножаем на коэффициент масштабирования.</p><br><p>Например, 4,5/0,5 = 9 в десятичной системе счисления относится к 100*450/50 = 900 в системе счисления с фиксированной запятой. Деленный на коэффициент масштабирования, мы получаем ожидаемый результат 9.</p><br><p>Обобщение и вещи, которые следует учитывать</p><br><p>Как показано в приведенных выше примерах, коэффициент масштабирования определяет количество разрядов дробной части. Мы использовали коэффициент масштабирования 10 ^ n для n дробных цифр. Как правило, более высокий коэффициент масштабирования обеспечивает большую точность, однако мы должны иметь в виду допустимый диапазон значений для данного типа.</p><br><p>В приведенном выше примере использования u32 общий диапазон составляет от 0 до 232-1=4 294 967 295. Из-за бинарной природы типов общим понятием является использование масштабных коэффициентов S степеней двойки. Например, при использовании коэффициента масштабирования 2⁵=32 для дробной части используется 5 бит, а для целочисленной части остается только 27 бит. Таким образом, максимальное число для целой части равно 22⁷-1=134 217 727, а разрешение дробной части равно 1/2⁵= 1/32. Дробная часть может добавить 31/32 к максимальному целому числу, поэтому максимальное представимое значение лежит между 0 и 22⁷-1 + 31/32 = 134 217 727,969.</p><br><p>В то же время максимальная ошибка представления вычисляется как (1 / С) / 2, поэтому в этом примере она равна (1/2⁵) / 2 = 1/64 = 0,015625. Таким образом, больший коэффициент масштабирования позволяет нам иметь более точные представления дробных чисел, но уменьшает размер целой части и, следовательно, диапазон представимых значений.</p><br><p>Как мы видим, существует компромисс между диапазоном значений, которые мы можем хранить, и точностью чисел, которые мы представляем.</p><br><p>Особенно при умножении или делении мы можем столкнуться с переполнением. Например, предположим, что у нас есть коэффициент масштабирования 2⁵ = 32, и мы хотим умножить 21⁶ = 65536 на 2⁶ = 64. Приведенный ниже код пытается это сделать.</p><br><p>функция main() -&gt; u32 {</p><p>пусть s: u32 = 32;</p><p>пусть a: u32 = 65536 * с;</p><p>пусть b: u32 = 64 * с;</p><br><p>пусть результат: u32 = a * b / s;</p><br><p>возвращает результат;</p><p>}</p><p>Для обозначения с фиксированной точкой мы должны умножить оба числа на коэффициент масштабирования и фактически умножить 221 на 211, прежде чем делить с коэффициентом масштабирования 2⁵. Просто взглянув на инструкции, мы, таким образом, ожидаем, что код на выходе составит 22⁷.</p><br><p>Однако, когда мы смотрим на результат, мы получаем:</p><br><p>[регистры]</p><p>r0: u32 = 0;</p><p>Временный результат c * d равен 232, что просто выходит за пределы диапазона типа u32. Таким образом, мы фактически получили переполнение числа и получили неверный результат.</p><br><p>Итак, что мы можем с этим поделать? Мы могли бы использовать тип u64 вместо типа u32 для всех типов (переменные и выходные данные), которые могут хранить числа до 2⁶⁴-1. Таким образом, мы получаем ожидаемый результат 22⁷:</p><br><p>[регистры]</p><p>r0: u64 = 134217728;</p><p>Помните, что нам нужно снова разделить на коэффициент масштабирования, чтобы интерпретировать результат числа с фиксированной запятой в обычных терминах: 22⁷ / 2⁵ = 222, что является результатом вышеупомянутого вычисления 21⁶, умноженного на 2⁶.</p><br><p>Однако при использовании u64 размер схемы увеличился с 96 до 192 ограничений, фактически удвоившись в размере. Это может привести к увеличению затрат на проверку, особенно в сложных приложениях. Таким образом, альтернативой было бы уменьшить коэффициент масштабирования и тем самым потенциально снизить точность представления чисел.</p><br><p>При использовании 2⁴ в качестве коэффициента масштабирования вместо 2⁵ только для типов u32 мы получаем следующий результат:</p><br><p>[регистры]</p><p>r0: u32 = 67108864;</p><p>Этот результат равен 22⁶. Опять же, разделите его на коэффициент масштабирования 2⁴, и мы получим ожидаемый и правильный результат 222.</p><br><p>Код обычно также работает для отрицательных чисел. Однако нам нужно использовать целочисленные типы со знаком. Примите во внимание, что знаку нужен дополнительный бит, поэтому для i32 диапазон целочисленной части вычисляется как +- 231-1, что переводится в диапазон от -2147483648 до 2147483647.</p><br><p>Пример кода</p><br><p>Сложение двух чисел a и b в формате с фиксированной запятой:</p><br><p><code>функция add(a: u32, b: u32) -&gt; u32 {</code></p><p>пусть результат: u32 = a + b;</p><p>возвращает результат;</p><p>}</p><p>Умножение двух чисел a и b в формате с фиксированной запятой:</p><br><p><strong>функция умножения</strong>(a: u32, b: u32, s: u32) -&gt; u32 {</p><p>пусть результат: u32 = a * b / s;</p><p>возвращает результат;</p><p>}</p><p>Деление двух чисел a и b в формате с фиксированной запятой:</p><br><p><em>функция divide(a: u32, b: u32, s: u32) -&gt; u32 {</em></p><p><em>пусть результат: u32 = s * a / b;</em></p><p>возвращает результат;</p><p>}</p>]]></content:encoded>
            <author>marishtein@newsletter.paragraph.com ( Mari Shtein)</author>
        </item>
    </channel>
</rss>