<?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 Ivo Georgiev on Medium]]></title>
        <description><![CDATA[Stories by Ivo Georgiev on Medium]]></description>
        <link>https://medium.com/@ivshti?source=rss-8647f7d33679------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*4A757cofDctshPAYXrv9Sg.jpeg</url>
            <title>Stories by Ivo Georgiev on Medium</title>
            <link>https://medium.com/@ivshti?source=rss-8647f7d33679------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 06:32:07 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@ivshti/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[AdEx Staking released: you can now stake ADX to earn validator fee rewards]]></title>
            <link>https://medium.com/@ivshti/adex-staking-released-you-can-now-stake-adx-to-earn-validator-fee-rewards-e4e4aac945c6?source=rss-8647f7d33679------2</link>
            <guid isPermaLink="false">https://medium.com/p/e4e4aac945c6</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[staking]]></category>
            <category><![CDATA[adex]]></category>
            <dc:creator><![CDATA[Ivo Georgiev]]></dc:creator>
            <pubDate>Mon, 30 Dec 2019 14:25:06 GMT</pubDate>
            <atom:updated>2019-12-30T14:25:06.494Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*L6S1-BGedCP7G3SFODdXRw.png" /></figure><p>Happy holidays from the AdEx team! It’s time for another AdEx Registry update, and this time it’s the big one — <strong>you can finally stake your ADX</strong> to start earning a portion of the network validator fees.</p><p>Last year around the same time, we announced <a href="https://medium.com/the-adex-blog/announcing-the-adex-registry-adx-staking-part-1-1516d5834991">the AdEx Registry</a> and ADX staking. Earlier this month we revealed the <a href="https://medium.com/the-adex-blog/development-update-the-adex-registry-69773dd9e452">architecture of the AdEx Registry</a>.</p><p><strong>Today marks the launch of the AdEx staking app, which you can find at </strong><a href="https://staking.adex.network/"><strong>staking.adex.network</strong></a><strong>.</strong> This is the user-facing part of the Registry, where anyone can stake their ADX on one of the staking pools.</p><p>The first available staking pool is the “Validator Tom”: as the name suggests, this is the pool of the Tom validator, which is operated by us. We will distribute the fees it earns proportionally to stakers in this pool.</p><p>Under the hood, the staking app interacts with the Staking contract, which runs on Ethereum and is deployed <a href="https://etherscan.io/address/0x46ad2d37ceaee1e82b70b867e674b903a4b4ca32">here</a>.</p><p><strong>Here’s what you need to know:</strong></p><ol><li>The only official user interface is <a href="https://staking.adex.network/">https://staking.adex.network</a> (<a href="https://github.com/adexnetwork/adex-staking-ui">GitHub</a>).</li><li>You need Metamask and you stake the ADX token.</li><li>There is a 30 day lock-up period.</li><li>Reward distribution will start by the end of Q1 2020.</li><li>You will receive a proportional part of the collected validator fees.</li><li>The smart contract source code and audit results can be found <a href="https://github.com/adexnetwork/adex-protocol-eth">here</a>. It passed a security audit by G0 group.</li></ol><p><strong>Here’s how to stake:</strong></p><ol><li>Make sure you have Metamask installed and set-up. Make sure you have ADX and some ETH for gas in your Metamask account.</li><li>Go to <a href="https://staking.adex.network/">staking.adex.network</a>. Metamask will ask you whether you want to connect to it; approve the request.</li><li>Click on “Stake your ADX” and fill the form — currently the only available pool is the “Validator Tom” pool, so select that one. Type in the amount of ADX tokens you want to stake.</li><li>Once you’ve filled the form, the “Stake ADX” button will become active. Click it and two Metamask popups will appear one after the other. You need to approve both.</li><li>Once those transactions are mined (you can check in the Metamask UI), a bond will appear in the bonds table.</li></ol><p><strong>Congratulations, you did it! We will start distributing rewards to stakers in this pool in 2020, so keep coming back to check your rewards!</strong></p><p><strong>For more details, please read the full post on our blog: </strong><a href="https://www.adex.network/blog/adx-staking-is-here/">https://www.adex.network/blog/adx-staking-is-here/</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e4e4aac945c6" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The AdEx Market is here!]]></title>
            <link>https://medium.com/@ivshti/the-adex-market-is-here-7872dea0097f?source=rss-8647f7d33679------2</link>
            <guid isPermaLink="false">https://medium.com/p/7872dea0097f</guid>
            <category><![CDATA[programmatic]]></category>
            <category><![CDATA[outpace]]></category>
            <category><![CDATA[adtech]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[adex]]></category>
            <dc:creator><![CDATA[Ivo Georgiev]]></dc:creator>
            <pubDate>Fri, 29 Mar 2019 19:37:30 GMT</pubDate>
            <atom:updated>2019-04-01T09:46:22.376Z</atom:updated>
            <content:encoded><![CDATA[<h3>The AdEx Market Is Here!</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9HhEoOVKpysZEshzjCpkpA.png" /></figure><p><strong>Today, we’re open-sourcing one of the most vital components of AdEx v4.0: the Market.</strong></p><p>You can check out the repository here: <a href="https://github.com/AdExNetwork/adex-market/">https://github.com/AdExNetwork/adex-market</a></p><p>The primary role of the market is to facilitate demand/supply discovery and trading. It keeps record of all campaigns that are currently valid, and allows publishers/advertisers to query that list in order to find what they need.</p><p><strong>In simple words, it’s one of the parts that enables publishers and advertisers to freely interact with each other and trade ad space/time between themselves, without middle parties.</strong></p><p>In the upcoming days, we will deploy the new market APIs and update the repository with more documentation.</p><p>For technical details, you can check: <a href="https://github.com/adexnetwork/adex-protocol#market">https://github.com/adexnetwork/adex-protocol#market</a></p><p><a href="https://medium.com/the-adex-blog/march-update-adex-918ba03ac52e">In case you haven’t been following recent developments and plans, we highly recommend you read our March update!</a></p><p><strong><em>Interested in AdEx? Follow us:</em></strong></p><p><a href="https://www.adex.network/"><strong>Website</strong></a><strong> | </strong><a href="https://discord.gg/nMBGJsb"><strong>Discord</strong></a><strong> | </strong><a href="https://www.facebook.com/AdExNetwork/"><strong>Facebook</strong></a><strong> | </strong><a href="https://twitter.com/AdEx_Network"><strong>Twitter</strong></a><strong> | </strong><a href="https://www.reddit.com/r/AdEx/"><strong>Reddit</strong></a><strong> | </strong><a href="https://github.com/AdExBlockchain"><strong>GitHub</strong></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7872dea0097f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing OUTPACE: Off-Chain Unidirectional Trustless Payment Channels.]]></title>
            <link>https://medium.com/@ivshti/introducing-outpace-off-chain-unidirectional-trustless-payment-channels-243a08e152a?source=rss-8647f7d33679------2</link>
            <guid isPermaLink="false">https://medium.com/p/243a08e152a</guid>
            <category><![CDATA[level-2-scalability]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[payment-channels]]></category>
            <dc:creator><![CDATA[Ivo Georgiev]]></dc:creator>
            <pubDate>Thu, 31 Jan 2019 16:08:31 GMT</pubDate>
            <atom:updated>2019-01-31T16:08:31.932Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eFw5raKT8TwcEpog-l-Wzw.jpeg" /></figure><p>Back in 2018, we wrote about <a href="https://medium.com/the-adex-blog/introducing-ocean-alternative-layer-2-scalability-7d24bb22ebe4">off-chain event aggregation</a>, which was the backbone of the AdEx v3 protocol.</p><p>With the <a href="https://github.com/AdExNetwork/adex-protocol">AdEx v4 protocol</a>, we’re introducing <strong>OUTPACE: O</strong>ff-chain <strong>U</strong>nidirectional <strong>T</strong>rustless <strong>PA</strong>yment <strong>C</strong>hann<strong>E</strong>ls.</p><h4>What are payment channels and why are they great for AdEx?</h4><p><em>Payment channels</em> refers to a set of techniques/methods for enabling multiple payments between parties without committing each payment to the blockchain.</p><p>Payment channels are one of the most popular and proven forms of Layer 2 scaling and are used in projects like the <a href="https://lightning.network/">Lightning Network</a>, <a href="https://github.com/raiden-network/raiden">Raiden</a>, <a href="https://github.com/connextproject">Connext</a>, <a href="https://spankchain.com/">Spankchain</a> and <a href="https://funfair.io/">Funfair</a>, just to name a few.</p><p>For AdEx, using payment channels has a few important benefits.</p><p>Firstly, it allows us to minimize the number of on-chain transactions, and that’s is a huge UX improvement. In the v4 version of our protocol, the only on-chain transactions that you need are opening a campaign (as an advertiser) and withdrawing your earnings (as a publisher).</p><p>Secondly, because making payments does not incur any extra fees, we can use micropayments for each individual impression (or any other type of payable event).</p><p>This means publishers have a guarantee they can withdraw their revenue at any given time, unlike traditional systems where you can only withdraw your earnings for set, usually long periods, and/or only if you reach a certain threshold.</p><p>But most importantly, since the payments are per impression, this eliminates any possibility that an advertiser would cheat a publisher out of their earnings.</p><h4>What are the benefits of OUTPACE?</h4><p>OUTPACE is inspired by previous research, such as the <a href="https://lightning.network/">Lightning Network</a> and <a href="https://www.perun.network/">Perun</a>, however it’s different in two major ways:</p><ol><li>It’s strictly unidirectional, which eliminates the need for watchtowers and complex exit strategies; and</li><li>It allows multiple parties to be paid from a single channel (one-to-many).</li></ol><h4>No challenge periods or watchtowers</h4><p>In bidirectional payment channels, if Alice sends 1 ETH to Bob, but Bob sends 0.5 ETH back, Bob can cheat by broadcasting an older version of the state (balance sheet) to the blockchain, in which he still has the whole 1 ETH.</p><p>To eliminate this issue, you usually need something called a challenge period. In practice, this means that if Bob submitted the older version of the state, he wouldn’t be able to withdraw immediately, but rather after the challenge period has ended. In this period, Alice can submit the newer state (where Bob has 0.5 ETH less). Each state is sequentially numbered, so that the on-chain contract can know whether the state is actually newer.</p><p>Another caveat to this is that it requires the so-called “watchtowers”: software systems that have to be constantly online and watch for fraud attempts. While this usually works, a watchtower going offline could have disastrous consequences.</p><p>Now, imagine a channel in which Alice can send funds to Bob, but Bob can’t send funds back to Alice. There is one possible state transition: Alice’s balance decreases, and Bob’s increases.</p><p>If Bob broadcasts an older state, they will only hurt themselves. But wait, can’t Alice broadcast an older state and therefore pay Bob less?</p><p>In OUTPACE, Alice’s funds are locked up until the channel expires. Once this happens, they can get their remaining funds back.</p><p>However, Bob can withdraw at any time using any state, as many times as they want. This is OK, since at every withdraw, we just need to subtract the amount they previously withdrew.</p><p>To recap, the unidirectional property in OUTPACE allows earning parties to withdraw immediately at any time, and a lot of the implementation complexity of regular payment channels is avoided, therefore helping the reliability/stability of the system.</p><h4>The trust model in a one-to-many setup</h4><p>In OUTPACE, rather than having one recipient of the funds, we have many. This is achieved by using a merkle tree of all of the balances (we often call it a balance tree).</p><p>However, the traditional trust model of payment channels dictates that funds are locked up on-chain by a 2/2 multisig controlled by the two participating parties.</p><p>Since the receiving parties in OUTPACE are not defined at the time of the channel creation, we can’t use the same model. We have a separate concept of “validators”, which are the parties that control the on-chain multisig.</p><p>Usually, this works by having a “leader” validator, who should be the same entity that funded the channel, and will propose new states, and a “follower” validator, who’s responsibility is signing new proposed states as long as they adhere to the unidirectionality rules.</p><p>There is additional trust implied in this: if you’re a receiving party, you need to be confident that the follower will act in your interest. This works perfectly for AdEx, where the leader is the advertiser-side platform and the follower is the publisher-side platform.</p><p>It’s important to point out that the “follower” validator is not a custodian: at any point, every receiving party has access to the latest signed state that <strong>guarantees</strong> they will be able to withdraw their earnings on-chain.</p><p>You can read more about this in <a href="https://github.com/adexnetwork/adex-protocol#trust-implications">the “Trust implications” section</a> of the AdEx protocol documentation.</p><h4>The advantages of one-to-many</h4><p>If we used a 1–to-1 setup, each advertiser would have to open a payment channel to each and every publisher they want to interact with. Keep in mind that opening a channel means locking up funds on-chain; this leads to a significantly worse user experience, and requires more on-chain transactions that would lock up funds.</p><p>Alternatively, they’d use hubs, but this just shifts the same issues on to the hub itself. Plus, for this to work, there have to be proper incentives to operate a hub — which might mean adding considerable fees to the system.</p><p>A one-to-many system mitigates all of those issues and makes improves UX: the advertiser only needs to open a channel when they open a campaign, and never worry about it again.</p><p>Also, since we’re talking about funds that they are locking up anyway, they don’t even need to know what’s happening under the hood: they are just depositing their campaign funds into the platform, and they don’t even need to know what a payment channel or a blockchain is.</p><p>Finally, this allows any publisher to jump on board and start earning at any time — again, without even having to know what a payment channel is!</p><h4>Is this only for Ethereum?</h4><p>Absolutely not! OUTPACE was designed to be blockchain-agnostic, and you can implement it on pretty much any blockchain that supports smart contracts, or even a bitcoin-style UTXO/scripts model.</p><p>Currently, there are implementations for <a href="https://github.com/adexnetwork/adex-protocol-eth">Ethereum</a> and <a href="https://github.com/adexnetwork/adex-protocol-substrate">Substrate/Polkadot</a>.</p><h4>Is this only useful for AdEx?</h4><p>Again: absolutely not! While OUTPACE is a great fit for AdEx, we believe it can be used for any other use case that requires micropayments and can benefit from a unidirectional one-to-many interaction.</p><p>For example, OUTPACE can be very useful for a bounty network, where one entity would continuously distribute bounties to various other parties.</p><p>It’s also possible to interleave several OUTPACE channels together (also called “netting”) in a way that a micropayment will be atomic across a few channels, allowing more complex use cases, for example a DEX (pun intended).</p><h4>Additional reading</h4><p>There is more documentation available here: <a href="https://github.com/adexnetwork/adex-protocol">https://github.com/adexnetwork/adex-protocol</a></p><p>Furthermore, we’ve already rolled out the <a href="https://github.com/adexnetwork/adex-validator-stack-js">AdEx validator stack</a>, which is the first implementation of the off-chain parts of OUTPACE.</p><p>There are going to be follow up posts as well, going into more detail and looking into potential use cases.</p><p><strong><em>Interested in AdEx? Follow us:</em></strong></p><p><a href="https://www.adex.network/"><strong>Website</strong></a><strong> | </strong><a href="https://t.me/AdexNetwork"><strong>Telegram</strong></a><strong> | </strong><a href="https://www.facebook.com/AdExNetwork/"><strong>Facebook</strong></a><strong> | </strong><a href="https://twitter.com/AdEx_Network"><strong>Twitter</strong></a><strong> | </strong><a href="https://www.reddit.com/r/AdEx/"><strong>Reddit</strong></a><strong> | </strong><a href="https://github.com/AdExBlockchain"><strong>GitHub</strong></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=243a08e152a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Announcing the AdEx Registry, ADX Staking, Part 1]]></title>
            <link>https://medium.com/@ivshti/announcing-the-adex-registry-adx-staking-part-1-1516d5834991?source=rss-8647f7d33679------2</link>
            <guid isPermaLink="false">https://medium.com/p/1516d5834991</guid>
            <category><![CDATA[polkadot]]></category>
            <category><![CDATA[adex]]></category>
            <category><![CDATA[buidl]]></category>
            <category><![CDATA[substrate]]></category>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[Ivo Georgiev]]></dc:creator>
            <pubDate>Thu, 20 Dec 2018 16:58:20 GMT</pubDate>
            <atom:updated>2018-12-26T09:10:17.023Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XseMuay-bYW7pLNwY9UTaQ.jpeg" /></figure><p><strong><em>NOTE</em></strong><em>: To learn more about the context here, we recommend you familiarize yourself with the AdEx protocol: </em><a href="https://github.com/adexnetwork/adex-protocol"><em>https://github.com/adexnetwork/adex-protocol</em></a></p><p>The latest addition to the AdEx protocol is the Registry. Its purpose is to allow publishers and advertisers to appoint (nominate) publicly available <a href="https://github.com/adexnetwork/adex-protocol#validator-stack-platform">validators</a> for their campaigns, therefore eliminating the need for them to run their own validator nodes.</p><p>It also allows anyone who wants to run a publicly available validator (and earn validator fees) to gain exposure by staking ADX. If they misbehave (in most cases, this means to become unavailable, therefore stalling the campaign), a portion of the staked ADX will be burned and they will be temporarily delisted.</p><p>This is what guarantees the Registry is a reliable list: every validator on the Registry has skin in the game. The larger the stake is, the higher the possibility of the validator being nominated for a campaign.</p><h4>Choosing validators</h4><p>Each campaign maps to one <a href="https://github.com/AdExNetwork/adex-protocol/blob/master/OUTPACE.md">OUTPACE channel</a>, which has a validator set. While it is possible for any number of validators to be appointed, only two validators are required for a trust-minimized setup, as long as they have opposing interests. You can read more about this here: <a href="https://github.com/adexnetwork/adex-protocol#validator-consensus">https://github.com/adexnetwork/adex-protocol#validator-consensus</a>.</p><p>In this minimal setup:</p><ul><li>The leading validator is the advertiser-side platform;</li><li>The following validator is the publisher-side platform.</li></ul><p>In reality, this means that large advertisers will probably want to run their own validator node (advertiser-side platform) and appoint the second validator through the Registry.</p><p>However, once the Registry is mature enough, it will be reasonable for advertisers to nominate *both* validators from the Registry, since it will maintain separate lists for advertiser-side platforms and publisher-side platforms, therefore satisfying the condition of appointing opposing sides.</p><h4>Staking and ADX economics</h4><p>The ADX token originated as a fixed-supply ERC20 designed to be used in the AdEx ecosystem.</p><p>Choosing ADX as the staking token for the Registry is critical for its security: since this is ADX’s primary purpose, the implication is that most of the tokens will be staked; this makes Sybil attacks much more expensive. Furthermore, it aligns incentives: the healthier the ecosystem is, the more demand there will be to be listed on the Registry.</p><p>Bear in mind, even if you hold a trivial amount of ADX and don’t have the resources/intentions to run your own public validator, you can still stake them by nominating another public validator, therefore earning a proportionate part of their fee profit.</p><h4>Implementation</h4><p>For the implementation of the Registry, we chose <a href="https://github.com/paritytech/substrate">Parity’s Substrate framework</a> which recently <a href="https://medium.com/paritytech/substrate-has-arrived-f14f91536278">reached it’s 1.0 version</a>.</p><p>Substrate takes building blockchain systems to another level, by utilizing a highly modular approach where all the boilerplate parts come as part of the framework, and all the logic (consensus, block authoring) is up to you. It’s also compiled to WASM — so it can be easily swapped and upgraded.</p><p>This, along with the Polkadot protocol, allows us to eventually build the Registry as a “<a href="https://medium.com/polkadot-network/polkadot-the-parachain-3808040a769a">parachain</a>”: a type of application-specific chain that benefits from the security and consensus mechanism of the Polkadot network, while being interoperable with other blockchains (including Ethereum).</p><p>Ultimately, the combination of Substate+Polkadot gives us the following benefits:</p><ul><li><strong>Scalability</strong>: Having a separate chain with a fast consensus mechanism dedicated to the Registry allows it to sustain high throughput; this is required for the underlying security of the challenge mechanisms.</li><li><strong>Interoperability</strong>: Fast finality consensus mechanisms allow easy interoperability between blockchains; this lets the ADX token to be moved between Ethereum and the Registry parachain. That factor could be beneficial for OUTPACE as well, as it enables using various cryptocurrencies (e.g. BTC, Zcash) as a channel deposit.</li><li><strong>Upgradability</strong>: Since all of the custom logic is represented by a state transition function defined in WASM, it’s trivial to ugprade.</li><li><strong>Governance</strong>: Substrate’s Runtime Module Library (SRML) comes with various on-chain governance primitives that may serve valuable in the future.</li><li><strong>Flexibility</strong>: Substrate-based systems can be deployed as Polkadot parachains or independent blockchains, as well as be adapted to serve as sidechains to Ethereum.</li></ul><p>We’ve already started working towards this by creating <a href="https://github.com/adexnetwork/adex-protocol-substrate">adex-protocol-substrate</a>. Currently, this repository hosts an <a href="https://github.com/AdExNetwork/adex-protocol/blob/master/OUTPACE.md">OUTPACE</a> implementation, and it will be updated over time to add the Registry as well.</p><p>We’ve described our experience building on Substrate here: <a href="https://hackmd.io/p_v1M8WGRyy9PggYiKA_Xw#">https://hackmd.io/p_v1M8WGRyy9PggYiKA_Xw#</a>.</p><h3>👹 Ameen Soleimani on Twitter</h3><p>Pretty cool Rust implementation of the @AdEx_Network OUTPACE (off-chain unidirectional trustless payment channel) on @polkadotnetwork&#39;s Substrate https://t.co/LuwrolRmjf Great to see more platforms and experimentation for web3!</p><h4>The road ahead</h4><p>Once the AdEx dApp is updated with the new protocol, and the validator stack implementation is more mature (we estimate this will happen in February 2019), we will provide instructions for everyone on how to run their own validator nodes.</p><p>The Registry is expected to be ready around Q3 2019 in terms of specification and reference implementation. At that stage, we will also provide instructions on how to setup public validators and stake ADX to register them.</p><p>The specification for the Registry is still a work in progress, but meanwhile you can track its development here: <a href="https://github.com/AdExNetwork/adex-protocol/issues/7">https://github.com/AdExNetwork/adex-protocol/issues/7</a>.</p><p><strong><em>Interested in AdEx? Follow us:</em></strong></p><p><a href="https://www.adex.network/"><strong>Website</strong></a><strong> | </strong><a href="https://t.me/AdexNetwork"><strong>Telegram</strong></a><strong> | </strong><a href="https://www.facebook.com/AdExNetwork/"><strong>Facebook</strong></a><strong> | </strong><a href="https://twitter.com/AdEx_Network"><strong>Twitter</strong></a><strong> | </strong><a href="https://www.reddit.com/r/AdEx/"><strong>Reddit</strong></a><strong> | </strong><a href="https://github.com/AdExBlockchain"><strong>GitHub</strong></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1516d5834991" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[AdEx Protocol Update 2: Specification, OUTPACE, Reference Implementations]]></title>
            <link>https://medium.com/@ivshti/adex-protocol-update-2-specification-outpace-reference-implementations-99dece02afe0?source=rss-8647f7d33679------2</link>
            <guid isPermaLink="false">https://medium.com/p/99dece02afe0</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[blockchain-protocols]]></category>
            <category><![CDATA[decentralized-advertising]]></category>
            <category><![CDATA[ethereum]]></category>
            <category><![CDATA[adex]]></category>
            <dc:creator><![CDATA[Ivo Georgiev]]></dc:creator>
            <pubDate>Wed, 12 Dec 2018 11:32:18 GMT</pubDate>
            <atom:updated>2018-12-14T16:14:49.859Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9_V940Z0gt0UF56LCTtn-Q.png" /></figure><p>It’s time for an update again!</p><p>Since our last status updates related to the AdEx protocol, an awful lot of things have evolved.</p><p>Most notably, the entirety of the AdEx protocol has been documented here: <a href="https://github.com/adexnetwork/adex-protocol">https://github.com/adexnetwork/adex-protocol</a>. This marks one of the most significant milestones for the AdEx protocol, as it also means most of the parts have been finalized.</p><p>Following the Web3 Summit in Berlin and Devcon4 in Prague, we refined one of the most important concepts in our protocol: <a href="https://github.com/AdExNetwork/adex-protocol/blob/master/OUTPACE.md">OUTPACE: Off-chain Unidirectional Trustless PAyment ChannEls</a>. This is what allows direct micropayments between advertisers and publishers, without any on-chain transactions. Expect a follow up blog post entirely dedicated solely to OUTPACE.</p><h4>Talk is cheap. Show me the code.</h4><p>Other than documentation/specification, we actually already have a working implementation of most of the protocol!</p><p>An Ethereum implementation of OUTPACE can be found here: <a href="https://github.com/adexnetwork/adex-protocol-eth">https://github.com/adexnetwork/adex-protocol-eth</a>.</p><p>And a reference implementation of the validator stack can be found here: <a href="https://github.com/adexnetwork/adex-validator-stack-js">https://github.com/adexnetwork/adex-validator-stack-js</a>.</p><p>We are currently working to port <a href="https://github.com/AdExNetwork/adex-dapp">the dApp</a> to the new protocol, as well as improvements to the SDK (<a href="https://github.com/AdExNetwork/adex-adview">adview</a>), so stay tuned!</p><h4>We’re hiring</h4><p>Amidst news of <a href="https://www.telegraph.co.uk/technology/2018/12/03/crypto-start-ups-hit-layoffs-falling-prices-bite/">layoffs</a> in the space, we’re still hiring, so if you happen to be looking for opportunities in the space, check out our <a href="https://github.com/Department-of-Decentralization/Ecosystem-Job-Openings/blob/master/AdEx-is-hiring"><strong>open positions</strong></a>.</p><p><strong><em>Interested in AdEx? Follow us:</em></strong></p><p><a href="https://www.adex.network/"><strong>Website</strong></a><strong> | </strong><a href="https://t.me/AdexNetwork"><strong>Telegram</strong></a><strong> | </strong><a href="https://join.slack.com/adex-community/shared_invite/MTk1ODQ2ODg3MzMxLTE0OTcxNjMyNjItOGYyMTJjM2FhMg"><strong>Slack</strong></a><strong> | </strong><a href="https://www.facebook.com/AdExNetwork/"><strong>Facebook</strong></a><strong> | </strong><a href="https://twitter.com/AdEx_Network"><strong>Twitter</strong></a><strong> | </strong><a href="https://www.reddit.com/r/AdEx/"><strong>Reddit</strong></a><strong> | </strong><a href="https://github.com/AdExBlockchain"><strong>GitHub</strong></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=99dece02afe0" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Come talk to us at Devcon4!]]></title>
            <link>https://medium.com/@ivshti/come-talk-to-us-at-devcon4-e881f3817937?source=rss-8647f7d33679------2</link>
            <guid isPermaLink="false">https://medium.com/p/e881f3817937</guid>
            <category><![CDATA[adex]]></category>
            <category><![CDATA[ethereum]]></category>
            <category><![CDATA[devcon4]]></category>
            <dc:creator><![CDATA[Ivo Georgiev]]></dc:creator>
            <pubDate>Mon, 29 Oct 2018 15:26:52 GMT</pubDate>
            <atom:updated>2018-10-29T15:32:08.818Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*feykXz52483lZ4gGVeL7gg.png" /><figcaption>DOGE is here too</figcaption></figure><p>Quick announcement: most of our team will be at <a href="https://devcon4.ethereum.org/">devcon4</a> in Prague!</p><p>If you’re around, there’s many reasons to come to our booth and say hi:</p><ol><li>if you feel like it</li><li>if you want to talk about <a href="https://github.com/AdExNetwork/adex-protocol">our revised protocol</a></li><li>…or <a href="https://medium.com/the-adex-blog/introducing-ocean-alternative-layer-2-scalability-7d24bb22ebe4">our layer 2 scalability solution</a> and <a href="https://github.com/adexnetwork/adex-protocol-eth">the Ethereum implementation</a></li><li>learn more about our exploration into <a href="https://github.com/adexnetwork/adex-protocol-cosmos">Cosmos</a> and Polkadot</li><li>grab a t-shirt or other cool merch :)</li><li>last, but not least, come see a demo of our dApp!</li></ol><p>See you there!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e881f3817937" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[AdEx Protocol update: Ethereum, Cosmos and Polkadot implementations]]></title>
            <link>https://medium.com/@ivshti/adex-protocol-update-ethereum-cosmos-and-polkadot-implementations-8d81d07a0dca?source=rss-8647f7d33679------2</link>
            <guid isPermaLink="false">https://medium.com/p/8d81d07a0dca</guid>
            <category><![CDATA[adex]]></category>
            <category><![CDATA[interoperability]]></category>
            <category><![CDATA[polkadot]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[cosmos]]></category>
            <dc:creator><![CDATA[Ivo Georgiev]]></dc:creator>
            <pubDate>Mon, 15 Oct 2018 13:46:59 GMT</pubDate>
            <atom:updated>2018-10-15T16:12:08.877Z</atom:updated>
            <content:encoded><![CDATA[<h3>AdEx Protocol Update: Ethereum, Cosmos and Polkadot Implementations</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Vfb53aekIiar1VLSNJZAsQ.png" /><figcaption>Eddie the Moonicorn doing what it does best</figcaption></figure><p>Back in 2017, we set out to expand on what we’ve developed (<a href="https://beta.adex.network/">The AdEx dapp</a>). Our goal was to develop a set of primitives for transparent and decentralized digital advertising, under the name of AdEx Protocol.</p><p>Following the <a href="https://medium.com/@AdEx_by_Stremio/adex-protocol-update-5264b4a05f09">update last month,</a> and the <a href="https://github.com/AdExNetwork/adex-protocol">initial draft of our new spec</a>, and the <a href="https://medium.com/the-adex-blog/introducing-ocean-alternative-layer-2-scalability-7d24bb22ebe4">announcement of OCEAN</a>, we have more exciting updates for you…</p><p>As you probably already know, some parts of AdEx are built on blockchain technology, and so far this has been Ethereum.</p><p>Ethereum is, and will continue being the backbone on which the AdEx dApp runs. The community is undeniably amazing, <a href="https://medium.com/rocket-pool/ethereum-2-0-76d0c8a76605">Ethereum 2.0</a> will bring sharding and eWASM, and we have <a href="https://medium.com/crypto-nyc/twelve-reasons-im-bullish-about-ethereum-today-809a234312b2">a ton of reasons to be excited about</a>. Check out the implementation of the AdEx Protocol on Ethereum here: <a href="https://github.com/AdExNetwork/adex-protocol-eth">https://github.com/AdExNetwork/adex-protocol-eth</a></p><p>However, we are constantly experimenting and exploring technological alternatives.</p><p>What we’re most excited about is interoperability and <a href="https://blog.cosmos.network/why-application-specific-blockchains-make-sense-32f2073bfb37">application-specific chains</a>, sometimes called dAppchains. We believe that application-specific chains are great, because they provide horizontal scalability in a very natural way, and give us more flexibility, which in turn allows for better UX. <em>To keep this brief, we will explore the benefits of application-specific chains later with a follow-up post.</em></p><p>The projects we’re particularly excited about are <a href="https://cosmos.network/">Cosmos</a> and <a href="https://polkadot.network/">Polkadot</a>, which are both very similar, but offer different tradeoffs. Both of them are built on innovative consensus mechanisms, namely <a href="https://tendermint.com/">Tendermint</a> and <a href="https://medium.com/polkadot-network/grandpa-block-finality-in-polkadot-an-introduction-part-1-d08a24a021b5">GRANDPA</a>. <em>We will further explore the similarities and differences between the two in another follow-up post.</em></p><h3><strong>But now, the actual announcement…</strong></h3><p>We started building an implementation of the AdEx Protocol on Cosmos, and we’re almost done: <a href="https://github.com/AdExNetwork/adex-protocol-cosmos">https://github.com/AdExNetwork/adex-protocol-cosmos</a></p><p>In this repository, you can find a full implementation of on-chain parts of the AdEx Protocol, namely the OCEAN implementation that allows an advertiser to commit on-chain that upon certain ad goals, they will pay out a certain reward to a publisher.</p><p>We started building the Polkadot (actually, Substrate, which is the framework behind Polkadot) implementation as well, and it will appear on GitHub as soon as there’s something that works.</p><h4>But wait, does this mean you’re migrating away from Ethereum?</h4><p>Short answer: <strong>No.</strong></p><p>Long answer: AdEx is a blockchain-agnostic project, we may implement the protocol in any technology we think is worth it. We also believe in a future where most blockchains are interoperable with each other.</p><p>Most likely, we are going to continue supporting the Ethereum, Cosmos and Polkadot implementations, and let the community dictate which one of those is our dApp running on. For now, and for the foreseeable future, this will be Ethereum.</p><h4>Considering Cosmos and Polkadot are so similar, why #BUIDL on both?</h4><p>As we previously mentioned, both offer different tradeoffs. For example, Cosmos provides a convenient SDK for developing dAppchains, and is further ahead in terms of development, while Polkadot offers more powerful inter-blockchain communication and a shared security model, where application-specific chains can benefit from the security of more general-purpose hub chains (also called relay chains).</p><p>In other words, to put it directly, we’re excited about both and want to get our hands dirty. It’s not really that much of an extra effort, given how simple the on-chain part of AdEx is.</p><h4>What’s next?</h4><ol><li>Publishing a series of step-by-step guides on how to create your own dAppchain on both Cosmos and Polkadot (Substrate)</li><li>Releasing the source code of the Polkadot (Substrate) implementation</li><li>Launching a testnet for both</li><li>Improving both implementations: tooling, JS libs, CLI, etc.</li></ol><p><strong><em>Interested in AdEx? Follow us:</em></strong></p><p><a href="https://www.adex.network/"><strong>Website</strong></a><strong> | </strong><a href="https://t.me/AdexNetwork"><strong>Telegram</strong></a><strong> | </strong><a href="https://join.slack.com/adex-community/shared_invite/MTk1ODQ2ODg3MzMxLTE0OTcxNjMyNjItOGYyMTJjM2FhMg"><strong>Slack</strong></a><strong> | </strong><a href="https://www.facebook.com/AdExNetwork/"><strong>Facebook</strong></a><strong> | </strong><a href="https://twitter.com/AdEx_Network"><strong>Twitter</strong></a><strong> | </strong><a href="https://www.reddit.com/r/AdEx/"><strong>Reddit</strong></a><strong> | </strong><a href="https://github.com/AdExBlockchain"><strong>GitHub</strong></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8d81d07a0dca" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Scam Alert: Fake ICO in China]]></title>
            <link>https://medium.com/@ivshti/scam-alert-fake-ico-in-china-ea1d0bf9b041?source=rss-8647f7d33679------2</link>
            <guid isPermaLink="false">https://medium.com/p/ea1d0bf9b041</guid>
            <category><![CDATA[adex]]></category>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[Ivo Georgiev]]></dc:creator>
            <pubDate>Fri, 12 Oct 2018 12:31:58 GMT</pubDate>
            <atom:updated>2018-10-12T16:05:19.940Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*C_xMZpbn9AnZ5RRVv1Joeg.jpeg" /></figure><p>Once again, it’s that unfortunate time where we have to warn you to protect yourselves from scams.</p><p>First off, we have to start by saying that the AdEx Contribution Campaign was over by the end of June 2017. Anyone who is offering you participation in any token sale event supposedly run by AdEx is scamming you!</p><p><strong>We have been notified recently that someone has been conducting a fraudulent AdEx ICO in China. They use pictures and videos of us to additionally help their cause.</strong></p><p>In June 2018, we were approached by an individual who wanted to meet with us to discuss a potential partnership. Me (Ivo) and my co-founder Dimo met with that individual and his associate over lunch and dinner. They offered us community management services, and we politely refused. <strong>We never entered into any agreement with them, formal or otherwise.</strong></p><p><strong>Since then, we have not heard from those individuals, until we were informed of this by a member of our community.</strong></p><p><strong>To summarize:</strong></p><ol><li>Anyone claiming to be running an ICO associated with AdEx is lying</li><li>Stick to the official website <a href="https://www.adex.network/">https://www.adex.network</a>, this Medium blog, and <a href="https://twitter.com/AdEx_network">our Twitter</a>. Do not trust any other source!</li><li>AdEx Network OÜ will NOT approach you in regards to any token sale</li><li>We have no agreement or relation with the individuals pretending to be running an AdEx ICO in China</li></ol><p><strong>We urge our community to help us to circulate this message to as many community members as you know.</strong></p><p>Finally, we want to add how disturbing it is that this is happening. Things like this are precisely what skeptics use against cryptocurrencies, blockchain and our community — and they do have a point, things like this really do happen often. We are committed to doing everything in our power to (1) inform our community and (2) approached our legal counselors on taking the necessary actions</p><p>GPG Signed version of this message: <a href="https://gist.github.com/Ivshti/7c47ef2ce8a28274f32b88402bf20eda">https://gist.github.com/Ivshti/7c47ef2ce8a28274f32b88402bf20eda</a></p><p>— — —</p><p><strong>UPDATE: Chinese translation:<br>警告！假冒AdEx币风险提示</strong></p><p>我们近期了解到有人在中国进行假冒AdEx币进行诈骗的活动。过程中使用了我们的照片和录像。</p><p>我们警示：AdEx募集活动于2017年6月底已经终止。现在任何以AdEx名义的发币活动都是诈骗性质的。行用我们照片和录像的行为没有经过授权，属于盗用我们的名义和肖像。</p><p>请注意：</p><ul><li>任何人声称与AdEx有关的ICO活动都是谎言</li><li>认准官方网址<a href="https://www.adex.network/">https://www.adex.network</a>， 本布告栏，和我们的推特。不要相信任何其他的消息来源！</li><li>AdEx Network OÜ<strong>不</strong>会与您联系销售事宜。</li><li>任何运行AdEx在中国ICO的人与我们没有任何协议或其他关系，均为假冒。</li></ul><p>我们促请成员们向您认识的所有成员扩散本消息，勿周知。</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ea1d0bf9b041" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing OCEAN — alternative layer 2 scalability]]></title>
            <link>https://medium.com/@ivshti/introducing-ocean-alternative-layer-2-scalability-7d24bb22ebe4?source=rss-8647f7d33679------2</link>
            <guid isPermaLink="false">https://medium.com/p/7d24bb22ebe4</guid>
            <category><![CDATA[adex]]></category>
            <category><![CDATA[scalability]]></category>
            <category><![CDATA[state-channels]]></category>
            <category><![CDATA[ethereum]]></category>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[Ivo Georgiev]]></dc:creator>
            <pubDate>Thu, 11 Oct 2018 13:05:43 GMT</pubDate>
            <atom:updated>2018-10-20T10:10:33.147Z</atom:updated>
            <content:encoded><![CDATA[<h3>Introducing OCEAN: Alternative Layer 2 Scalability</h3><p><strong>O</strong>ff-<strong>C</strong>hain <strong>E</strong>vent <strong>A</strong>ggregatio<strong>N</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qdKVnYJXvgJdeUSmpmaJyA.jpeg" /></figure><p>When building blockchain applications (dApps), we often face the challenge of taking as many things as possible off-chain — but while retaining the benefits of the underlying trustless consensus at the same time.</p><p>But why do we want to do this? Well, by design a decentralized consensus means that every validator/miner in the network has to compute the result of all transactions. This makes it expensive to use on-chain transactions for every action in your dApp. On top of this, most actions in a dApp do not actually require changing a global ledger.</p><p>The most popular ways for off-chain scaling are state channels and sidechains (such as Plasma), but we felt that the particular case of AdEx did not fit in any of those scaling solutions. This is why we came up with a solution that felt more natural to us; later on, we discovered that it could be useful for more projects.</p><p>We call this scaling mechanism <strong>OCEAN</strong>: <strong>O</strong>ff-<strong>c</strong>hain <strong>E</strong>vent <strong>A</strong>ggregatio<strong>N</strong>. It’s a very simple way to scale dApps: certain events happen off-chain, and are eventually committed to the chain, therefore providing the underlying security. Sounds a lot like a state channel, right? Wrong.</p><p>OCEAN is quite different. A state channel is usually an interaction between two parties only, where those two parties finalize the said interaction themselves. OCEAN, on the other hand, defines validators beforehand. These validators are supposed to observe interactions between any number of parties, and then vote on the the overall result on-chain.</p><p>An OCEAN flow goes like this:</p><ol><li>A commitment is written to the blockchain, defining the end goal for the OCEAN channel (for example: 100 click events, signed by different whitelisted public keys), the validators, the validator rewards and the channel timeout.</li><li>The off-chain events transpire and the validators record them.</li><li>Within the timeout, the validators sign their vote, and over 2/3 signatures for the same vote value are required in order to be committed to the chain; the channel is considered finalized, and you can handle the result however you wish on-chain.</li><li>Beyond the timeout, the channel is considered expired and is reverted.</li></ol><p>Within AdEx, anything between the beginning and the end of a delivery commitment is tracked off-chain (e.g. clicks, impressions, etc.), and committed on-chain by the validators (usually the publisher, advertiser and an arbiter) at the end. A ‘success’ vote means the publisher will get paid, and a ‘failure’ vote means the funds will be returned back to the advertiser.</p><p>You can see a working implementation of OCEAN here: <a href="https://github.com/adexnetwork/adex-protocol-eth">https://github.com/adexnetwork/adex-protocol-eth</a></p><p>You can think of an OCEAN channel as a mini, one-block blockchain with pre-delegated validators. This is especially useful when:</p><ol><li>There is a clear, logical and game-theoretically sound way to select validators;</li><li>There are clear start/end points of your dApp logic that correspond to opening/closing of OCEAN channels, where the result at the end would define important actions (e.g. funds being transferred);</li><li>There are interactions between multiple parties (ones that have never interacted with the blockchain) that need to be resolved or settled relatively quickly.</li></ol><p>To make this more clear, here’s an explanation of the AdEx use case:</p><ol><li>The publisher and advertiser have opposing interests, so a logical validator set will be: publisher, advertiser and arbiter.</li><li>When the publisher accepts to deliver an advertising bid, that’s a new OCEAN channel. It gets resolved when the publisher proves that they delivered the ad, and upon resolution the funds would be paid out to them.</li><li>The interactions happen between publishers, advertisers and any number end-users, where the end-users do have an automatically generated cryptographic identity but have no Ether.</li></ol><h3>OCEAN use cases</h3><p>While the current implementation is specific to AdEx (validating impressions/clicks of ad bids), we believe that there are many other possible use cases for OCEAN, for example:</p><ul><li>AdEx: real-time bidding</li><li>Social network: polls, voting</li><li>Sidechain: you can implement a BPoS (bonded proof of stake) sidechain where every block is an OCEAN channel, and the final committed vote is a merkle root of the entire chain state; every finalization would save the new validator set on-chain, allowing validators to bond/unbond; since the merkle root is committed on a PoW chain, long range attacks are not feasible.</li></ul><h3>Is OCEAN trustless?</h3><p>By itself, OCEAN relies completely on the validators you delegate when an OCEAN channel is opened. So it is as trustless as the method you use to delegate the validators. A good OCEAN implementation should (1) delegate validators who don’t stand to gain from their own malfeasance; (2) incentivize voting by validator rewards; and (3) implement stake and slashing if possible.</p><p>In most cases, most of your OCEAN validators would be the most important participants in the interaction themselves, along with third-party mediators.</p><h3>Comparison</h3><h3>State channels</h3><p>State channels are designed for interactions between two parties. You can use state channels for multi-party interactions too but that’s usually a network of multiple two-party state channels.</p><p>OCEAN channels are designed to handle multiple-party interactions in a much easier way, with much easier on-chain exits. For example, in a multi-party state channel network, each of the channels will have to exit/checkpoint before you could actually transfer a token reward out, while with OCEAN you’d only require finalizing a single OCEAN channel.</p><p>It needs to be said that a well-designed network of state channels may never need on-chain settlement. However, as of today, in a real world scenario, your users would actually need their funds to be moved on-chain if they want to spend them.</p><p>Furthermore, the trust model is different in that state channels rely on the participants to settle the channel, while OCEAN relies on delegated validators. When you scale that to multiple parties, however, it starts to look similar: you can have all the participants in the interactions be the validators on OCEAN. Should some validators decide to group together and act malicious, if they’re less than 2/3, they risk stalling the OCEAN channel and letting it timeout, therefore possibly getting slashed (depending on the implementation).</p><p>There’s much more to be said on the tradeoffs of both approaches, so expect a follow up post on this later this year.</p><p>To learn more on state channels, we recommend you check out <a href="https://www.learnchannels.org/">https://www.learnchannels.org/</a></p><h3>Plasma</h3><p>Most Plasma designs are sidechains for fund/NFT transfer, while an OCEAN can be used for any arbitrary events/computation.</p><p>In a dApp design, a Plasma chain would be expected to always stay open, meanwhile OCEAN channels would get opened/closed all the time.</p><p>Plasma delegates a single validator, but does it’s best to allow users to exit, should the validator misbehave. In OCEAN, we trust the validators completely, so delegating the validators in a fair and trustless manner is critical.</p><p>Something interesting to mention is that you can implement a sidechain using OCEAN as well, by implementing PoS with slashing. Each block would be a separate OCEAN channel, getting resolved by a vote for the correct state merkle root. The state would contain the new validator set, since it might be changed if someone gets slashed. The next OCEAN channel (for the next block) would only respect votes from the new validator set.</p><p>Compared to Plasma, this OCEAN-based sidechain will not have the exit guarantees, instead shifting the trust into the validators, and relying on a BPoS (bonded proof of stake) system to ensure they behave correctly. Such a sidechain will be much more suitable for arbitrary state transitions (smart contracts/ EVM), because the security model relies on ensuring validators behave correctly rather than on exit guarantees, which depend on UTXOs/ clear coin ownership.</p><p>We will publish a follow-up on this use case of OCEAN later on.</p><p>For more information on Plasma, this post is an excellent start: <a href="https://medium.com/tendermint/blockchain-scaling-solutions-cosmos-and-plasma-b5ee09456f80">https://medium.com/tendermint/blockchain-scaling-solutions-cosmos-and-plasma-b5ee09456f80</a>; and, of course, <a href="https://www.learnplasma.org/">https://www.learnplasma.org/</a>.</p><h3>When should I use OCEAN?</h3><p>Generally, the answer to this question depends on the logic of your dApp.</p><p>If the interactions are state transitions, are strictly ordered, and often flow between two parties, you probably need state channels.</p><p>If the interactions are mostly fund transfers, you probably need a network of payment channels or Plasma.</p><p>If, however, interactions have a complex flow and you need to exit on-chain often, we recommend you look into OCEAN.</p><h3>Protocol</h3><p>The OCEAN protocol is very loosely defined, allowing each particular design/implementation to extend it and refine it for the particular purpose.</p><p>The basic building blocks are:</p><ul><li>startCommitment(*any args*) -&gt; commitment: starts a commitment with specific goals, validUntil and validators; logic on how to determine those is up to the application;</li><li>finalizeCommitment(commitment, vote, signatures): finalizes a commitment with a vote; signatures is an array of signatures, each index corresponding to the given index of validators; a validator must sign keccak256(commitmentId, vote); whether the validators will be rewarded and what will happen on specific votes is up to the application;</li><li>timeoutCommitment(commitment): called to clean-up after a timed out commitment and perform the revert; this is not needed on systems where you can define your own block start/end behavior, such as Cosmos/Polkadot.</li></ul><p>For a deep dive into the protocol, we have a working implementation at <a href="https://github.com/AdExNetwork/adex-protocol-eth">https://github.com/AdExNetwork/adex-protocol-eth</a> and a protocol description at <a href="https://github.com/AdExNetwork/adex-protocol">https://github.com/AdExNetwork/adex-protocol.</a></p><p><strong><em>Interested in AdEx? Follow us:</em></strong></p><p><a href="https://www.adex.network/"><strong>Website</strong></a><strong> | </strong><a href="https://t.me/AdexNetwork"><strong>Telegram</strong></a><strong> | </strong><a href="https://join.slack.com/adex-community/shared_invite/MTk1ODQ2ODg3MzMxLTE0OTcxNjMyNjItOGYyMTJjM2FhMg"><strong>Slack</strong></a><strong> | </strong><a href="https://www.facebook.com/AdExNetwork/"><strong>Facebook</strong></a><strong> | </strong><a href="https://twitter.com/AdEx_Network"><strong>Twitter</strong></a><strong> | </strong><a href="https://www.reddit.com/r/AdEx/"><strong>Reddit</strong></a><strong> | </strong><a href="https://github.com/AdExBlockchain"><strong>GitHub</strong></a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7d24bb22ebe4" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>