Bitcoin Forum
December 08, 2016, 04:32:36 AM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: [RFD] BtcFn Question: Designing a 'generic transport layer' for bitcoin?  (Read 5569 times)
da2ce7
Legendary
*
Offline Offline

Activity: 1218


Live and Let Live


View Profile
May 15, 2011, 01:33:10 PM
 #1

The BtcFn (The Bitcoin Freenet Project) project is in the process of working on the API connecting to the bitcoin client to other transport layers / data back-ends.

These backed layers will be used to transmit various bitcoin data over different protocols,  such possible uses could be:
  • Program that saves and reads a copy of the block-chain from a file.  Say used to save the block-chain on a USB key-drive.
  • A radio station could transmit the block-chain over short-wave radio so that everyone in the world has access to it.  The same API could be used for a program to automatically import the block-chain updates in the Bitcoin software.
  • BtcTorrent, a simple application that takes advantage of the API and lib-torrent that allows new clients to quickly download the block chain.
  • The above mentioned bitcoin on freenet project, this project will allow clients to use bitcoin with freenet as a transport layer, for both transmission of the block chain, and transactions.
  • Traditional bitcoin transport layer application.  This application will implement the standard bitcoin p2p protocol, and will be used by default.

The API should be designed so that multiple applications can connect to the same bitcoin instance at the same time.   The API should be non-blocking and atomic in design... (either something works completely, or it fails completely).  Finally the API should have no access to any function that interacts with the wallet.

The goal is that every bitcoin implementation will implement this API, so any bitcoin implementation can use any transport implementation.  e.g. Bitcoinj could make use of the same Bitcoin p2p application as the mainline client.

Questions/Comments?

We will be working on the design on the bitcoin wiki: https://en.bitcoin.it/wiki/Bitcoin_Transport_Layer_API

One off NP-Hard.
1481171556
Hero Member
*
Offline Offline

Posts: 1481171556

View Profile Personal Message (Offline)

Ignore
1481171556
Reply with quote  #2

1481171556
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1481171556
Hero Member
*
Offline Offline

Posts: 1481171556

View Profile Personal Message (Offline)

Ignore
1481171556
Reply with quote  #2

1481171556
Report to moderator
1481171556
Hero Member
*
Offline Offline

Posts: 1481171556

View Profile Personal Message (Offline)

Ignore
1481171556
Reply with quote  #2

1481171556
Report to moderator
da2ce7
Legendary
*
Offline Offline

Activity: 1218


Live and Let Live


View Profile
May 15, 2011, 01:48:29 PM
 #2

More info on BtcFn can be found here: http://bitcointalk.org/index.php?topic=7181.0

One off NP-Hard.
da2ce7
Legendary
*
Offline Offline

Activity: 1218


Live and Let Live


View Profile
May 17, 2011, 01:46:36 AM
 #3

here is a diagram of what I was thinking of:


One off NP-Hard.
da2ce7
Legendary
*
Offline Offline

Activity: 1218


Live and Let Live


View Profile
June 03, 2011, 07:20:34 AM
 #4

We have been looking at lots of different ways of defining the Bitcoin Block/Tx IPC Protocol.

I think that using Google Protocol Buffers would be the most obvious protocol to define it with.

If anyone has professional protocol specification writing experience please contact me.. or pop into #btcfn

We have enough funds for some moderate compensation in bitcoin...  However this work is 50% charity.

One off NP-Hard.
kjj
Legendary
*
Offline Offline

Activity: 1302



View Profile
June 03, 2011, 08:05:31 AM
 #5

The BtcFn (The Bitcoin Freenet Project) project is in the process of working on the API connecting to the bitcoin client to other transport layers / data back-ends.

These backed layers will be used to transmit various bitcoin data over different protocols,  such possible uses could be:
  • Program that saves and reads a copy of the block-chain from a file.  Say used to save the block-chain on a USB key-drive.
  • A radio station could transmit the block-chain over short-wave radio so that everyone in the world has access to it.  The same API could be used for a program to automatically import the block-chain updates in the Bitcoin software.
  • BtcTorrent, a simple application that takes advantage of the API and lib-torrent that allows new clients to quickly download the block chain.
  • The above mentioned bitcoin on freenet project, this project will allow clients to use bitcoin with freenet as a transport layer, for both transmission of the block chain, and transactions.
  • Traditional bitcoin transport layer application.  This application will implement the standard bitcoin p2p protocol, and will be used by default.

The API should be designed so that multiple applications can connect to the same bitcoin instance at the same time.   The API should be non-blocking and atomic in design... (either something works completely, or it fails completely).  Finally the API should have no access to any function that interacts with the wallet.

The goal is that every bitcoin implementation will implement this API, so any bitcoin implementation can use any transport implementation.  e.g. Bitcoinj could make use of the same Bitcoin p2p application as the mainline client.

Questions/Comments?

We will be working on the design on the bitcoin wiki: https://en.bitcoin.it/wiki/Bitcoin_Transport_Layer_API

We already have a global system for moving arbitrary data over various media.  Even pigeons.

Oh, and the problem isn't so much in the downloading of the blocks as it is in the processing of them.  Each node must process each block.

p2pcoin: a USB/CD/PXE p2pool miner - 1N8ZXx2cuMzqBYSK72X4DAy1UdDbZQNPLf - todo
I routinely ignore posters with paid advertising in their sigs.  You should too.
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!