@article{Ozturan_2020, title={Barter Machine: An Autonomous, Distributed Barter Exchange on the Ethereum Blockchain}, volume={5}, url={https://ledger.pitt.edu/ojs/ledger/article/view/148}, DOI={10.5195/ledger.2020.148}, abstractNote={<p>Direct bartering allows for the trading of assets with or without the use of money. In this paper, we introduce a smart contract written in the Solidity language for the Ethereum blockchain that implements a distributed and autonomous direct barter exchange operated by crowds. Since ERC20 smart contract tokens are widely used for initial coin offerings (ICOs), our implementation provides autonomous bartering services for ERC20 tokens. The non-fungible ERC721 token, as well as Ethereum Name Service (ENS) name bartering, are also supported. Because finding a feasible bartering solution for bids involving multiple tokens is NP-hard in general, our exchange only provides escrow and swapping services. It assumes feasible solutions are submitted by bartering problem solvers from the crowd who run a solver locally on their machines. Bartering problem solvers are incentivized to submit solutions to the autonomous exchange by awarding them with excess tokens that are left over after granting the bidders the tokens they requested in their bids. Our system, called BarterMachine, can perhaps be used to facilitate a global barter economy. The BarterMachine prototype is available for testing on the Ethereum Ropsten network at https://bartermachine.github.io/bartermachine/ropsten/.</p>}, journal={Ledger}, author={Ozturan, Can}, year={2020}, month={Jun.} }