<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by CryptoPascal31 on Medium]]></title>
        <description><![CDATA[Stories by CryptoPascal31 on Medium]]></description>
        <link>https://medium.com/@crypto-pac?source=rss-263a966dc4d7------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*GCCNsHeFFpD7no8j--VZJA.jpeg</url>
            <title>Stories by CryptoPascal31 on Medium</title>
            <link>https://medium.com/@crypto-pac?source=rss-263a966dc4d7------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 01:53:40 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@crypto-pac/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Anatomy of a Kadena transaction]]></title>
            <link>https://medium.com/@crypto-pac/anatomy-of-a-kadena-transaction-b804a928e178?source=rss-263a966dc4d7------2</link>
            <guid isPermaLink="false">https://medium.com/p/b804a928e178</guid>
            <category><![CDATA[pact]]></category>
            <category><![CDATA[kadena]]></category>
            <dc:creator><![CDATA[CryptoPascal31]]></dc:creator>
            <pubDate>Sun, 16 Aug 2026 16:37:02 GMT</pubDate>
            <atom:updated>2026-08-16T16:37:02.156Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qXU86zJlxAF05AlqSqIx5Q.png" /></figure><p>One of the keys to understanding the strength of Kadena is to understand how transactions are made. Let’s dive into it.</p><p>This is not a technical article. We won’t go into details. This article is intended for all readers, from devs to simple users. I encourage everyone to read this article until the end.</p><p>Note that, unlike EVM transactions, there is no obscure binary data (call data). Everything is plain, human-readable documents.</p><h3>The payload</h3><p>The payload is the core of a transaction. The payload is a <strong>sealed</strong> JSON document containing several sections.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/596/1*Fw4nJfUOzgBuZjpuRKKa3Q.png" /></figure><h4>MetaData</h4><p>This section contains several fields required to handle the transaction properly (chain, build date, time-to-live, gas settings, …).</p><p>One of the most important fields is <strong>sender</strong>. This concept is different from the EVM sender (btw, there are various proposals to revamp it). Here, the sender is the account that wants to pay for gas. It can be the main user himself, or a third party, a gas station, …</p><h4>Code</h4><p>This is the central part of the transaction… The “Pact” code…</p><blockquote><em>Did you know that every transaction is always a piece of executed code?</em></blockquote><p>Even a simple KDA transfer is code calling the KDA (coin) contract.</p><p>But no worries… The code is not complex JS or Rust code understandable only by developer-trained brains.</p><p>The code is Pact. And good news: most of the time it’s relatively short and easy to understand, even for normal people. For example:</p><blockquote><em>(coin.transfer “bob” “alice” 3.0)</em></blockquote><p>This calls the transfer function of the coin contract (KDA) to transfer 3.0 KDA from “bob” to “alice”.</p><p>Of course, a single transaction can do several things and call several contracts or functions.</p><h4>Data</h4><p>This is an optional section. It allows attaching a JSON document to the transaction containing data. This data will then be handled by the Pact code. This helps maintain a better and cleaner separation between code and data…</p><p>Unlike an EVM transaction, where everything is mixed together and binary encoded.</p><h4>Signers</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BHZoQALUHY7Vmq7EdwPJ_w.png" /></figure><p>The signers section is probably the most important part of the payload. It contains the list of public keys that signed the transaction.</p><blockquote><em>Did you know that multi-signing is naturally handled by Kadena? Not a hack like in EVM transactions.</em></blockquote><p>But it becomes even more interesting when you see that each public key is associated with a capability. In plain English, we could call them <em>roles</em>. In short, each signer (user) can scope their signature to a list of allowed usages.</p><p>In the context of blockchain, this is very valuable. Usually, looking at the signers section is enough to understand what the transaction is doing…</p><p>And before signing, a user, even if they don’t understand the code, is able to know exactly what they are signing for. No blind signing, no blank checks with Kadena.</p><p>(You can refer to this article: <a href="https://medium.com/@crypto-pac/kadena-and-pact-in-regard-to-the-bybit-hack-6b6e93c1ee65?sharedUserId=crypto-pac">https://medium.com/@crypto-pac/kadena-and-pact-in-regard-to-the-bybit-hack-6b6e93c1ee65?sharedUserId=crypto-pac</a>)</p><h3>The transaction</h3><p>Before being submitted to a node, the payload must be packaged into a full transaction: a new higher-level JSON document.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/536/1*Xvwu6ZJdNXrA7uI4LXe7gQ.png" /></figure><h4>Payload</h4><p>The payload itself</p><h4>Hash</h4><p>This is the hash of the payload. In fact, this is the technical way to seal the payload, make it immutable, and guarantee that the accompanying data is related to <strong>this</strong> payload.</p><h4>Signatures</h4><p>While the payload contains the list of public keys (and associated capabilities), this section contains the digital signatures themselves (exactly one per signer). The network will verify that the signatures match the original sealed payload.</p><h4>Proof and Verifiers</h4><p>These sections are used only for special cases (cross-chain Pacts, Hyperlane).</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b804a928e178" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why Kadena could become the heaven of A2A AI]]></title>
            <link>https://medium.com/@crypto-pac/why-kadena-could-become-the-heaven-of-a2a-ai-15c6b4d5fbec?source=rss-263a966dc4d7------2</link>
            <guid isPermaLink="false">https://medium.com/p/15c6b4d5fbec</guid>
            <category><![CDATA[kadena]]></category>
            <category><![CDATA[pact]]></category>
            <dc:creator><![CDATA[CryptoPascal31]]></dc:creator>
            <pubDate>Tue, 03 Mar 2026 13:04:13 GMT</pubDate>
            <atom:updated>2026-03-03T13:04:13.164Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*zAmBevvMr0vT2auFIOJRcw.png" /></figure><h3>Agent to Agent AI</h3><p>After the recent AI boom, many actors are now looking ahead and trying to anticipate the next step.<br> Several major players, such as Google, are moving toward Agent-to-Agent (A2A) AI. The idea behind this concept is to provide more advanced services by allowing AI agents to cooperate and to offer (and charge for) services to one another.</p><p>However, AI agents will eventually need a registry where they can expose to the rest of the world:</p><ul><li>Their capabilities</li><li>- Their reputation-</li><li>Third-party verification</li><li>…</li></ul><h3>Why blockchains ?</h3><p>Because, ideally, these registries should be decentralized:</p><ul><li>Avoid a single operator (censorship, reliability issues, single point of failure)</li><li>Trustless (verifiable, immutable, no need to trust a single party)<br> Open interoperability</li><li>Political and economic resilience (avoid regulatory and multi-jurisdictional issues, manipulation as a consequence of electronic warfare, …)</li></ul><p>This is why Ethereum has proposed a new standard: ERC-8004: Trustless Agents.</p><h3>Why not Ethereum ?</h3><p>Many believe that in the future, the A2A AI market could skyrocket, leading to thousands — perhaps millions — of transactions.</p><p>Even though Vitalik Buterin recently announced continued work to further improve Ethereum’s scalability, at some point it may not be sufficient…</p><p>Remember what happened during the NFT frenzy in 2021. People were constantly complaining that DeFi had become unusable, as a simple token swap could sometimes cost more than $100 in gas fees.</p><p>Even if Ethereum were to double or triple its throughput, a future A2A AI frenzy could be a hundred times more intense than the NFT boom.</p><h3>Why not Base, or other L2s?</h3><p><em>“Base is the solution… for everything related to crypto…” — </em>lol — that’s what I’ve been reading every day for the past few months.</p><p>But perhaps some overlook what Base actually is. It is fully centralized: everything goes through the sequencer operated by Coinbase. That is precisely the opposite of the requirements for a universal A2A registry.</p><p>Other L2s are not much better. Vitalik Buterin recently pointed out that no L2 has yet achieved true decentralization.</p><h3>Why Kadena ?</h3><p>Kadena, using its X-chain architecture, is fully decentralized, and its scalability model aligns particularly well with AI requirements. Let me explain.</p><h4>Horizontal scalability</h4><p>Many have pointed out that Kadena’s multi-chain design is not ideally suited for multi-chain DApps (for example, sharing liquidity is not very straightforward). That’s true. But Kadena’s greatest strength lies in horizontal scalability.</p><ul><li>In practice, this means orthogonal DApps can run independently without interfering with one another, each living on its own chain.</li><li>At the same time, the braided chain design ensures that all chains are secured by the same PoW hash power. The strongest chains protect the weakest. In short, performing a 51% attack on a single chain would effectively require attacking the entire network.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/799/1*KK2DA0ky2Od0H0A7LLFtfA.png" /></figure><p>In the context of A2A AI — with potentially hundreds of transactions per second — it makes a lot of sense to dedicate an AI “side-chain,” secured by the PoW of the entire network, without disturbing other applications.</p><h4>Multi-Chain registries</h4><p>I mentioned hundreds of transactions per second — but what happens in the case of thousands, or tens of thousands? The answer is simple: add new AI chains.</p><p>By nature, A2A AI interactions can be split across multiple databases. As such, they can scale on Kadena while preserving global security properties.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gq9CyEkTRpZq380DBnxV-Q.png" /></figure><h4><strong>Multi-Chain registries — with a scalable payment layer</strong></h4><p>While the Ethereum standard is very lightweight and only handles minimal use cases, a Kadena-based standard could include many more features, supported by Pact.</p><p>One such feature could be a scalable payment layer. Since payment for a completed AI job does not require strict real-time settlement, it would make sense to use Pact proofs to process payments on general-purpose chains with liquidity. This would limit the need to maintain liquidity on AI-dedicated chains.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*PvqhN6mFW8NtAk8xo54FeA.png" /></figure><h3>And now, what are the next steps?</h3><p>Have you looked at the ERC-8004 standard? It’s quite minimal. I believe that with relatively little effort, it could be significantly enhanced on Kadena (including a connected orthogonal payment layer, on-chain JSON storage, …).</p><ul><li>The key is to clearly identify industry needs and determine how Pact can address them.</li><li>And define a sustainable business model for AI on Kadena, ensuring it benefits miners and token holders alike.</li><li><strong>Who wants to take up the challenge ?</strong></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=15c6b4d5fbec" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[An introduction to Kadena Block-chain Architecture and Layout]]></title>
            <link>https://medium.com/@crypto-pac/an-introduction-to-kadena-block-chain-architecture-and-layout-fb9a38c0296d?source=rss-263a966dc4d7------2</link>
            <guid isPermaLink="false">https://medium.com/p/fb9a38c0296d</guid>
            <category><![CDATA[pact]]></category>
            <category><![CDATA[kadena]]></category>
            <dc:creator><![CDATA[CryptoPascal31]]></dc:creator>
            <pubDate>Sat, 24 Jan 2026 10:00:48 GMT</pubDate>
            <atom:updated>2026-01-24T10:00:48.767Z</atom:updated>
            <content:encoded><![CDATA[<h3>Introduction</h3><p>This article is aimed at beginners. It presents the Kadena blockchain architecture from a user’s point of view. In my opinion, understanding it is not only necessary for all Kadena developers but also for regular users.</p><p>From my experience, too many people don’t fully understand what Pact Namespaces, Keysets, Modules, etc., mean in the context of Kadena. Even though, it’s relatively simple.</p><p>While EVM-based blockchains provide raw addressing spaces where you can only store words at a given address, Kadena, being a high-level and user-oriented blockchain, offers a more sophisticated architecture.</p><p><strong>Note to readers:</strong> To keep this article accessible, I have intentionally omitted most technical details.</p><h3>Who said multi-chains ?</h3><p>Let’s start from the beginning: Kadena is a multi-chain blockchain.</p><p>In short, this means that multiple chains run concurrently, <strong>each with its own set of data</strong>.</p><p>Although short messages (proofs) can be exchanged between chains, <strong>their data remain mostly independent</strong>. Each chain has its own life.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WXWSHIBpDC6SWKharlw3Kg.png" /></figure><h3>How is single chain organized?</h3><p>Each chain is based on a “file-system like” architecture, as shown below:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8T_g75Adl8FwPl4DeoF6sQ.png" /></figure><h3>Namespaces</h3><p>Namespaces can be seen as folders with “write-access restrictions” where you can store various data.</p><p>Depending on the access rules, namespaces can be classified as follows:</p><ul><li><strong>Public namespaces</strong> (e.g., free, user) → Everyone can write to them. Using theses is not recommended.</li><li><strong>Kadena team-owned namespaces</strong> (e.g., kip, util, …) → The Kadena team has restricted access using their own keys.</li><li><strong>Privately owned namespaces</strong>, usually in the form of n_xxxxxxxxxx → These are called &quot;principal namespaces.&quot; Anyone or any project can create their own and store data in them.</li></ul><p><strong>Note about the root namespace:</strong> Writing in the root namespace is always forbidden. Only essential modules required for bootstrapping and the proper functioning of the chain are located here. Among them: the coin module (i.e., KDA token, necessary for paying gas), the ns module (necessary for managing namespaces).</p><h4>What can contain a namespace ?</h4><ul><li>Named keysets</li><li>Modules</li></ul><p>So let’s go deeper…</p><h3>Named (defined) Keysets</h3><h4>What is Keyset in Kadena?</h4><ul><li>A keyset is a single public key</li><li>Or a set of several keys with associated rules for multi-sigs purpose.</li></ul><h4>And a named keyset ?</h4><p>Kadena allows you to register / publish / write a keyset with a user-friendly name in a namespace where you have write permission.</p><p>Then you can refer to it in later time for use in module code, guards, account management using its Fully Qualified Name: __namespace__.__keyset-name__ .</p><p>For example, the Brothers community keyset is: &quot;n_582fed11af00dc626812cd7890bb88e72067f28c.community&quot;</p><p>Even if this feature is not mandatory, it’s a nice and convenient to have this kind of mechanism embedded directly in the blockchain.</p><h3>Modules</h3><p>A module is a piece of code. This is what we call the Smart Contract itself.</p><p>The code is written using Pact, the language of the blockchain.. Without entering into the details, the code describes all operations and rules of the Smart Contract. A module can refer to others modules, or keysets.</p><h4>How does a module store data ?</h4><p>Unlike EVM blockchains where contracts store their data in a giant addressing space (like an unformatted hard disk), and requires a compiler to make things a little easier, a Pact module stores their data in an organized way: <strong>tables</strong>.</p><h3>Tables</h3><p>In Kadena and Pact, tables are a kind of “document oriented” databases, and are owned by a module. A module can own zero, one or several tables.</p><p>Tables are private, and it’s the job of the module code to define and bound read / write access and the associated conditions.</p><h4>What contain tables ?</h4><p>Tables contains structured data, similar to JSON documents.</p><p>Each document is called a Record and is referenced by a unique key.<br>Like JSON documents, Records can contain sub-objects, arrays , ….</p><p>It’s the role of the module to define records structure, create, update and read them..</p><h3>And now, what more ?</h3><p>Nothing…</p><p>You now know all the concept to explore, use, and work with Kadena.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fb9a38c0296d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Kadena LLC —  Are you kidding ?]]></title>
            <link>https://medium.com/@crypto-pac/kadena-llc-are-you-kidding-62387865db75?source=rss-263a966dc4d7------2</link>
            <guid isPermaLink="false">https://medium.com/p/62387865db75</guid>
            <category><![CDATA[kadena]]></category>
            <dc:creator><![CDATA[CryptoPascal31]]></dc:creator>
            <pubDate>Mon, 19 Jan 2026 17:38:23 GMT</pubDate>
            <atom:updated>2026-01-19T17:38:23.904Z</atom:updated>
            <content:encoded><![CDATA[<h3>Kadena LLC — Are you kidding ?</h3><p>After taking over the chain with a small team, we spent several weeks conducting a thorough review of Kadena: its past achievements, its current state, and its future prospects.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/400/1*ssgclRNH-fBbkipzebrFJw.png" /></figure><h3>Kadena in October 2025</h3><h4>From a Financial perspective</h4><p>Since Kadena LLC’s business was conducted on-chain, tracking the money is straightforward. One only needs the LLC’s Ethereum addresses and to follow USDC/T redemptions <em>(addresses and transaction IDs can be provided on request).</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/407/1*F4Vdg3mBXDIZvl4MixJwnw.png" /><figcaption>USD Redemption by Kadena LLC (0xca… and 0x87…)</figcaption></figure><p><strong>USD redemptions by Kadena LLC</strong> show that over the previous two years, Kadena LLC withdrew <strong>more than $32 million</strong> from KDA emission sales alone. This figure does <strong>not</strong> include USD loans or fees paid to market makers.</p><p>With the current community-led team, we estimate that the cost to keep the chain running is between <strong>$300k and $1M per year</strong>. Based on the revenue generated during those two years, Kadena could have been funded for <strong>at least 30 years</strong>.</p><p>In short: <strong>the chain was financially sustainable. Without any doubt.</strong></p><p><em>(Note: the situation is now very different, as the token price has collapsed from $0.30–0.40 to around $0.01. At that price, selling emissions via platforms makes no sense.)</em></p><h4>From a Technical perspective</h4><p>Over the past weeks, I spent countless hours diving into the codebase, both in Haskell and JavaScript.</p><p>The result is clear: the codebase is <strong>massive</strong>, representing thousands — if not millions — of hours of work. More importantly, it is <strong>high quality</strong>, with remarkably low technical debt. Anyone familiar with large-scale software development knows how rare this is.</p><p>Both the Haskell and JavaScript components were built with reliability in mind, using state-of-the-art development practices.</p><p>This is a testament to the skill of the Kadena developers.</p><p>And we all know it: <strong>Kadena’s technology remains excellent</strong>, and in several areas it is still ahead of most competitors.</p><p>The documentation is also relatively clean and well maintained<em> (thanks in particular to Carl and Lisa)</em></p><h4>From a human perspective</h4><p>Kadena had an outstanding development team: skilled, committed, and deeply invested in the project.</p><p>Albert, Chessai, Doug, Edmund, Emily, Javad, Jose, Lars, Robert…</p><p><em>(I’ll add: if any of you want to join the community initiative, you are more than welcome.)</em></p><p>I know each of them personally or through their GitHub contributions. Building such a team was one of Kadena’s greatest achievements — <strong>and then firing everyone</strong> is simply incomprehensible.</p><h4><strong>From an Eco-system perspective</strong></h4><p>The ecosystem has always been Kadena’s weak point.</p><p>Yet recently, things were finally moving in the right direction:<br> Kinesis Bridge, Bro Finance, SushiSwap, and more.</p><p>Momentum was building.</p><h3>So what happened</h3><p>The management team — namely <strong>Will Marino, Stuart Popejoy, and Anastasia Bez</strong> <em>(personal wallets addresses provided on request)</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/917/1*Lz3Me9IasbPaxUNpG1ENag.png" /></figure><p>managed to destroy in <strong>24 hours</strong> what took years to build:</p><ul><li>They pushed exchanges to delist KDA.</li><li>They instructed the Kinesis operator to shut down the bridge, freezing more than <strong>$60k of user assets</strong>, while ordering the operator not to reveal the keys or the source code.</li><li>They did everything possible to obstruct any takeover or recovery effort.</li></ul><p><strong>Given everything described above, their decision to abandon the project is, frankly, baffling.</strong></p><h3>And now</h3><p>Until early December, I remained in contact with the three managers, attempting to secure for the new Kadena Foundation:</p><ul><li>A way to bring the bridge back online (source code and private keys).</li><li>A way to recover part of the Kadena treasury on Ethereum and Kadena.</li></ul><p>According to blockchain explorers <em>(addresses available on request)</em>, the on-chain treasury amounts to approximately:</p><ul><li><strong>$1.46M in USDC/T and kB-USDC</strong></li><li><strong>1.63M KDA</strong></li></ul><p>Most of these funds were refunded by market makers — and therefore belong to the chain and to KDA holders.</p><p>Since early December, however, there has been <strong>radio silence</strong>. Emails go unanswered. Telegram DMs are ignored.</p><p>Meanwhile:</p><ul><li>Market makers are waiting for funds to restart operations.</li><li>Users are waiting for their assets to be released from the bridge.</li><li>The ecosystem is waiting for the Kinesis bridge to be revived.</li><li>Core development and infrastructure urgently need funding.</li></ul><h3>Are You Kidding?</h3><p>After all the money you made, you are willing to let the chain die ?</p><p>Do you truly not care about holders, users, and the dedicated people who are still trying — against all odds — to keep Kadena alive ?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=62387865db75" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Kadena — Introducing KIA: Kadena Info Access]]></title>
            <link>https://medium.com/@crypto-pac/kadena-introducing-kia-kadena-info-access-d3e17837cd87?source=rss-263a966dc4d7------2</link>
            <guid isPermaLink="false">https://medium.com/p/d3e17837cd87</guid>
            <dc:creator><![CDATA[CryptoPascal31]]></dc:creator>
            <pubDate>Mon, 01 Dec 2025 19:23:25 GMT</pubDate>
            <atom:updated>2025-12-01T19:23:25.441Z</atom:updated>
            <content:encoded><![CDATA[<h3>Kadena — Introducing KIA: Kadena Info Access</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/343/1*QmOTVvnzqO_75AbsraC3rA.png" /></figure><p>Until now, DIA (diadata.org) was providing price information to the chain through an Oracle contract.</p><p>There was a commercial agreement between DIA and Kadena LLC: probably for a lot of money. Now DIA halted. As such, some Wallets and Dapps got broken. Maybe some notice that Linx balance in USD wasn’t updated correctly.</p><h3>What is KIA ?</h3><p>From Smart contract Point of view, KIA is inspired by former DIA Smart Contract…</p><p>The Smart contract can be accessed:</p><ul><li><em>n_40c883decc192e1e3214898f04656b2e9ea7b74e.kia-oracle</em></li></ul><p>With an API similar to DIA:</p><blockquote><em>(kia-oracle </em>get-value symbol:string) -&gt; decimal</blockquote><p>Then the Smart contract is fed by newly developed a Python script.</p><h4><strong>Important note: The reliability and accuracy is not guaranteed. KIA should be only used for information purpose.</strong></h4><h3>What data are available ?</h3><p>After launch, the following data will be supported:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/815/1*6DmjDojN1JF4fhwGwyKWDw.png" /></figure><p>But in the future, many other data source could be added, depending on needs and requests. Feel free to submit an Issue on GitHub.</p><h3>When ?</h3><p>Right now. KIA is already working.</p><ul><li><a href="https://github.com/kda-community/kadena-info-access">https://github.com/kda-community/kadena-info-access</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d3e17837cd87" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Thank you]]></title>
            <link>https://medium.com/@crypto-pac/thank-you-c85296cab132?source=rss-263a966dc4d7------2</link>
            <guid isPermaLink="false">https://medium.com/p/c85296cab132</guid>
            <category><![CDATA[hard-fork]]></category>
            <category><![CDATA[kadena]]></category>
            <dc:creator><![CDATA[CryptoPascal31]]></dc:creator>
            <pubDate>Sun, 23 Nov 2025 16:46:31 GMT</pubDate>
            <atom:updated>2025-11-23T16:46:31.121Z</atom:updated>
            <content:encoded><![CDATA[<p>Kadena Community Fork</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/958/1*f2elxAzPegunJpJiKXgxfQ.png" /></figure><p>Usually, I only speak only about tech, but for once, let’s talk with my heart.</p><p>When we decided to fork, we estimated our success chances to 0.1% –5 %. We were supposed to break everything.</p><p>But unexpectedly, it worked… After things calmed down, and after going through every emotional state and moods over the last three weeks, I’m starting to understand how and why we made it …</p><h3><strong>Thank you</strong></h3><ul><li>Thank you to the core team… Especially Edmund, this guy is incredible ! We just start to build together.</li><li>Thank you to Dan Keller and the Flux team, who did and continue to provide a great help. Flux and Kadena are together building the future.</li><li>Thank you to Amir, and Jumbo, my two partners-in-crime since a long time.</li><li>Thank you to mining pools: PoolFlare and F2Pool</li><li>Thank you to the solo-miners who lend us their Hashrate</li><li>Thank you centralized exchanges: CoinMetro, Gate, and CoinEx. They never stopped to support us.</li><li>Thanks to all Dapps, that continued to operate in the storm, Mercatus, KdSwap, Bro-DEX, etc …</li><li>Thank you to the wallet who supported us: EckoWallet and Linx.</li><li>Thank you to the close community of Brothers, for continuous support and all provided help.. Some of them will probably take part of future team, and foundation.</li><li>Thank you to all the Kadena community.. You are awesome. I received so much support. Without it, I would have given up.</li></ul><p>Thank you to my family. My daughter and my wife (she didn’t ask for divorce)… And thank you to the all others community member’s family.</p><p><strong>If the fork project is successful, this is because all those people never failed, and always gave support, like a continuous chain.</strong></p><p>I would like to honor those who are no longer with us: Yusuf and Julia. We did that for you too.</p><h3>Not Thank you</h3><p>Not thank you to all the haters, who threats to sue the future foundation, and made complaints to exchanges and X just for the pleasure to make it fail.</p><p>Not thank you to actors who abandoned ship like rats. I hope you enjoy the blood-stained money from Kadena LLC<em> (note you have the right of reply in comments)</em> :</p><ul><li>Hackachain who closed the explorer service invoking high running costs <em>(while an individual of the community restored it for 40$ / month)</em></li><li>SushiSwap, who just closed their Kadena services… for an unknown reason</li><li>4PtO, who closed the Kinesis bridge, without announcement<em> (locking more than 60 k$ of funds belonging to users)</em></li></ul><h3>And now ?</h3><p>Everything settled down, network is stabilized, price is starting to recover (showing the trust of the community).</p><p>The foundation will be created and announced in the following days. We need to start to create a strong team. Everybody is welcome. All help will be appreciated.</p><p>Of course, all investors, and possible private funding opportunities are welcome too.</p><p>A new part of Kadena story just started for freedom, community, business, and more ..</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c85296cab132" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Kadena and PoW: Some thoughts about decentralization]]></title>
            <link>https://medium.com/@crypto-pac/kadena-and-pow-some-thoughts-about-decentralization-f55775400cb8?source=rss-263a966dc4d7------2</link>
            <guid isPermaLink="false">https://medium.com/p/f55775400cb8</guid>
            <category><![CDATA[bitmain]]></category>
            <category><![CDATA[kadena]]></category>
            <category><![CDATA[mining]]></category>
            <dc:creator><![CDATA[CryptoPascal31]]></dc:creator>
            <pubDate>Sun, 23 Nov 2025 15:34:11 GMT</pubDate>
            <atom:updated>2025-11-23T15:34:11.572Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*i0cK8sXsxdURrvFnhpTFAQ.png" /></figure><h3>PoW with Bitcoin =&gt; Decentralization doesn’t work</h3><p>The first chain to use Proof of Work for minting blocks was Bitcoin. The idea behind PoW was to decentralize the mining process and to have dozens or even hundreds of miners who would “collectively secure the network.”</p><p>What is the situation on BTC today? For small miners (and even many large ones), it’s almost impossible. A miner has to pay their electricity bill and needs a constant and predictable income. The variance is too high No miner wants to play the lottery and hope they might mine a single block over the course of a year.</p><p>That’s why, given the low number of blocks per day (144), it is almost impossible for many miners to participate without joining a mining pool.</p><p>And the consequence is clear: three mining pools control more than 50% of the Hashrate — and thus the network. How can that be called decentralization?</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/487/1*b_YDZVViWX4mjvMXbLANPA.png" /></figure><h3>PoW with Kadena =&gt; Is it better ?</h3><p>With 57,600 blocks per day, the situation should be much better. A solo miner with only 0.1% of the hashrate could expect to mine around 58 blocks per day on average — a steady income with limited variance. <strong>Solo-mining is definitively doable on Kadena for most.</strong></p><p>Most miners should therefore avoid mining pools and everything that comes with them:</p><ul><li>Fees</li><li>Lack of transparency</li></ul><p>But surprisingly, this is not what we observe. Most miners (if not all) still use mining pools… And there are only four pools mining KDA, with two of them having already announced that they are leaving the chain. As a result, Kadena’s hashrate is even more centralized than Bitcoin’s.</p><p>The Kadena network is effectively in the hands of no more than one or two people. <strong>This is a major issue </strong>!— and it becomes even more serious considering that, with the new on-chain voting system, miners will soon have significant decision-making power.</p><h3>What the reasons, and what could we do ?</h3><p><strong>What’s wrong with Kadena?</strong><br> Yes, I know — using a mining pool is convenient. It’s plug-and-play. For small miners, it can be justified, and in that case mining pools make sense.</p><p>But for large miners? I recently met people who had 5–10 PH/s of hardware and were <em>still</em> using a mining pool! And when I asked why, they answered that nobody ever told them how to mine on their own.</p><p>For some strange reason, over the past 2–3 years, the old LLC team did not encourage people to mine independently:</p><ul><li>No promotion of the compacting system, which reduces a node’s SSD requirements by a factor of 10.</li><li>No promotion of the self-mining tool (<em>chainweb-mining-client</em>). The binary isn’t even provided, meaning you need at least some familiarity with the Haskell ecosystem to get it running.</li><li>No documentation or tutorials explaining how to set up a mining node.</li><li>And no encouragement for self-mining at all — seriously, WTF?</li></ul><p>With the right documentation, setting up a mining node isn’t very complicated if you have basic Linux skills, and it carries no security drawbacks. Even a small mini-PC — the kind you can buy for $100 (plus Trump’s tariff for our friends in the US) — can do the job.</p><p><strong>So what should we do with the new community fork?</strong></p><ul><li>Provide clear, with public exposure, beginner-friendly documentation (“explain it to me like I’m 5”) for setting up a self-mining node.</li><li>Provide a free, well-supported service offering pre-compacted chain snapshots for download.</li><li>Provide a pinned, easy-to-find, pre-compiled (and possibly Dockerized) version of <em>chainweb-mining-client</em>.</li></ul><p><strong>My objective would be to reach at least 50% of Solo-Mining … At this point, we could definitively call Kadena is decentralized chain.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f55775400cb8" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Bro-DEX = Orderbook based DEX on Kadena and Pact — Part 2/ 2 — Scalability / Decoding]]></title>
            <link>https://medium.com/@crypto-pac/bro-dex-orderbook-based-dex-on-kadena-and-pact-part-2-2-scalability-decoding-25479babba4f?source=rss-263a966dc4d7------2</link>
            <guid isPermaLink="false">https://medium.com/p/25479babba4f</guid>
            <category><![CDATA[pact]]></category>
            <category><![CDATA[dex]]></category>
            <category><![CDATA[brothers]]></category>
            <category><![CDATA[kadena]]></category>
            <dc:creator><![CDATA[CryptoPascal31]]></dc:creator>
            <pubDate>Tue, 25 Mar 2025 17:47:50 GMT</pubDate>
            <atom:updated>2025-03-25T17:47:50.947Z</atom:updated>
            <content:encoded><![CDATA[<h3>Bro-DEX = Orderbook based DEX on Kadena and Pact — Part 2/ 2 — Scalability / Decoding</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ShtN89i0phKZVEkzCZq_1w.png" /></figure><h3>Introduction</h3><p>In the first part of this article, the concept of Bro-DEX was introduced, and readers are encouraged to read it.</p><p>Here, I will show how Pact and well-chosen data structures allowed us to successfully address the challenge of scalability. Then, we will move from theory to practice by examining and explaining a real Bro-DEX transaction.</p><p>https://dex.bro.pink</p><h3>Scalability and lists management</h3><p>A DEX should be able to handle millions of transactions, and the order book should support thousands of simultaneous live orders. Scalability is not just a performance concern; it is also a security issue. A non-scalable contract is vulnerable to Denial-of-Service (DoS) attacks.</p><p>Most EVM-based smart contracts and Kadena contracts require some form of backend or indexer for auxiliary functions like transaction history.</p><p>However, as we believe in fully decentralized and 100% available contracts, we implemented a fully on-chain architecture in Pact to achieve our scalability goals. Using multi-row Pact commands or storing data in Pact arrays being strictly avoided.</p><p>To meet the required functionality, the smart contract must manage several lists:</p><ul><li>Order books (bids and asks): Active orders.</li><li>Global and per-user swap history.</li><li>Per-user active orders.</li></ul><h4>History lists</h4><p>The two history lists are the easiest to handle because they:</p><ul><li>Elements are never removed.</li><li>Require only push (append) insertions and are sorted in chronological order.</li><li>Can be retrieved in parts, as users generally need only the most recent entries.</li></ul><p>For these reasons, we implemented them using a linked list. They are relatively easy to manage in Pact, as traversing the list can be efficiently done using the built-in <em>(fold)</em> and <em>(read)</em> functions.</p><h4>“Per user” active orders lists</h4><p>This data is essential, as it allows users to clearly track their current positions and locked funds. It has the following properties:</p><ul><li>Read/Write: Quick removal (e.g., when canceling an order) must be supported.</li><li>Push-only insertions (from the top).</li></ul><p>The requirement for quick removals led us to adopt a double-linked list. Similar to basic linked lists, Pact allows us to implement them seamlessly.</p><h4>The Order books lists</h4><p>This is the most complex part. An order book stores active orders on the DEX and must meet these requirements:</p><ul><li>Read/Write (Insertion &amp; Removal).</li><li>Maintain ordering.</li></ul><p><strong>The ordering property is critical</strong> because a taker must be able to quickly find the cheapest available order at mining time.</p><p><strong>— The Double Linked list solution</strong></p><p>Some well-known Ethereum smart contracts solve this issue by combining:</p><ol><li>Double-linked lists.</li><li>Off-chain pre-calculation.</li><li>A transaction “hint” to guide the insertion.</li><li>Final verification at mining time.</li></ol><p>While this approach works and is relatively easy to implement, it has major drawbacks:</p><ul><li>Requires a “smart frontend,” introducing scalability risks.</li><li>Prevents direct contract-to-contract calls (e.g., aggregators).</li><li>Opens the door to DoS attacks, including sandwich attacks.</li></ul><p><strong>— The Self-balancing Binary Search Tree solution</strong></p><p>To overcome the limitations of the linked list approach, we opted for a standard, well-known solution used in DBMSs and filesystems:<br> A self-balancing binary search tree (BST) provides log(N) complexity for insertions and removals in an ordered list.</p><p><a href="https://en.wikipedia.org/wiki/Self-balancing_binary_search_tree">https://en.wikipedia.org/wiki/Self-balancing_binary_search_tree</a></p><p>After experimentation, we found that a Red-Black Tree was the best choice. The challenge was to implement it in Pact:</p><ul><li>The algorithm itself is complex, and even the sharpest students may struggle to implement it.</li><li>However, Pact’s LISP-like functional paradigm makes things easier.</li><li>But since Pact does not support recursion, making tree-based algorithms work can be tricky.</li><li>Pact being non Turing complete, some adaptations are required, like strictly limiting the tree depth.</li></ul><p>Finally, we achieved an optimized Red-Black Tree implementation, with relatively good gas efficiency (thanks to Pact 5). Extensive testing was conducted using a Monte Carlo and white-box testing approach, giving us high confidence in the implementation’s safety and correctness.</p><p>GH repos: <a href="https://github.com/CryptoPascal31/pact_RB_tree/">https://github.com/CryptoPascal31/pact_RB_tree/</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iV2nyb2PTl_2WESVjcFsRA.png" /></figure><h3>An example: Anatomy of a real GTC transaction</h3><p>A Bro-DEX transaction may initially seem complicated, with potentially many transfers and atomic actions.</p><p>When it comes to transparency, any user should be able to decode and verify that a transaction worked as intended.</p><p>That’s why I propose to decode an example transaction, helping people better understand how it works. We will mainly focus on what matters for most users: funds transfer events.</p><p>Note: Amounts have been rounded to improve readability.</p><p>Transaction: <a href="https://explorer.chainweb.com/testnet/txdetail/udlPBTJ7VNhT7Olsjqg4p3XH2MdVIGjbjSxXJWR5dwc">https://explorer.chainweb.com/testnet/txdetail/udlPBTJ7VNhT7Olsjqg4p3XH2MdVIGjbjSxXJWR5dwc</a></p><p>For this example, the user wanted to <strong>buy 0.1 $BRO at a max price of 99.0 KDA / $BRO (GTC). </strong>On the orderbook, 2 previously posted orders could match its request:</p><ul><li>One at 0.982 KDA / $BRO for 0.01 $BRO</li><li>One at 0.983 KDA / $BRO for 0.01 $BRO</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ly2VynRfFu4kJOD8HkhsBQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1BbAJamuZL9BkcmEw8og9A.png" /></figure><p><strong>Step 1</strong>: The user calls the wrapper module and transfers the worst case amount to the wrapper, including worst case fee of 0.1% <strong>(0.1 * 99 ) * 1.001 = 99.099 $KDA</strong></p><p><em>The wrapper contract decides to take the two available orders.</em></p><p><strong>Step 2</strong>: The wrapper module calls the core module to take order A (id 182…67) at 0.982KDA /$BRO. It transfers the amount + Fees<strong> (0.01 * 982) * 1.001 = 0.983 KDA</strong></p><p><strong>Steps 3 / 4 </strong>: The core module pays the maker, and the fees</p><p><strong>Step 5</strong>: The core module pays the amount of the order: 0.1 $BRO to the user.</p><p><strong>Step 6</strong>: The wrapper module calls the core module to take order A (id 409…07) at 0.983KDA /$BRO. It transfers the amount + Fees<strong> (0.01 * 983) * 1.001 = 0.984 KDA</strong></p><p><strong>Steps 7 / 8</strong>: The core module pays the maker, and the fees</p><p><strong>Step 9</strong>: The core module pays the amount of the order: 0.1 $BRO to the user.</p><p><em>No orders are available on the shelf. The wrapper contract decides to post Bid order on the orderbook.</em></p><p><strong>Step 10</strong>: The wrapper module calls the core-module to create an order<em> (id 252…92). </em>It transfers the amount in KDA without fee <strong>0.99 * 0.8 = 7.92 KDA</strong>. <strong>The order is now ready to be taken by a seller at a later time.</strong></p><p><strong>Step 11</strong>: For 2 reasons, money have been saved:</p><ul><li>0.2 $BRO have been bought at a lower price than expected</li><li>an order of 0.8 $BRO has been published as a maker with 0 fee.</li></ul><p>As a consequence, the wrapper module refunds <strong>0.023 KDA</strong> to the user in the same transactions.</p><h3>Conclusion</h3><p>This article and Bro-DEX demonstrate that valuable and scalable smart contracts can be brought to Kadena.</p><p>While being strongly smart contract-oriented, Pact is versatile enough to enable the creation of distinctive and outstanding dApps. By carefully designing the architecture and data structures, writing clean, concise, and secure contracts becomes relatively straightforward… Especially in contrast to the EVM/Solidity nightmare…</p><p>So let’s trade on Bro-DeX !</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=25479babba4f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Bro-DEX = Orderbook based DEX on Kadena and Pact — Part 1 / 2 — Presentation, Architecture…]]></title>
            <link>https://medium.com/@crypto-pac/bro-dex-orderbook-based-dex-on-kadena-and-pact-part-1-2-presentation-architecture-edaa25a4b114?source=rss-263a966dc4d7------2</link>
            <guid isPermaLink="false">https://medium.com/p/edaa25a4b114</guid>
            <category><![CDATA[kadena]]></category>
            <category><![CDATA[pact]]></category>
            <category><![CDATA[brothers]]></category>
            <dc:creator><![CDATA[CryptoPascal31]]></dc:creator>
            <pubDate>Mon, 24 Mar 2025 10:42:11 GMT</pubDate>
            <atom:updated>2025-03-24T10:42:11.960Z</atom:updated>
            <content:encoded><![CDATA[<h3>Bro-DEX = Orderbook based DEX on Kadena and Pact — Part 1 / 2 — Presentation, Architecture, Security</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/524/1*R5B_9cfBbo9yncAdXWOlmA.jpeg" /></figure><h3>What is Bro-DEX ?</h3><p>Brother’s DAO has always aimed to innovate and showcase how Kadena and its smart contract language, Pact, are ideal for developing high-quality smart contracts.</p><p>The goal of Bro-DEX is to bring all the features of a traditional order book-based exchange (like those found on most CEXs) fully on-chain — 100% decentralized — while prioritizing scalability, security, and transparency.</p><p>Another key objective is to make the smart contract autonomous, ensuring that:</p><ul><li>It can be easily integrated with any “thin” frontend without requiring special off-chain processing.</li><li>It can be seamlessly called by other on-chain contracts (e.g., on-chain aggregators, etc.).</li></ul><p><strong>Bro-DEX is organized into trading pairs.</strong><br> For each pair, you can:</p><ol><li><strong>Publish orders</strong> at a given price (for buying or selling).</li><li><strong>Take published orders</strong>.</li><li><strong>Cancel orders</strong>.</li><li><strong>At any moment, view an overview of the pair’s state</strong>, including:</li></ol><ul><li>The order book.</li><li>Past orders (per account and per pair).</li><li>Active orders per account.</li></ul><p><strong>5. Use common limit trading strategies</strong>:</p><ul><li><strong>GTC (Good ’Til Canceled)</strong> → Executes all available “on-the-shelf” orders at a better price than your limit, then places any remaining amount as a new order.</li><li><strong>IOC (Immediate Or Cancel)</strong> → Executes all available “on-the-shelf” orders at a better price than your limit. Any unfilled portion is canceled.</li><li><strong>FOK (Fill or Kill)</strong> → Executes all available “on-the-shelf” orders at a better price than your limit. If the order can’t be fully executed, it is canceled entirely.</li><li><strong>Post-Only</strong> → Only places the order on the order book without executing it immediately.</li></ul><p>To incentive market makers, the fees are:</p><ul><li><strong>0 % for makers</strong></li><li><strong>0.1% for takers</strong></li></ul><p>The initial frontend is designed to be clear and uncluttered. Note that Bro-DEX is currently in a final phase on Testnet, and will be released very soon on Mainnet as a part of the BRO ecosystem: https://dex.bro.pink</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jjAw4QiHmf8gvC__Xx2V6A.png" /></figure><p><strong>Let’s see how Pact allows us to bring this to reality, and how we overcame the challenge.</strong></p><h3>Global architecture</h3><p>Each trading pair consists of three distinct modules, each playing a specific role in ensuring the system’s security.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/489/1*9-bMB1R6yP0jDI0EkoHlzQ.png" /></figure><h4><strong>The core module</strong></h4><p>This is the main module — and the only one — that guarantees the security, integrity, and consistency of the pair’s order book. All critical but fundamental actions are centralized here. The idea is to exclude all “helpers” (i.e., non-critical) features from this module.</p><h4><strong>The wrapper module</strong></h4><p>Its purpose is to convert high-level actions, such as <strong>“Buy X tokens at price Y with a GTC scheme,”</strong> into low-level calls to the core module (e.g., take order A, then order C, then order D, then create a new order in the order book).</p><p>Beyond that, it protects the user by ensuring that the best possible choices are made at execution time, mitigating risks of inconsistency (or last-second changes) between the frontend and the actual contract state.</p><p>Examples:</p><ul><li>Ensuring that the cheapest order is taken first.</li><li>Preventing the creation of a new order when a cheaper order already exists.</li></ul><h4><strong>The viewer module</strong></h4><p>A <strong>read-only</strong> module designed to facilitate easier access to the core module’s internal data. Its purpose is to be used by the frontend to retrieve data solely through local calls.</p><h3>Security and bugs mitigation</h3><p>Bro-DEX has been built with a strong focus on security, or at the very least, to mitigate the consequences of potential bugs.</p><h4>Pairs segregation</h4><p>While Pact provides the powerful <strong>“</strong>modrefs<strong>”</strong> feature and dynamic calls, we believe that modrefs are one of the main sources of bugs. That’s why, following an approach similar to Uniswap, each trading pair is implemented as a separate set of modules. This significantly reduces the attack surface by preventing any possibility of <strong>cross-pair re-entrancy attacks</strong>.</p><p>As a tradeoff, this makes pair creation and deployment more cumbersome — but it is well worth it.</p><h4>Pair architecture</h4><p>As presented in the architecture chapter, each pair is split into three contracts. This separation is driven by security requirements, with each contract having a specific responsibility:</p><ul><li><strong>Core:</strong> Ensures the security of the pair, orders, and funds.</li><li><strong>Wrapper:</strong> Ensures user security by mitigating most MEV attacks and other exploits based on chain/frontend inconsistencies.</li><li><strong>Viewer:</strong> Read-only module — no security implications.</li></ul><p>This design allows for a more efficient code review.</p><h4>Orders segregation, and funds management</h4><p>Pact, as a modern smart contract language, is not constrained by the outdated <strong>“one contract = one account”</strong> paradigm of EVM-based systems. Instead of having a single large bank account for a pair, each order has its own separate account, completely isolated from other orders within the same pair.</p><p>This design makes it significantly harder to launch attacks targeting the entire pair.</p><p>Technically, accounts are managed using <strong>capability guards (Caps Guards)</strong>, a feature of Pact that provides fine-grained control over when, where, and how funds can be accessed.</p><p>To mitigate the impact of potential bugs, the code responsible for fund management is <strong>minimal and isolated</strong> within a small, well-defined section of the Core contract. This makes it highly unlikely that an attacker could separate order execution from payment.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wXigXuFBPziZELxHnFzRIg.png" /></figure><h4>Code cleanless and simplicity</h4><p>Pact is a very expressive and high level language.</p><p>Even a relatively complex contract like Bro-DEX ends up in a very concise code (if correctly written), very easy to maintain, review and audit.</p><ul><li><strong>Core module</strong>: 400 lines of code (1/3 being comments)</li><li><strong>Wrapper module</strong>: 200 lines of code (1/3 being comments)</li></ul><h3>Conclusion</h3><p>In this article, after a brief introduction to Bro-DEX, we have seen that Pact is an ideal language for developing complex smart contracts and feature-rich DApps.</p><p>When <strong>properly used</strong> and combined with a <strong>well-designed architecture</strong>, Pact allows us to write smart contracts with a high level of security confidence, reducing the absolute necessity of costly audits.</p><p>In the next article, we will explore Bro-DEX’s scalability challenges in greater detail and analyze a sample transaction to demonstrate what really happens on-chain during contract execution.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=edaa25a4b114" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Kadena and Pact in regard to the Bybit hack]]></title>
            <link>https://medium.com/@crypto-pac/kadena-and-pact-in-regard-to-the-bybit-hack-6b6e93c1ee65?source=rss-263a966dc4d7------2</link>
            <guid isPermaLink="false">https://medium.com/p/6b6e93c1ee65</guid>
            <dc:creator><![CDATA[CryptoPascal31]]></dc:creator>
            <pubDate>Mon, 10 Mar 2025 08:33:48 GMT</pubDate>
            <atom:updated>2025-03-10T08:33:48.911Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HEljEosnGIqodf7OYp3QTQ.png" /></figure><p>Last month, Bybit cold wallet was hacked and more than 1B$ in ETH were drained from their wallet. But could this have happened on Kadena too ?</p><h3>What happened with Bybit</h3><p>You can find a lot of information about the hack on X or various websites.<br> But basically, the only thing to remember is that the Bybit team did everything right and the smart contracts did not exhibit any vulnerabilities. The hack was very difficult (if not impossible) to prevent…</p><p>It’s simply due to how the Ethereum EVM works — it is inherently unsafe or, at the very least, not well adapted to modern crypto threats.</p><h4>Some facts:</h4><ul><li>The EVM does not natively support multi-signature (MultiSig) accounts. Natively: An account === 1 single key. A basic transaction includes only a single signature (corresponding to the sender account).</li><li>The most usual way to have a MultiSig account is to deploy Gnosis’s smart contracts at the MultiSig account address. The Gnosis smart contract is a very complex piece of code, though thoroughly audited.</li><li>To use these complex smart contracts, it is almost mandatory to rely on the official frontend.</li><li>When using the frontend, users perform “blind signing” — they do not know exactly what they are signing. This is very often the case when interacting with EVM smart contracts because, for non-technical users, EVM calls within transactions are extremely difficult to decode. This is even more true when dealing with ecRecover signatures. [1]</li></ul><h4>What happened with Bybit?</h4><p>The frontend was hacked (which is typically less monitored and less secured than smart contracts or private keys), and Bybit’s CEO had no way of knowing that he was signing a malicious transaction.</p><h4>The key takeaway for security</h4><p>What truly matters is the transparency provided by the wallet (whether software or hardware) when the user presses the “Sign” button. User should be confident on what he approves or doesn’t approve.</p><h3>And on Kadena ? Multi-sigs …</h3><p>Pact, the smart contract language of Kadena, natively supports multi-signature (MultiSig) guards — at least the most basic (but also the most useful) ones: <strong>N-out-of-M signature schemes</strong>.<br> (<em>Note: This can be extended to more complex schemes using Pact user guards.</em>)</p><p>This means there is <strong>no need for complex smart contracts</strong> — everything is managed by the blockchain in a clean and transparent way.</p><p>MultiSig guards can be used to protect token balances, but also for many other purposes, such as smart contract governance…</p><p><strong>Example of simple multi-sig account managed by Pact</strong>: <em>The account w:7xw… is a 2 over 3 MultiSig account. At least 2 signatures (pred=keys-2) are required to unlock the funds.</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/893/1*Lwef5q5DkaUr-ixhBGhEqw.png" /></figure><h3>And on Kadena, Capabilities …</h3><p>But most importantly, on Kadena, each signature in a transaction is scoped and restricted.</p><p>In short, a transaction contains not only a smart contract call but also a list of capabilities attached to each signature, specifying exactly how the blockchain is allowed to use that signature during transaction execution. All other uses are prohibited.</p><p>In particular, a specific capability exists for each fungible contract called <strong>(TRANSFER …)</strong>. This capability must be explicitly validated by the user before signing. Otherwise, the fungible contract refuses to debit an account, regardless of the context.</p><p>The advantage of this mechanism is that it represents a complex smart contract call as a set of explicit and simple authorized actions that can be clearly presented to the user.</p><p>In contrast to EVM transactions, Kadena Pact’s transactions are highly flexible and limpid. A single transaction can have multiple signatures (and signers), each with its own capabilities validated individually by each signer.</p><p><strong>Transaction example (involving the multi-sig wallet above) </strong>[2]:</p><ul><li><strong><em>Explicitly</em></strong><em>, user “980…cf” agreed (= signed for) to send 18 KDA from the multi-sig wallet</em></li><li><strong><em>Explicitly</em></strong><em>, user “a2d…a3” agreed (= signed for) to send 18 KDA from the multi-sig account and to pay gas from his own personal account.</em></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/793/1*jZpaTtvoRpgvQsnGHzXC_Q.png" /></figure><h3>Conclusion</h3><p>In this specific case, the Ethereum EVM doesn’t provide the right features to hold safely and correctly funds (lack of native multi-sig, opacity of binary Smart contracts API, Blind signing …). Even with extreme care, proficient people can be fooled.</p><p>Only some next-generation smart contract languages, like Pact, offer the necessary features to handle such cases safely, transparently, and natively. The real challenge is how to create good UX that allow to use them efficiently.</p><h3>And now, how to improve and leverage this, how to make it even more secure ?</h3><p>To improve transparency and avoid as much as possible mistakes and/or fool playing by bad actors, here are some suggestions.</p><p>For wallets UX:</p><ul><li>Clearly show what capabilities are attached to the signature before signing. And if possible, show them in a human-readable format.</li><li>Discourage unrestricted signatures [3], by showing big Warnings in this case.</li><li>Create some good UX to manage easily and in a friendly way Multi-Sigs accounts.</li></ul><p>For Kadena and Pact core devs :</p><ul><li>Implement Magic Caps [4], and progressively discourage and deprecate Unrestricted signatures</li><li>For a better information for users, implement a new version of Cap-Guards and User-Guards with a clear and readable principal. [5]</li></ul><p>For Smart Contracts devs:</p><ul><li>Try to always enclose all signature enforcements in clear and transparent capabilities, giving confidence for users and wallet.</li></ul><blockquote>Notes:</blockquote><blockquote>[1] Safe (Gnosis) after the hack provided some guidelines to check transactions data. : <a href="https://help.safe.global/en/articles/276343-how-to-perform-basic-transactions-checks-on-safe-wallet">https://help.safe.global/en/articles/276343-how-to-perform-basic-transactions-checks-on-safe-wallet</a> . Notice how the Step 2 is error prone as an invisible mistake (eg: Operation=1 instead of 0 for Bybit case) can lead to a complete wallet compromission.</blockquote><blockquote>[2] <a href="https://explorer.chainweb.com/testnet/txdetail/EuC_mq8CjDN6PIMzjGOOI547GaechZCkH575gM4NfdA">https://explorer.chainweb.com/testnet/txdetail/EuC_mq8CjDN6PIMzjGOOI547GaechZCkH575gM4NfdA</a></blockquote><blockquote>[3] Kadena allows unrestricted signature. I don’t like them, because they are dangerous. Anyway, well programmed fungible Smart Contracts (including <em>the coin </em>contact) don’t allow unrestricted signature (through the mechanism of managed caps).</blockquote><blockquote>[4] This smart PR was proposed by Stu but never got merged. <a href="https://github.com/kadena-io/pact/pull/1302">https://github.com/kadena-io/pact/pull/1302</a></blockquote><blockquote>[5] I discussed many times with the Kadena team (especially with Emily), without succeeding to convince :-) … But In my point of view, this should be reconsidered.</blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6b6e93c1ee65" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>