Skip to content
Pico y Pala – Bitcoins, Ethereum, Ripple,…

Bitcoin Optech: Bitcoin Technical Updates Publication #138

03/04/2021

This week’s e-newsletter covers the BIP70 fee protocol, proposals for a standardized option to alternate fraud proofs for Discreet Log Contracts (DLCs) and extra.

The Bitcoin Optech e-newsletter supplies readers with a top-level abstract of a very powerful technical information occurring in Bitcoin, together with assets that assist them be taught extra. To assist our readers keep up-to-date with Bitcoin, we’re republishing the most recent challenge of this article beneath. Keep in mind to subscribe to obtain this content material straight to your inbox.

Information

  • Dialogue a few BIP70 substitute: Thomas Voegtlin began a thread on the Bitcoin-Dev mailing record a few substitute for a number of the options of the BIP70 fee protocol, particularly the flexibility to obtain a signed fee request. Voegtlin desires to have the ability to show that the deal with he paid was really the deal with offered to him by the receiver (e.g. an alternate). Charles Hill and Andrew Kozlik every replied with details about protocols they’re engaged on. Hill’s scheme is meant to be used with LNURL however might be repurposed to serve Voegtlin’s meant use case. Kozlik’s scheme is nearer in spirit to BIP70 however drops its use of X.509 certificates and provides options for exchange-based coin swaps (e.g. buying and selling BTC for an altcoin or vice-versa).
  • Fraud proofs within the v0 Discreet Log Contract (DLC) specification: Thibaut Le Guilly began a dialogue on the DLC-dev mailing record concerning the purpose to incorporate fraud proofs within the model 0 DLC coordination specification. Two varieties of fraud have been mentioned:
    • Equivocation: the place an oracle indicators for a similar occasion greater than as soon as, producing conflicting outcomes. A proof of equivocation might be robotically verified by software program with out third-party belief.
    • Mendacity: the place an oracle indicators for an consequence that customers know is incorrect. This may nearly at all times depend upon proof not out there to the consumer’s contract software program, so such a fraud proof have to be verified manually by the consumer, who can evaluate the unique contract to the result signed by the oracle.

    Dialogue contributors appeared to all favor offering an equivocation proof, though there was some concern that it might be an excessive amount of work for the v0 specification. As an intermediate answer, it was advised to concentrate on proofs of mendacity. When the format of these proofs has been established, software program can then be up to date to take two separate proofs for a similar oracle and occasion to create a proof of equivocation.One concern with proofs of mendacity was that customers might be spammed by pretend proofs, forcing customers to both waste their time verifying false proofs or hand over checking fraud proofs altogether. Counterarguments included having the ability to get a part of the proof from an onchain transaction (which requires that somebody paid an onchain price) and likewise that customers might select the place they obtain fraud proofs from, preferring to get them from a supply that was recognized for under propagating correct info.

Notable code and documentation adjustments

Notable adjustments this week in Bitcoin Core, C-Lightning, Eclair, LND, Rust-Lightning, libsecp256k1, {Hardware} Pockets Interface (HWI), Rust Bitcoin, BTCPay Server, Bitcoin Enchancment Proposals (BIPs), and Lightning BOLTs.

  • Bitcoin Core #16546 introduces a brand new signer interface, permitting Bitcoin Core to work together with exterior {hardware} signing units by way of the HWI or some other utility which implements the identical interface.Bitcoin Core has been in a position to interface with {hardware} signers utilizing HWI since Bitcoin Core model 0.18. Till this PR, nonetheless, the method required use of the command line to switch knowledge between Bitcoin Core and HWI. This PR simplifies the consumer expertise by enabling Bitcoin Core to instantly talk with HWI. The PR contains full documentation on the way to use the brand new signer interface together with HWI.The brand new signer interface is at the moment solely accessible by way of RPC strategies. A draft PR provides help for the signer interface to the GUI, permitting the usage of {hardware} signers with Bitcoin Core with none use of the command line.
  • Rust-Lightning #791 provides help for polling BlockSource interfaces on startup to sync blocks and headers, with fork detection throughout sync. As described in Publication #135, BlockSource permits software program to acquire knowledge from sources apart from an ordinary Bitcoin Core suitable node, permitting redundancy that may assist forestall eclipse assaults or different safety issues.
  • Rust-Lightning #794 allows help for the BOLT2 option_shutdown_anysegwit function that allows future segwit variations when initiating shutdown. If option_shutdown_anysegwit is negotiated, a channel occasion sending a shutdown message to provoke closing could ship a scriptpubkey for fee, offered the script complies with the usual BIP141 witness program type of a model byte (a 1-byte push opcode of OP_1 by way of OP_16) adopted by a witness program (a byte vector push of two to 40 bytes). These shutdown scripts are restricted to straightforward types to keep away from costly fee-heavy scripts or transactions with outsized scripts not propagating as a consequence of non-standardness. Because it grew to become potential to relay funds to any segwit script in Bitcoin Core 0.19.0.1 (launched November 2019), it’s now secure to incorporate them in LN’s customary types.
  • HWI #413, #469, #463, #464, #471, #468, and #466 considerably replace and lengthen HWI’s documentation. Notably notable adjustments embody a hyperlink to the documentation on ReadTheDocs.io, new and up to date examples, and a brand new coverage that describes the standards new units should meet for HWI to contemplate supporting them.
  • Rust Bitcoin #573 provides a brand new technique SigHashType::from_u32_standard that ensures the offered sighash byte is one among customary values that Bitcoin Core will relay and mine by default. Every signature’s sighash byte signifies what components of the transaction must be signed. Bitcoin’s consensus guidelines dictate that non-standard sighash values are handled as equal to SIGHASH_ALL, however the truth that they aren’t relayed or mined by default can theoretically be used to trick software program utilizing offchain commitments into accepting an unenforceable fee. Builders of such software program utilizing Rust-Bitcoin could which to change to this new technique from the SigHashType::from_u32 technique that accepts any consensus-valid sighash byte.
  • BIPs #1069 updates BIP8 to permit for a configurable activation threshold and to incorporate 90% as a suggestion, down from 95% beforehand, based mostly on the latest taproot activation dialogue.

The unique put up might be discovered right here: https://bitcoinops.org/en/newsletters/2021/03/03/

Please subscribe to the Bitcoin Optech e-newsletter on to obtain this content material straight to your inbox each month: https://bitcoinops.org/en/newsletters/