Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 2A488AE0 for ; Wed, 18 Sep 2019 04:41:22 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-40136.protonmail.ch (mail-40136.protonmail.ch [185.70.40.136]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 30FA8711 for ; Wed, 18 Sep 2019 04:41:21 +0000 (UTC) Date: Wed, 18 Sep 2019 04:41:15 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=default; t=1568781678; bh=NXmOxkR3QxVvxntjutEtCpHcbygq047m9nC6zWUk2Bs=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References: Feedback-ID:From; b=lJju4uAvIwyRMHRc3w3HlgJw0G+ETqO7ek2r/iVl9p/EtcmRtYD2DO8fCMCL1ap+k oiAfGZepH96zNaXLa8a/JfbipGUlHCpBpRp4xsp7f9/1qd7wbl1PBGsZ+Lbx7RiJfs 0ulGUimA73Y4d4wb0mefN4LFOGaOtOql0LDhYJlo= To: ZmnSCPxj , Bitcoin Protocol Discussion From: ZmnSCPxj Reply-To: ZmnSCPxj Message-ID: In-Reply-To: <0HN1H7TAZu7EQVML0UfntRj5-dlF8-oP7swl7LrUtCzZ7F6o7tLaPmAdBIw9AQCQ8i9AllzYHWXlv47gsl1d7w3vVeD6MvklgUAg_gIdTp8=@protonmail.com> References: <0HN1H7TAZu7EQVML0UfntRj5-dlF8-oP7swl7LrUtCzZ7F6o7tLaPmAdBIw9AQCQ8i9AllzYHWXlv47gsl1d7w3vVeD6MvklgUAg_gIdTp8=@protonmail.com> Feedback-ID: el4j0RWPRERue64lIQeq9Y2FP-mdB86tFqjmrJyEPR9VAtMovPEo9tvgA0CrTsSHJeeyPXqnoAu6DN-R04uJUg==:Ext:ProtonMail MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, FROM_LOCAL_NOVOWEL, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: Re: [bitcoin-dev] Introcing a side memory network to bitcoin for ads X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Sep 2019 04:41:22 -0000 Good morning list, In case it is not obvious how this mechanism can be used, let me give me so= me short discussion. Many decentralized coin-mixing services require some concept of "maker", wh= ich serves as a temporary centralization in order to allow clients of the m= ixing service to find each other. Such makers might advertise themselves, backing their advertisements with l= ocked coins. The text of the advertisement may very well be a machine-readable descripti= on, such as JSON, including information about the maker in the coin-mixing = service. Escrow services for decentralized real-good-to-digital-good marketplaces (e= .g. decentralized exchanges) might advertise themselves over this mechanism= also. The actual advertising of marketplace offers might also be done via this me= chanism. Again, machine-readable descriptions might be transported over the advertis= ement text mechanism, in order to allow programs to present the "most natur= al" interface to end-users. Regards, ZmnSCPxj > Good morning Tamas, > > Thank you for taking the time to implement my idea. > > I filed an issue proposing a feature to add a "contact point" fixed-lengt= h field to all advertisements. > https://github.com/defiads/defiads/issues/1 > I believe this gives me the right to say: First post. > > I will try to take a look at building some kind of UI at some point in th= e next few months or years. > > Regards, > ZmnSCPxj > > Sent with ProtonMail Secure Email. > > =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 Original = Message =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 > On Tuesday, September 17, 2019 8:04 AM, Tamas Blummer via bitcoin-dev bit= coin-dev@lists.linuxfoundation.org wrote: > > > I introduced you to the pattern of a side memory to bitcoin in [1] and > > promised an implementation of it. > > Here you are. > > defiads is a side memory network to bitcoin, implemented in Rust, built > > on top of rust-bitcoin, murmel, hammersbald, rust-bitcoinconsenus, > > rust-wallet, all Rust open source free to grab at > > https://github.com/defiads/defiads > > defiads builds a peer-to-peer network to distribute textual ads, as > > first suggested by ZmnSCPxj[4]. I hope that it will serve > > decentralized finance applications with an infrastructure to distribute > > ads, order books, coinjoin proposals etc. > > Every defiads node maintains a copy of a network-wide shared 1GB memory > > pool of current ads. > > An ad is replicated to other nodes as long as there is some bitcoin > > locked to it on the bitcoin network. Locking means someone transferred > > some sats to an address that is associated with the ad using the > > pay-to-contract protocol[2]. The address does not release the bitcoins > > until a predefined time span that is the duration of the advertizement, > > this is accomplished with OP_CSV. The ad will be evicted from the pool > > as soon as the coins locked to it are spendable again. > > defiads ranks advertizements by the ratio of used space divided by > > bitcoins locked and will only replicate the top 1GB of this ranked list= . > > You may read the ads by starting a defiads process of your own and > > the query the content through its JSON-RPC API. > > You may place ads by performing the following steps, with its JSON-RPC = API > > > > 1. deposit some bitcoins into your defiads node's wallet > > > > 2. prepare an ad, providing its category, abstract and content > > > > 3. fund the ad by locking some of the bitcoins to it for a limited ter= m > > of the advertizement > > > > 4. you may withdraw your coins from the defiads node's wallet after th= e > > advertizement expires > > defiads handles the association with ads, locking and unlocking coi= ns. > > Implementation notes > > defiads connects to both the bitcoin and its own peer-to-peer netwo= rk. > > You do not need to run a bitcoin node as defiads=C2=A0 only needs a= small > > fraction of the information on the bictoin blockchain and retrieves= that > > on its own, as an SPV node. > > The defiads node's wallet is compatibe with that of TREZOR, Ledger, > > Greenwallet and many other wallets that support BIP38, BIP44, BIP48= , > > BIP84 key generation and use standards. > > defiads uses Invertible Bloom Lookup Tables[3] to synchronize the a= ds > > pool with its peers. > > Status > > It seems to work, but you should not yet use with real bitcoins, > > therefore by default it connects the bitcoin's test network. > > There is no discovery for the network yet, so you will have to know= some > > peer in the network to see other than your own ads. Write me a dire= ct > > email if you'd like to connect to my node. > > Future developent > > Should the use become popular then 1GB pool become tight, then peop= le > > will have to compete for its use. Some might not have enough bitcoi= n's > > to lock and might therefore pay others to lock theirs to fund an > > advertizement. defiads network could match both sides and thereby g= ive > > rise to bitcoin's first truly risk less interest rate market. > > defiads is currently downloading, but not storing, > > the blocks after its birth date. This will no longer be needed once > > BIP158 filters are served and committed by Bitcoin Core. > > I hope that someone builds a nice UI on top of the JSON RPC as that= is > > not my area of expertise. > > Tamas Blummer > > [1] https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-Au= gust/017264.html > > [2] https://arxiv.org/pdf/1212.3257.pdf > > [3] https://arxiv.org/pdf/1101.2245.pdf > > [4] https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-Ju= ly/017083.html > > > > > > bitcoin-dev mailing list > > bitcoin-dev@lists.linuxfoundation.org > > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev