<?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"><channel><title><![CDATA[Matthew Nolan's Blog]]></title><description><![CDATA[Matthew Nolan's Blog]]></description><link>https://matthewnolan.xyz</link><image><url>https://matthewnolan.xyz/icon.png</url><title>Matthew Nolan&apos;s Blog</title><link>https://matthewnolan.xyz</link></image><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Feb 2025 00:26:54 GMT</lastBuildDate><atom:link href="https://matthewnolan.xyz/rss.xml" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Oct 2020 04:00:00 GMT</pubDate><copyright><![CDATA[2025 Matthew Nolan]]></copyright><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Experiments in NFT Derivatives]]></title><description><![CDATA[<p>I’m currently working on a prototype for a protocol which creates derivatives of NFTs across multiple blockchains. I want to share some of the architectural concerns.</p>
<p><em>Our Goal:</em> A permissionless, decentralized system which allows users to create derivatives of NFTs like Bored Apes across multiple blockchains and markets.</p>
<h1 id="problemswewanttosolve">Problems We Want to Solve</h1>
<ul>
<li><strong>The blockchain ecosystem is growing increasingly fractured.</strong> There are many blockchains which support NFTs, but each chain is somewhat of an island onto itself, and the NFTs on those chains are trapped on the blockchain of its origin.</li>
<li><strong>Lack of liquidity.</strong> While Non-Fungible Tokens are designed to be, well, non-fungible. There is nonetheless a demand for liquidity.</li>
<li><strong>The Ethereum gas is too high.</strong> Most of the “blue-chip” NFTs are on Ethereum. However the Ethereum network is relatively slow and expensive in terms of gas fees. Allowing users to create derivatives of their Ethereum NFTs on other networks would give them new flexibility.</li>
</ul>
<h1 id="overallarchitecture">Overall Architecture</h1>
<p>Essentially what we want is something which allows anybody to create derivatives of any NFT. (Waiting for the sole owner of a Bored Ape to lock up their NFT would slow user acquisition).</p>
<h2 id="overcollateralizeddebtpositions">Over-Collateralized Debt Positions</h2>
<p>There are protocols which allow users to "fractionalize" NFTs by locking them in a contract and minting fungible tokens which represent their asset’s. However the ideal system is much more flexible and market supply is not dependent on converting sole NFT owners. (Waiting for the sole owner of a Bored Ape to lock up their NFT would slow user acquisition).</p>
<p>The ideal system is one where any user can create derivatives of any NFT. What we want is something similar to MakerDAO, where users over-collateralize the value of an NFT with another asset. Basically, if an NFT floor is at $100, the user would deposit $150 of DAI to mint their fungible derivative, which they could then freely trade. A key difference is that MakerDAO is a system for creating <a href="https://coinmarketcap.com/alexandria/glossary/collateralized-debt-position-cdp">Collateralized Debt Positions</a> for a single asset, the U.S. dollar. We essentially need to create millions of MakerDAOs for a market of millions of NFTs.</p>
<h2 id="creatingcrosschainmarkets">Creating Cross Chain Markets</h2>
<p>As previously mentioned, allowing users to supply collateral on one chain and mint a derivative on another, is a critical feature. Since it allows users to trade assets on a chain, it will result in cheaper transaction fees. Critically, this design creates arbitrage opportunities between the various markets, which invites autonomous actors to effectively make markets.</p>
<p><em>Example:</em> A user wants to create a derivative of their favorite Ethereum NFT (Bored Monkey), which has a floor price of $100. The user deposits $150 into the dApp, and it mints a fungible token representing that NFT on a blockchain of the users preference, let's say on BSC. The user then deposits their synthetic Bored Monkey derivative into a Liquidity Pool on Pancake Swap with $100 BUSD. There is now a market for Bored Monkey on another blockchain with $200 liquidity. And this user is now earning yield on trading fees.</p>
<p>Because BSC is cheaper than Ethereum, someone else buys that Bored Monkey derivative. Other people notice this new market and also mint Bored Monkey derivatives to do the same. Because this Bored Monkey has more volume on BSC than the illiquid NFT on Ethereum, it trades on BSC slightly higher than the floor price of the original NFT (lets say $105). There is now an arbitrage opportunity between these markets. As traders jump on the opportunity this creates even more volume and liquidity. Meanwhile back on Ethereum, seeing this price action someone buys the original Bored Monkey for $104.</p>
<h1 id="oracleconsiderations">Oracle Considerations</h1>
<p>CDP’s require a price feed to ensure the token stays stable. Generally, most NFT defi products use the collection floor price as the “value” of the NFT asset. One of the challenges to applying defi financial primitives to NFTs is the dependency on price data, which originates off-chain like the Open Sea API. <a href="https://docs.chain.link/data-feeds/nft-floor-price">Chainlink</a> is of course the dominant oracle project and they recently launched an API for NFT price data. One major consideration from the NFT market is that it’s critical to have a diverse set of price feeds as a singular source, which is subject to price manipulation. Our users will want transparency into these data sources to trust our system. Ideally, we will need to aggregate price data from a wide matrix of price feeds.</p>
<h1 id="thetech">The Tech</h1>
<p>This protocol is sort of a mashup of existing technology. We know there are excellent smart contract CDP systems. We know they are on-chain Oracles. The final piece is a secure, cost efficient cross chain messaging system.</p>
<h2 id="bridgingtechcommitteebasedvsproofbased">Bridging Tech: Committee Based vs Proof Based</h2>
<p>Bridges come in two basic flavors: 1) proof-based and 2) committee-based. Proof-based solutions entail cryptographic proving of the validity of any transaction of one chain in the other. Whereas the committee-based solution relies on the social consensus of the bridge validators to attest for the transaction validity, which often involves no cryptographic proving.</p>
<p>Proof-based messaging can be made to be totally disintermediated. Committee-based introduces potential censorship and security vulnerabilities. I personally tend to be a bit of a decentralization maximalist if only for the security guarantees, so Proof-based is the most attractive.</p>
<h1 id="finalthoughts">Final Thoughts</h1>
<p>This project is currently under development. Just wanted to share some thoughts about how to make NFTs a bit more liquid.</p>]]></description><link>https://matthewnolan.xyz/blog/cross-chain-nft-derivatives</link><guid isPermaLink="true">https://matthewnolan.xyz/blog/cross-chain-nft-derivatives</guid><category><![CDATA[NFT]]></category><category><![CDATA[crosschain]]></category><category><![CDATA[ethereum]]></category><category><![CDATA[bsc]]></category><category><![CDATA[binance]]></category><category><![CDATA[derivatives]]></category><dc:creator><![CDATA[Matthew Nolan]]></dc:creator><pubDate>Tue, 27 Dec 2022 09:06:25 GMT</pubDate></item><item><title><![CDATA[Secret DAO Voting on Ethereum with Timber Network]]></title><description><![CDATA[<p>In Brief:</p>
<ul>
<li>Some colleagues and I are developing a new cross-chain messaging relayer we call <a href="https://github.com/timbernetwork">Timber Network</a>. </li>
<li>We used it for a prototype which leverages the <a href="https://scrt.network/">Secret Network</a> to enable Ethereum DAOs to vote secretly without ever having to migrate their ERC20 tokens (video demo below).</li>
<li>Our prototype <a href="https://twitter.com/sozuhaus/status/1600305757353701377">won a hackathon sponsored by BitDao</a>, of which we are extremely honored.</li>
<li>🌳🌐</li>
</ul>
<p><div className="text-center embed-container">
    <iframe width="560" height="315" src="https://www.youtube.com/embed/xgD8ouIV50M" frameborder="0" allow="accelerometer;  clipboard-write; encrypted-media; gyroscope" allowfullscreen></iframe>
