# Ultimate Go: Advanced Engineering Episode 5

DevFeed: [Ultimate Go: Advanced Engineering Episode 5](<https://devfeed.tech/articles/ultimate-go-advanced-engineering-episode-5-22191.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2022/12/ultimate-go-advanced-engineering-episode-5.html>)

Published: 2022-12-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Replication](<https://devfeed.tech/topics/replication.md>)

Tags: [atomic](<https://devfeed.tech/tags/atomic.md>), [consensus](<https://devfeed.tech/tags/consensus.md>), [consensus-algorithm](<https://devfeed.tech/tags/consensus-algorithm.md>), [cryptographically-auditable](<https://devfeed.tech/tags/cryptographically-auditable.md>), [database](<https://devfeed.tech/tags/database.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [go-blockchain](<https://devfeed.tech/tags/go-blockchain.md>), [golang-blockchain](<https://devfeed.tech/tags/golang-blockchain.md>), [poa](<https://devfeed.tech/tags/poa.md>), [pos](<https://devfeed.tech/tags/pos.md>), [pow](<https://devfeed.tech/tags/pow.md>), [proof-of-authority](<https://devfeed.tech/tags/proof-of-authority.md>), [proof-of-work](<https://devfeed.tech/tags/proof-of-work.md>)

## AI overview

This video explains how to use blockchain concepts to design a distributed, auditable, synchronized, and scalable database for a dependency manager. It focuses on atomic writes, consensus, and a proof-of-work algorithm, while also discussing the inefficiency of proof of work and the emergence of proof of stake and proof of authority.

## Source excerpt

Introduction In case you missed episode 4, Bill attempted to integrate current database sharing solutions to solve the "database ownership" problem his dependency manager faces. He tried providing copies of the database, implementing a load balancer and replication. While performing these experiments, Bill identified the qualities his dependency manager's database needs to have for users to trust it. He closed episode 4 by stating that his dependency manager needs a database that is distributed, cryptographically auditable, synchronized and scalable. By implementing this Bill hoped to provide greater transparency for his dependency manager.