From owner-freebsd-current@freebsd.org Thu Feb 22 13:25:58 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D15C8F02B05 for ; Thu, 22 Feb 2018 13:25:57 +0000 (UTC) (envelope-from dch@skunkwerks.at) Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7A03F82122 for ; Thu, 22 Feb 2018 13:25:57 +0000 (UTC) (envelope-from dch@skunkwerks.at) Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 8A45920DD3 for ; Thu, 22 Feb 2018 08:25:56 -0500 (EST) Received: from web6 ([10.202.2.216]) by compute7.internal (MEProxy); Thu, 22 Feb 2018 08:25:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=skunkwerks.at; h=content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=Cl7afB/DBGkZ6nfW+idtsrS3i7i7Y 3+k9A81d2aiy5Q=; b=bomtK1T+GGSupx5WeWDdMCM679hAkSintRU0QgbzvmYwB 4VBdm73GYszxwpIVPBnKWV5gpgyNZ5OfdTMgdpVx4vkFwyNahTAwGJv2R3C35ebs U4lz7n+7tT+AxOaiYfpuGxoRGiz5q6RQMwOvOcxXa6tyFWXPbnIZ9PzOPQ9KUx2e xn5M7boB2mVbVdzqgA3H63OmVEI7gtjD7Fge+1o6Mru0QpfcPULP0/NQH56DWN9B 8oFM3MAkfklTfgLHYbbO27S1EyVc/rY8cQizqLzakcV0g3ia0/e3daUmuTqzwyMA DbPFvbtw3kDXar/dL1iS4OLhZpvNWMdAgGcLy7Ang== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=Cl7afB /DBGkZ6nfW+idtsrS3i7i7Y3+k9A81d2aiy5Q=; b=FbBSgH2dYq9aPVixtVt5Zc FcWFNIOhKlpL2MqRlIysxwlsw511cqFRgI8OoMNXNDKDxfHYOlb07W3q33XwGPvf btT3IKNx5nXj99e96YqyCgF8h2+w1MvoUG4fetJDenetvs4G0LFZ8lD4s12cmrXX NjcwQQGxq06Mf27ufAbqyRLgpWR/Y1cTJ4OG1cSTF9hdkD6ZGkLF0S5+Cxq+he2Z rW+pvqB9S3rbZ7B/44qXNAGkIOlA+ixS6beEZeinV84fxVGm9WqULT4OJjvpjQcG HX7wocBVw6aLZ3VLK6f1royp/h6mwTC/pEZXYm1A5lfkNYk2sswYdBm7ocYyXkpA == X-ME-Sender: Received: by mailuser.nyi.internal (Postfix, from userid 99) id 6B5674133; Thu, 22 Feb 2018 08:25:56 -0500 (EST) Message-Id: <1519305956.3128800.1279637856.74E007EC@webmail.messagingengine.com> From: Dave Cottlehuber To: freebsd-current@freebsd.org MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Mailer: MessagingEngine.com Webmail Interface - ajax-efbb3405 Subject: Re: P2P core/daemon in Base? In-Reply-To: <20180222025158.dqookgcvscyihyeb@privacychain.ch> References: <20180222025158.dqookgcvscyihyeb@privacychain.ch> Date: Thu, 22 Feb 2018 14:25:56 +0100 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Feb 2018 13:25:58 -0000 On Thu, 22 Feb 2018, at 03:51, Le Baron d=E2=80=99Merde wrote: > Dear Fellows, >=20 > Nothing new and probably will not be implemented, specially by me who=20 > can't write code, but I am sharing this idea anyway. >=20 > The point would be to have a P2P core/daemon in Base with some API to be= =20 > used by clients, including pkg, freebsd-update, and portsnap becoming=20 > P2P based/capable, and would also allowing any user that desire to=20 > become a FreeBSD mirror[1]. What would reduce the load on the FreeBSD=20 > infrastructure. At present if nobody's downloading 11.1R.txz then there's no load to the mi= rrors. Most P2P implementations require some form of seed node that keeps t= rack of active peers & blocks, so it's not quite a free lunch. I've an incomplete erlang-based version of https://tools.ietf.org/html/rfc7= 574 called PPSP (Peer-to-Peer Streaming Protocol), and I always felt a C or rust-based implementation of it would be a great addition to FreeBSD whethe= r ports or base. PPSP is a multi-peer streaming mix of: - merkle tree across arbitrary blocks of data - lightweight 'torrent-ish' UDP protocol for requesting and sharing blocks - optional live-streaming (i.e. stream starts before full data is available) - optional cryptographic signatures For example, I'd love to be able to "zfs send" via a multipeer protocol and= have it Do The Right Thing in transferring this to multiple "zfs recv" pee= rs, or have our custom pkg repo pull stuff off the adjacent servers rather = than stumble across the Pacific Ocean for the data. [Yes I'm aware pkg can be cached already]. If somebody is interested in working on this please get in touch, I would p= ut some funds in and can offer some context on the spec as I was involved in it. Also, if it's something the FreeBSD Foundation might consider jointly suppo= rting, I would help with the paperwork & submission. A+ Dave =E2=80=94 Dave Cottlehuber +43 67 67 22 44 78 Managing Director Skunkwerks, GmbH http://skunkwerks.at/ ATU70126204 Firmenbuch 410811i