Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WI0Y6-0005Y1-9k for bitcoin-development@lists.sourceforge.net; Mon, 24 Feb 2014 18:46:42 +0000 X-ACL-Warn: Received: from jim.sh ([75.150.123.25] helo=psychosis.jim.sh) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) id 1WI0Xv-00035M-Le for bitcoin-development@lists.sourceforge.net; Mon, 24 Feb 2014 18:46:42 +0000 Received: from psychosis.jim.sh (localhost [127.0.0.1]) by psychosis.jim.sh (8.14.4/8.14.4/Debian-2) with ESMTP id s1OITVpX016869 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 24 Feb 2014 13:29:31 -0500 Received: (from jim@localhost) by psychosis.jim.sh (8.14.4/8.14.4/Submit) id s1OITVpC016868; Mon, 24 Feb 2014 13:29:31 -0500 Date: Mon, 24 Feb 2014 13:29:31 -0500 From: Jim Paris To: Mark Friedenbach Message-ID: <20140224182931.GA16588@psychosis.jim.sh> References: <5306BCC1.8040004@monetize.io> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5306BCC1.8040004@monetize.io> Sender: jim@jim.sh User-Agent: Mutt/1.5.20 (2009-06-14) X-Virus-Scanned: clamav-milter 0.97.5 at psychosis X-Virus-Status: Clean X-Spam-Score: -0.0 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain X-Headers-End: 1WI0Xv-00035M-Le Cc: Bitcoin Dev Subject: Re: [Bitcoin-development] Base-32 error correction coding X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Feb 2014 18:46:42 -0000 Mark Friedenbach wrote: > What follows is a proposed BIP for human-friendly base-32 > serialization with error correction encoding. ... > 2. Automatic correction of up to 1 transcription error per 31 coded > digits (130 bits of payload data). For a 256-bit hash or secret key, > this enables seamless recovery from up to two transcription errors so > long as they occur in separate halves of the coded representation. Can we do better than correcting single transcription errors? I'd imagine that transposition of two adjacent characters, or insertion or deletion of a single character, would be very common. At the very least, a transposition could be corrected by interleaving the two "halves of the coded representation", e.g.: ABABABABABABABABABABABABABABABABABABABABABABABABABABABABABABAB insead of AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Jim