Research on how to distinguish between images generated by AI is continuing. I also saw a news story about a company that provides AI image generation services will add digital watermarks to the images it generates. However, there seems to be no single breakthrough way to solve this social issue at present. If so, there should be a combination of various solutions. Therefore, the blockchain camera also be one of the solutions. However, the blockchain camera still have many challenges. So I open source it. Proving that a photo was taken with a camera seems simple but difficult. So everyone will enjoy solving it. It would be even better if it could be solved without using blockchain.
Caution
This project used blockchain to solve social issues. It does not endorse investment in cryptocurrencies. The build instructions do not explain how to use crypto wallets or how to buy cryptocurrencies. People who make the blockchain camera should at least be familiar with handling them. This is something that conventional wisdom does not apply to. For example, to use the blockchain camera, you first need to transfer a small amount of cryptocurrency to its crypto wallet. If you send cryptocurrency from a crypto wallet that contains your deposits, its deposit and transaction history will be known. Also, if you transfer your cryptocurrency incorrectly and lose it, no one can help you. Therefore, the blockchain camera are not yet something that everyone can easily use. The ideal is for anyone to be able to use it without thinking about blockchain or cryptocurrencies.
Process of minting a NFT
- Pressing the shutter button sends a signal to the GPIO.
- A photo is taken with the camera module.
- A metadata is created from the image file. Meta data includes a image file name and attributes.
- The image file and metadata are stored in IPFS via Wi-Fi. IPFS is one of the distributed file systems.
- IPFS generates a content identifier (CID) from stored data.
- The CID is sent from IPFS to the blockchain camera.
- The crypto wallet is displayed on the touch screen, so touch "Confirm".
- The CID is sent from the blockchain camera to the DApp (Decentralized Application) on the blockchain.
- The DApp mints a NFT that has the CID as data.
A non-fungible token (NFT) is a unique digital identifier that is recorded on a blockchain, and is used to certify ownership and authenticity. The fact that the NFT was minted from the blockchain camera's crypto wallet is recorded on the blockchain with a timestamp. That NFT is linked to data stored in IPFS via CID. The blockchain camera use these as proof that the photo was taken with the camera.
The reason why image files are not stored directly on blockchain is that blockchain is not suitable for storing large-sized data. However, data stored in a distributed file system is difficult to tamper with, similar to blockchain.
How to view NFTS
Blockchain Explorer
Note: Blockchain Explorer sometimes stops.
Owner Address is crypto wallet address of my blockchain camera. Even if I change the owner by sending this NFT to another address, the record of the original owner's address will not be erased.
NFT Marketplace
How to photograph a NFT
- Press the shutter button.
- Touch Confirm on the crypto wallet displayed on the touch screen.
Challenges
There are many unresolved challenges. Here are some of the big challenges as examples.
- You can copy your blockchain camera's crypto wallet to the PC and mint fake photo NFTs from the PC. Is it a solution to develop a crypto wallet that cannot be copied? You can also do the same thing by remotely accessing the blockchain camera Raspberry Pi without having to copy your wallet to your PC. Is there any hardware that cannot be hacked?
- Anyone can confirm on the blockchain that the NFT owner address and blockchain camera crypto wallet address match. However, the only way to know if the blockchain camera really has the crypto wallet for that...
This is amazing. This is a project I've been wanting to do but procrastinated on. Beautiful execution and description.
I wanted to call it "Truth Camera" exactly for the reasons you mentioned. Amazing work.