</div>
<small>In this video I demonstrate an Ethereum DAO user doing secret ballot voting by using Timber Network to leverage the privacy features of Secret Network without having migrate their tokens off of Ethereum.</small>
</p>
<h1 id="applicationspecificcrosschainmessaging">Application Specific Cross-Chain Messaging</h1>
<p>I wanted to share a little info on a project I've been working on with some colleagues. We're building a network which allows different distinct blockchains to communicate and interact with one another. We call it <a href="https://github.com/timbernetwork">Timber Network</a>. Timber stands for Trustless Incentivized Messaging Blockchain Encrypted Relayer.</p>
<p>The <a href="https://jumpcrypto.com/security-stack-up-how-bridges-compare/">first generation of this sort of technology, the "bridges"</a>, were  comprised of trusted third parties which simply moved tokens from ChainA to ChainB, several having some high profile security issues. Then came the 2nd generation, the "relayers" which are much harder in terms of security. Some introduced features for "generalized" cross-chain message relaying. This feature could be very useful though it's primary use for token transfers in and out of liquidity pools ie "bridging".</p>
<p>While some of these generalized messaging relayers are extremely cool, they all seem to focus on "general messaging" as its primary use was token transfers. I see a need for a next generation, relayers which execute more complex logic: an "application specific" relayer. The concept is that dApps that share common dApp primitives (ie voting, minting NFTs, swaps) agree on a standardized set of messaging protocols which would allow distinct blockchains to work interoperably. The goal is to connect blockchains together and leverage one another’s features like Lego's.</p>
<h1 id="introducingtimbernetwork">Introducing Timber Network</h1>
<p>Timber Network has three primary components: a base blockchain which manages governance, gateway smart contract deployed on supported chains, and relayers which are responsible for interacting with gateway smart contracts. Privacy is preserved using <a href="https://vitalik.ca/general/2022/06/15/using_snarks.html">ZK-SNARKs</a> between the relayer and base chain. The base chain enforces trust minimization in the network while allowing modularity in the from the contracts and relayer.</p>
<h1 id="workingexamplesecretballotdaovotingforethereum">Working Example: Secret Ballot DAO Voting for Ethereum</h1>
<p><strong>Problem:</strong> The Ethereum network is public by design which is usually great for most use cases, but bad for DAOs who want a secret ballot (since anyone can see how you voted). Secret ballots are sort of an <a href="https://en.wikipedia.org/wiki/Secret_ballot">MVP feature of democracy</a> which isn't possible on Ethereum alone. This is actually a growing problem as teams increasingly form DAOs to operate their startup (voting against your team or boss might lead to some awkward situations).</p>
<p>There are other blockchains which have privacy features, one of our favorites being <a href="https://scrt.network/">The Secret Network</a>. But it's difficult for a DAO to simply pack up and migrate to an entirely different blockchain because the DAO might have voting tokens which they cannot bridge, a locked treasury, or using ENS for their identity. With an "application specific" cross-chain relayer, the DAO can balance the strengths and weakness of multiple chains together such as keeping their voting tokens on Ethereum but using the privacy of Secret Network to vote.</p>
<p><strong>Solution:</strong> To demonstrate this we built a prototype which balances both networks. We have contracts deployed to both Secret and Ethereum and a relayer with limited permissions on each. Upon voting the relayer provides Secret with the only data points it needs to know: a signed message with their ETH address, voting token balance, and chain metadata which registers the user to vote on Secret.</p>
<p>What is known is that a user is registered but not what they voted for. At the end of the proposal only the result is sent back to Ethereum, where it would be possible to then call another contract such as a treasury contract. All execution is trustless, votes are private, and the relayer only has permissions to read and write these specific data.</p>
<h1 id="furtherplans">Further Plans</h1>
<p>This DAO use case is just one example of the potential possibilities of using blockchains in this way. There are endless possibilities when connecting these networks like this. Our long term vision is a blockchain equivalent of <a href="https://zapier.com/">Zapier</a>.  As a developer this is what I want:</p>
<ul>
<li>I want a private, encrypted, front run resistant order book on <code>Oasis</code> to trigger transactions on <code>Ethereum</code> <code>Uniswap</code></li>
<li>I want members of my DAO on <code>Ethereum</code> to vote on a political party privately on <code>Secret Network</code> with their <code>Ethereum</code> voting tokens, and then give those who voted access to my politics group on <code>Lens Protocol</code></li>
<li>I want to <code>mint an NFT</code> on <code>BSC</code> only to users who own a <code>Bored Ape</code> on <code>Ethereum</code></li>
<li>I want users to be able to stake their <code>Solana</code> NFTs to validate on <code>Cosmos</code></li>
<li>I want users to add liquidity to my token on <code>Uniswap</code> on <code>Ethereum</code> and then <code>bridge</code> their LP token over to my yield farm on <code>Avalanche</code></li>
<li>I want to build an epic Web3 game where the top PFP NFTs from <code>Ethereum</code> <code>BSC</code> and <code>Avalanche</code> battle one another in a fierce metaverse dance off for yield rewards on <code>Moonbeam</code></li>
</ul>
<p>And I want all of that to happen in a way which is trustless, verifiable, private when it needs to be, and without making a single Web2 API call.  </p>
<h1 id="finalthoughts">Final Thoughts</h1>
<p>Timber Network is under heavy development and there is still a lot of work to be done. If you're interested in working with us, please reach out on <a href="https://x.com/CryptoDiscoFun">Twitter</a> or email.</p>
<p>Team Timber would also like to give thanks to <a href="https://www.bitdao.io/">BitDAO</a> and <a href="https://twitter.com/sozuhaus">Sozu House</a> for their support on this project.</p>]]></description><link>https://matthewnolan.xyz/blog/secret-dao-voting-ethereum-with-timber-network</link><guid isPermaLink="true">https://matthewnolan.xyz/blog/secret-dao-voting-ethereum-with-timber-network</guid><category><![CDATA[Timber]]></category><category><![CDATA[Ethereum]]></category><category><![CDATA[DAO]]></category><category><![CDATA[Secret]]></category><category><![CDATA[SCRT]]></category><dc:creator><![CDATA[Matthew Nolan]]></dc:creator><pubDate>Wed, 21 Dec 2022 10:33:14 GMT</pubDate></item><item><title><![CDATA[Moving DAOs Back on Blockchain]]></title><description><![CDATA[<p>In the last year we have been working with multiple teams creating various types of DAOs ranging from launchpads to artists grants. It seems everyone is in favor of using off chain tools like <a href="https://snapshot.org/">Snapshot</a> because of its slick UI and of course to save gas. While Snapshot is cool, I think there are many benefits to moving DAOs back on-chain which many are overlooking. I wanted to drop a few feature concepts of the sort of problems entirely on-chain DAOs might solve.</p>
<h1 id="instantliquidity">Instant Liquidity</h1>
<p>Right now across almost all investment or funding DAOs, after a project gets funded it's usually up to the project to launch a liquidity pool (or make a market on a centralized exchange). It's actually a sort of nervous moment for everyone in the community. Although everyone in the DAO invested in who they hope would never do this, it's possible for the project to exit scam at this stage. The sigh of relief and a reconfirmation that the DAO is making smart choices comes only when the project owner deploys some liquidity on an AMM. Investors are now able to at least sell their token should they choose to.</p>
<p>These LPs could be created entirely on-chain automatically at the end of a funding event. There are some projects that come close to doing this like Balancer. The trouble though is that it’s not designed to get projects funding, only distribute tokens. It would be much safer to swap tokens from DAOs / investors / buyers / etc, and afterwards deploy a liquidity pool on the DAOs AMM of choice, entirely on chain.</p>
<h1 id="rugpullprooflpmanagement">Rug Pull Proof LP Management</h1>
<p>A "rug pull", for those who don't know, is a type of attack whereby the capital in a liquidity pool is pulled without warning. For instance token buyers see a large amount of liquidity and assume that if they buy a token, they will be able to sell it later at a profit (or loss), but the actor who hold some or all of the liquidity pulls everything out, leaving people holding tokens (which may technically have been increasing in price) without anyone else to sell the token to. Get the name, it’s like having a run pulled out from under you.</p>
<p>The other problem with LBPs or Uniswap “fair launches” is that the original LP tokens are still controlled by individuals who can “rug” the liquidity acquired from the sale. This was recently seen with AnubisDAO where the project did a “fair launch” LBP sale, however one of the core team members controlled all the liquidity tokens and ended up stealing them, running off with $25m in investor funds while the sale was ongoing.</p>
<p>There is a brutally elegant solution to preventing rug pulls: simply locking the LP tokens up in a contract so liquidity is impossible to remove, either a vault, vesting, or giving the DAO control. Many know to look for locked LP tokens and actually some blockchain explorers such as DexTools have even built in features which shows if the LP is locked. So I think it makes sense to do this all at once, on chain, without any ambiguity.</p>
<h1 id="onchaintreasurygovernance">On-Chain Treasury Governance</h1>
<p>Currently many DAOs use Snapshot to vote on project treasury, use of funds, etc. While Snapshot is an extremely cool tool as it lets users vote with their Web3 identity, it lacks the ability to execute proposals.</p>
<p>I'm very inspired by <a href="https://ethresear.ch/t/explanation-of-daicos/465">Vitaliks 2017 post about DAICOs</a>. He aims to solve the problem of exit scam risk and give investors increased transparency and participation in project development. While that exact model may not fit in this market, I think there are some interesting ideas worth borrowing from. The ideal system is one where funds are distributed at regular intervals after a DAO governance vote: milestone conditional funding.</p>
<p>Furthermore it would be useful to move the projects token treasury into a governed smart contract. Recently there was <a href="https://www.theblockcrypto.com/post/132340/wonderland-votes-out-quadrigacx-co-founder-sifu-and-is-considering-shutting-down">a controversy</a> with WonderlandDAO where the community got upset after it was discovered a possibly shady character was in charge of treasury management. They used Snapshot to vote on whether to have him replaced. It would be better to simply put the entire project treasury on chain and put the DAO itself in control of managing it. Use of treasury funds will simply be a proposal from the development team the DAO votes on. This will also reduce the risk of treasury dumps.</p>
<h1 id="distributedyieldrewards">Distributed Yield Rewards</h1>
<p>DAOs might be managing a matrix of assets including, project tokens, the project treasury, LP tokens, and tokens the projects allocate for public LP yield rewards. This presents an opportunity to offer this available capital in over collateralized loans to the broader DeFi ecosystem, which itself will generate returns in the form of fees. DAO members will not just be profiting from their project investments, but also in fees generated from the underlying protocol assets.</p>
<p>Just a few ideas to make the DAO world better and safer. </p>
<p><a href="https://mirror.xyz/matthewnolan.eth/Am3ez7Wy8vanXNZHGKmpfWsb_nGPd2oIGKyOmgiUxM4">Cross-posted on Mirror.xyz</a></p>]]></description><link>https://matthewnolan.xyz/blog/moving-daos-back-on-blockchain</link><guid isPermaLink="true">https://matthewnolan.xyz/blog/moving-daos-back-on-blockchain</guid><category><![CDATA[Ethereum]]></category><category><![CDATA[DAO]]></category><dc:creator><![CDATA[Matthew Nolan]]></dc:creator><pubDate>Fri, 04 Feb 2022 01:10:46 GMT</pubDate></item><item><title><![CDATA[TED Talk and Residency]]></title><description><![CDATA[<p>I’m very honored to have been accepted into the Spring 2017 TED Residency class. The TED Residency an in-house incubator for breakthrough ideas. Residents spend four months in the TED office with fellow brilliant minds who are creatively taking on projects that are making significant changes in their communities, across many different fields. At the end of their session, Residents have the opportunity to give a TED Talk about their ideas. <a href="https://blog.ted.com/meet-the-spring-2017-class-of-ted-residents/">More info here</a>.</p>
<div className="text-center embed-container">
    <iframe width="560" height="315" src="https://www.youtube.com/embed/M-SE6Fm6PGU" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
<p><a href="https://youtu.be/M-SE6Fm6PGU">Link to my TED talk on YouTube</a></p>
<p><a href="https://www.ted.com/talks/matthew_nolan_world_peace_one_swipe_at_a_time">Link to my TED talk on TED</a></p>
<p><a href="https://www.ted.com/profiles/2943657">Link to my TED profile</a></p>]]></description><link>https://matthewnolan.xyz/blog/ted-talk</link><guid isPermaLink="true">https://matthewnolan.xyz/blog/ted-talk</guid><category><![CDATA[TED]]></category><dc:creator><![CDATA[Matthew Nolan]]></dc:creator><pubDate>Sun, 25 Oct 2020 17:28:42 GMT</pubDate></item></channel></rss>