This is the first in a series of updates on the progress of development of ROAST and DLCs.
ROAST is a threshold signature scheme for Schnorr signatures allowing multiple participants to control a single key, requiring a threshold of participants to sign messages (such as Taproot transactions).
DLCs are Discrete Log Contracts. These allow two or more parties to construct a smart-contract that will pay according to outcomes decided by a third party oracle. Peercoin has ANYPREVOUT and Taproot which allow these contracts to be done in an all-or-nothing fashion whilst preserving privacy for the participants. ROAST allows distributed oracle attestations to be done by a threshold of oracles, removing reliance on a single third-party oracle.
I am tasked with the ongoing development of ROAST and DLCs to enable distributed DLC contracts on Peercoin. These will be the most advanced DLC contracts available, removing counterparty risks and preserving privacy with minimal on-chain footprint.
In May, the following has been achieved:
- frosty_flutter has been released, allowing frosty to be easily included in flutter apps. The Peercoin Flutter wallet uses frosty_flutter for an experimental ROAST wallet. Android, iOS, macOS and Linux are supported.
- noosphere_roast_server has been made open-source under the BSD3 licence. This allows ROAST servers to be created for coordinating ROAST signing. roast.host is available for creating hosted Noosphere ROAST servers.
- coinlib v4.10 was released allowing Taproot inputs to be used in coin selection. This was necessary to support construction of Taproot transactions using ROAST for signing.
The next stage is to enable oracle ROAST signatures with pre-generated R-points.
A description of the intended DLC implementation is found here: Atomic DLCs with Distributed Oracles