This document proposes a new scheme to avoid address reuse while retaining some of the convenience of address reuse, keeping recoverability purely from Bitcoin time chain and avoiding visible fingerprint. The scheme has negligible average overhead.
{ config, pkgs, lib, ... }: | |
{ | |
# This sway config is mostly based on https://nixos.wiki/wiki/Sway | |
# which integrates sway with systemd in the style described here | |
# https://github.com/swaywm/sway/wiki/Systemd-integration | |
# and the replies in https://github.com/NixOS/nixpkgs/issues/57602 | |
# with some individual packages added/removed and using sddm as the display manager. | |
# | |
# Take care to start the correct target as described by the sway proejct wiki. |
# Copyright 2020 Google LLC. | |
# SPDX-License-Identifier: Apache-2.0 | |
{ config, pkgs, ... }: | |
let | |
# https://github.com/StevenBlack/hosts/issues/451 | |
# https://github.com/ScriptTiger/Hosts-Conversions | |
# https://github.com/ScriptTiger/scripttiger.github.io | |
# https://scripttiger.github.io/alts/ | |
adblockLocalZones = pkgs.stdenv.mkDerivation { | |
name = "adblock-rpz"; |
/* | |
minimod: A stripped down module system | |
TODO Comparison: | |
- [ ] Come up with a benchmark "logic" using plain old functions and let bindings | |
- [ ] Write the benchmark for the module system | |
- [ ] Write the benchmark for POP? | |
- [ ] Qualitative comparison of extensibility in the context of composable | |
Nixpkgs packaging logic | |
TODO Fine-tuning: |
trait Interp { | |
type Repr<T>; | |
fn lit(i: i32) -> Self::Repr<i32>; | |
fn add(a: Self::Repr<i32>, b: Self::Repr<i32>) -> Self::Repr<i32>; | |
} | |
struct Eval; | |
impl Interp for Eval { |
There might be a secure scheme that non-interactively generates a n-of-n
FROST key and from there you can interactively turn it into a t-of-n
by issuing new shares (i.e. enrolment).
I don't really know if this is a useful contribution even if it works. There might be some utility in not having multiple schemes but rather a one size fits all approach.
MuSig takes a "multiset" of n
public keys and outputs a single aggregated key which takes n-of-n
secret keys to sign.
Set z_i = H(X_1,.. X_i, .. X_n, X_i)
for i = 1,2, .. n
.
#lang racket | |
(require racket/hash) ;; hash-union | |
;; UNIFICATION VAR | |
;; symbol beginning with ? | |
(define (var? x) (and (symbol? x) (string-prefix? (symbol->string x) "?"))) | |
(define/contract (var x) (-> symbol? var?) | |
(string->symbol (format "?~a" x))) | |
(define/contract (var-name x) (-> var? symbol?) |
A NixOS module/config that sets up some stuff on ungoogled-chromium, hope this can help somebody:)
Important
If you want to just include this module in this config into your system make sure to update the hash path to some persistent location on your computer: CHROMIUM_HASH_FILE="/persist/chromium-config.hash"
The most important takeaways from this config are the following