The idea of bLocker originated from the rising popularity of self-service delivery lockers like Amazon Locker and FedEx Ship & Get. These services offer the convenience for asynchronous pickup of merchandise purchased over the Internet by providing pickup lockers spread out geographically. These mechanisms also provide security for Internet classified ads like Craigslist, OfferUp, LetGo, Kijiji, etc., by removing the need for buyer and seller to meet in-person.

Furthermore, one option that to mitigate the issue of safety that is frequently mentioned is the use of an escrow service, but in practice fraudulent escrow services are also on the rise in these online services. It is our hope that relying on the blockchain mechanisms that have real world financial consequences to bad actors will help curtail unfavorable activities.

What it does

bLocker is based on the self-service delivery locker concept. It is decentralized in nature, and crowdsources the location of the physical locker by giving incentives to locker hosts, bypassing the need for mutually-trusted / human in the middle escrow services through the use of Ethereum blockchain.

To put it shortly: bLockers are decentralized lockers on the blockchain that help connect anonymous online transactions with the safety & convenience of local pickups in places you know and trust.

How we built it

For the bLocker prototype, we built a physical box that has a simple servo powered latching system which can be triggered upon changes to state in the smart contract. We used an old cigar box for casing, an led and buttons for flair, all connected to a RaspberryPi 3. The RaspberryPi 3 uses python web3 libraries to listen to an Ethereum RPC node synced to Rinkeby.

On the software side, we developed a smart contract that serves as the base logic for bLocker management, payments, and locking/unlocking in solidity that we compiled through the remix IDE and deployed to an address in the Rinkeby network. For development and demoing purposes we made use of the Mist browser to manipulate the state of the contract as if we were playing the roles of locker host, seller, and merchandise buyer / pickeruper. Lastly we started work on a basic dApp to show how someone would interact with the contact within their own marketplace.

Challenges we ran into

Oh god there were so many. We originally had a much larger scale for our proof of concept dApp, but due to our inexperience with the ecosystem we really had to scale down and focus on the most essential pieces, namely the hardware and the base smart contracts, and mock out some of the use cases. Also we discovered many gaps in documentation of popular tools that hindered progress. Overall though it was a good experience.

Accomplishments that we're proud of

  • Our bLocker hardware works, using commodity parts.
  • We deployed version one of our smart contract Rinkeby, and actually integrated well with the hardware bLocker.

What we learned

Many things. In general we learned there is an appetite for blockchain applications and the ecosystem is burgeoning. These are early days and it feels like day one.

What's next for bLocker

We'd like to get a default bLocker registry going to help make these devices discoverable, possibly open sourcing the hardware / software after cleaning up and security hardening the product. Also we'd like to make more kinds of hardware, possibly doing things like having cameras in the the bLocker and abstracting in such a way that we can secure larger and more diverse products.

Share this project: