Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
We're surprisingly far behind in some of the most basic, economically fundamental technologies.
The 2016 paper published by NSPE, "Blockchain Technology: Implications and Opportunities for Professionals Engineers" states that, "today, the institution of professional engineering is struggling for an interface with the digital world."
It's odd to think that engineers of all people are struggling to interface in a digital world. While that is less true today than in 2016, the construction industry is still the least efficient among all businesses today.
The rate of acceleration between licensed professional regulations and the remainder of the world is staggering.
This construction industry exposes us to increasing rates of risk.
Let's qualitatively examine the security between a physical engineering stamp and a DocuSigned signature as a stamp.
DocuSign: You'll have to pass through two-factor authentication to log in. To steal this signature, you need the password and the physical device used for the second authentication point (usually a phone).
Physical Stamp: Google their license, buy a stamp online, and stamp a drawing.
We are not advocating DocuSign as the solution. However, this demonstrates that our industry is so far behind that we'd sooner have the system hacked than learn new engineering techniques which could solve many of our problems. Taken at its extreme, this unwillingness to act could be a violation of the .
A surprising number of states attempted to address the growing virtual world we live in and how that even impacts the meaning of "direct supervision." Laws today were written for offices of yesterday when an engineer was physically in the same space with the unlicensed staff.
The regulations in our industry give off a tone of either someone that genuinely wrote them in the 80s and forgot ever to update them or someone that still thinks the internet is a fad.
Either way, it is entirely untrue to say that engineering can only happen when two or more humans physically share a room during the process. Meanwhile, are permanent remote work companies.
Each state's laws provide authorities to organize a board of directors. The board has varying power, usually reviewing and approving licenses and issuing disciplinary actions.
With one board for each state, that leaves us with only 50 board of director groups to regulate in building construction. We can't expect that level of responsibility to fall on that small group of people. We have technology that can solve these problems (more on that later)
Assuming we live in an ethically perfect world, this is still too much work for one person to manage directly. How can we reliably track this level of complexity in a way such that public safety is dramatically improved?
These protocols worked when the industry's technology was born onto paper and lived on writing until the completion of the project.
Our engineering design data now lives on a transistor state on some computer somewhere in the world and it's never coming back. We have to go find it.
a construction industry blockchain for professional supervision.
The growing gap between the physical and digital worlds exposes a growing existential threat to construction. Simply put: we can't prove who authored the documents, yet we use them to build high-rise buildings. Offices all over the world throughout the supply chain copy, forward, upload, and attach documents generally trusted as the true copy of the licensed professional's instructions.
We purchase, fabricate, ship, install, commission, inspect, and approve occupancy certificates for bridges, buildings, and roads with nothing more than a dose of trust. We trust that nothing was corrupted from the original instructions along the entire supply chain of decisions.
The Build3 Foundation blockchain solves the proof of authorship dilemma, and we need your help.
We are a member-governed research and development blockchain foundation.
Our blockchain is designed to function as an authorship-proof layer for the construction industry. This can start as early as feasibility work and extends to the certificate of occupancy. Each certificate of occupancy issued to each building, including the initial build and all subsequent renovations will be tied to it.
These certificates persist as immutable records to serve the public for the life of the building. They offer assurance that the construction performed was done so under the direct supervision and control of a qualified professional. Ultimately, at the end of a building's lifetime, when demolished, the certificates serve as historical artifacts to the land itself.
Would you like to contribute? (no fees). Members may contribute as authors, editors, nominators, and developers. Members also retain voting rights in research and publications.
You are also invited to if you want to get to know some members.
And we need your help.
The build3.foundation has a working prototype of provable authorship engineering supervision. These prototypes show a proof of concept that we can secure the network.
Our position at build3.foundation is that ethics bind the industry to commit to research and participation since we can now secure the network.
We are not asking for building consulting engineers to become software engineers. There are tons of areas we need help with in terms of publication:
We would enjoy the chance to work together to collaborate on language for
Chapter 1, IBC permitting. This type of modification would help give guidance at the state level.
Section 116 (Certificate of Occupancy): with a secure network of proof of authorship, a C of O becomes a multi-signature transfer record.
For example, an inspector would prove from a cell phone that the document used for a permit does hash to the signature patterns of the engineer of record and plan reviewer. If it did not, they simply would not have the authorization to issue the certificate.
: We have ideas for the AIA master contract and master spec.
The professionals can use blockchain to manage submittal and shop drawing requirements. We can now prove that some specific party is the author of any particular document. This authorship proof applies to our licenses but also signatures in general during Construction Administration
more to come...
Blockchain makes it near impossible to make fraudulent engineering judgments with invalid credentials. More on that later. For now, look around at where we are in the documentation. This website serves as a living and breathing documentation of where we are now and where we plan to be.
We will soon release our source code, open-source, and welcome any feedback and new collaborators.
Thank you,
build3.foundation
Have you had to dig out your checkbook for a $75 transaction lately? If so, we're willing to guess it wasn't at a place you associate with engineering?
Let's start with the National Society of Professional Engineers.
The National Society of Professional Engineers (NSPE) was established in 1934 to protect engineers and the public from unqualified engineering practitioners.
This process includes strict university accreditation requirements, years of full-time engineering training experience, and two or more examinations.
While not as rigorous as a surgeon's training, it is a long process that requires a minimum of eight years and often longer.
So now we have highly educated and experienced super nerds ready to show the world what they can do. So, what's the problem?
Let's talk about NSPE a bit more. From their website, the vision is
...a world where the public can be confident that engineering decisions affecting their lives are made by qualified and ethically accountable professionals.
We love this vision, and we agree. Being an engineer is more than showing off a pocket protector at parties! Every decision made impacts public safety quite often for 20 or more years! And so we agree: qualified and ethically accountable professionals are essential.
NSPE has a clear and targeted mission reinforced by its published . Those values are
Ethics and Accountability
Qualifications
Professional Advancement
Unity
So while NSPE works to help secure the network, it increases the barrier of entry. The problem working against everyone else is: that sometimes it isn't all that hard to get money for a development loan (to the tune of $20T a year).
The unavoidable challenge: rigorous standards and regulations will invariably reduce supply in a regularly high-demand market.
This problem is compounded by the fact we are the are have proven a reluctance toward adopting technologies.
How can we resolve the supply and scalability problem? It is precisely that problem that increases the risk to public welfare even further. How can that enormous demand pushing keep building often, cheap, and fast, be cooled down in a way that meets the professionals where they need to be: concerned with the public welfare?
How can we design a system that will, given those conditions, exhibit transparency to those willing to turn an ethically questionable blind eye?
How can we prove if the seal hasn't been taken and used by someone else fraudulently? How do we ensure the practitioner's competence in making a judgment in a given field?
Long story short: it's not.
Still, governing bodies treat violations as criminal acts. Let's take a look at a few examples:
§ 1001.552. CRIMINAL PENALTY. (a) A person commits an offense if the person: (1) engages in the practice of engineering without being licensed or exempted from the licensing requirement under this chapter; (2) violates this chapter with respect to the regulation of engineering; (3) presents or attempts to use as the person's own the engineering license or seal of another; or (4) gives false evidence of any kind to the board or a board member in obtaining an engineering license. (b) An offense under this section is a Class A misdemeanor
IC 25-31-1-27 Practicing without license and other specific violations
Sec. 27. A person who:
(1) practices or offers to practice engineering without being registered or exempted under the laws of this state;
(2) presents as the person's own the certificate of registration or the seal of another;
(3) gives any false or forged evidence of any kind to the board or to any member of the board in obtaining a certificate of registration;
(4) impersonates any other registrant;
(5) uses an expired, suspended, or revoked certificate of registration; or
(6) otherwise violates this chapter;
Blockchain technology can prove the authorship of digital documents offering a form of digital DNA. This mechanism is helpful and essential in due process for the industry. Continuing to enforce these regulations without blockchain is nearly equivalent to a court dismissing the scientific relevance of DNA in criminal proceedings.
commits a Class B misdemeanor.
What's going on with those recently accepted publication requests? The PR# identifier is changed to the RD# identifier to identify the state of the initial request.
This is the active repository for recently accepted Publication Requests. Research Development is the active playground of the Authorship Team where you are encouraged to watch and engage with the authors about their research.
What you'll find here are the early ideas, sketches, notes, and slow formation of ideas articulating into formal research. The next stop after this phase is conversion to a final technical white paper format. All Research Development projects are subject to Build3 Membership voting approval.
Members are encouraged to comment and offer feedback as these projects develop. If you are not a formal author, you are still a member, and your contribution matters.
Where the heart of the business logic lives.
There's so much ground to cover, but let's focus on runtime because that's where most of your time: how the runtime works and is constructed.
The runtime is built using FRAME Pallets as a plugin system. Between the Pallets and the Runtime crates, we have been able to create a working prototype of proof of supervision applicable to the construction industry.
Explore our work in progress use cases for build3 if you want a quick look at what is being proposed and how we plan to use the technology.
Once you have a conceptual understanding of runtime and the FRAME pallet system, there are three other important Crates that come with the subtrate_ framework.
📡frame_system🤝frame_support🤠frame_executivedocumentation pending...
work in progress..
Contains common runtime patterns in an isolated manner. Not meant for production blockchain, just for benchmarking and testing.
Benchmarking can help establish weight for transactions once you study the computational power required to complete them.
These are some useful pallets that ship with susbrate_.
The substrate_ team is constantly releasing new pallets and upgrading the existing pallets. Each of them has their own function and are loosely coupled to provide isolated features for the FRAME systems.
Our list includes pallets we are currently using, planning to use, or are researching its use.
The most critical imports for every Pallet
frame_system provides low-level types, storage, and functions for your blockchain.
frame_support is like a helper crate. It is a collection of macros, traits, and modules to simplify development of FRAME Pallets.
The frame_executive acts as an orchestration layer for the runtime. It dispatches incoming extrinsic calls to the respective pallets in runtime.
Off-chain workers.
Inspired by this use case with additional reference materials.
An Off-chain worker can be used to process computationally complex transactions with larger bandwidth or data tansmission requirements.
An off-chain worker may be considered as a candidate that can download a large document from IPFS and perform a hash to verify the authenticity of the remote-hosted document.
GRANDPA consensus by managing the GRANDPA authority set ready for the native code.
The basic logic to compute pre-dispatch transaction fees.
Dealing with simple fungible assets.
documentation pending...
work in progress...
Provides a "pot" of funds that can be managed by stakeholders in the system and a structure for making spending proposals from this pot.
Allocates indices for newly created accounts. An index is a short form of an address.
Allows runtime to deploy and execute WASM smart-contracts.
This will allow the runtime to deploy and execute WASM smart contracts.
Federated naming system, allowing for multiple registrars to be added from a specified origin.
Federated naming system which allows multiple regisrars to be added from a specified origin.
Registrars can set a fee to provide an identify-verification service.
Anyone can put forth a proposed identity for a fixed deposit and ask for a review by any number of registrars (paying each of their fees).
Registrar judgments are given as an enum, allowing for sophisticated, multi-tier opinions.
Stateless module with helpers for dispatch management.
The configuration trait is a way for you to allow external pallets to define the element types being used on your internal pallet.
substrate_ is taking full advantage of the by implementing the Config object as a trait.
The best practice when building your pallet is to implement .
This will allow you to create all the functionality you want while leaving the concrete types a decision made at runtime.
The Configutation Trait is the way that substrate_ empowers the use of that extensible framework writing.
The Configuration Trait definition is a requirement for all .
The system crate that defines the core types for runtimes.
The block size limitations make storing large values a challenge. How do we deal with that?
Storing boolean and integer values is easy. Decimals are a bit more challenging. And strings are extremely limited.
To make things a bit more constrained, ink! contracting language only allows a single low-level primitive, Mapping , for access to contract storage.
This means the front-end developers will have to continuously transform data for most RPC requests.
A way for someone to submit a claim to sent something to another party to accept the claim later.
This is traditionally used for token exchange but could be considered as a starting point to allowing someone to limit the length of time their work is up for review.
Perhaps the claim starts as being offered to a specific preferred reviewer, but then once expired, broadcasts to the network that the offer is now up for grab.
These are the public endpoints you are giving to users to interact with the blockchain.
Dispatchable calls are the public endpoints you expose for users so they can interact with your blockchain.
Dispatchable calls must be included on every .
A use case example for the PermitZIP Two-Week Project workflow.
In practice, the substrate primitives do not normally exceed 32 bytes for reasons outside of cryptographic security. The H12 Struct allows for up to 64 bytes. This paragraph is larger than 64 bytes.
Substrate has pallet which off-chain computational efforts to occur. This is great because more complicated work should be taken offline, or all nodes would have to perform the same computations causing a massive bandwidth problem.
The substrate_ off-chain worker subsystem allows for tasks that are data and computationally intensive to be performed without slowing down the block production.
This allows for an asynchronous element of producing blocks to exist where a node will go off-chain, produce their results, and report back with the cryptographic results representing the results.
Check out this Off-chain Worker Callback Example
This does not solve the storage problem. After all, the final result is just a hash of the final data, not the data itself. The data can be stored in a database, but that comes at the cost of trusting someone to maintain a central database.
There are likely many private companies that would append the blockchain by offering these services, but how can we find a way to persist the data for a longer period of time?
This multifront-end developer will have to continually transform data for most RPC requests
IPFS is a peer-to-peer data storage system that helps to solve the large format, immutable and persistent storage dilemma presented by traditional blockchain.
Luckily, the IPFS development team has already worked to start solving this problem and they have constructed an off-chain worker manual.
Reports - a StorageMap which stores the report ID can the offense detail for all offense reports.
ConcurrentReportsIndex - A vector of reports of the same kind that happened at the same time slot.
ReportsByKindIndex - Enumerates all reports of a kind along with the time they happened.
Editor // Kenneth Shultz, PE [accepted]
Blockchain enthusiasts usually tout the benefits of decentralization. Unfortunately, many of the features baked into the technology ultimately lead to a re-centralization in myriad ways. A small central group of miner farms generally controls all rewards on the bitcoin network. When it comes to voting mechanisms, most involve the spending of coins, which makes voter authority directly proportional to their access to funds.
A proposed solution to this problem involves removing or reducing the possibility of exponential relationships from voting power. Non-transferrable voting tokens are issues based on a user's contribution to the network. You earn voting tokens as you review, submit, or otherwise interact with the system. These tokens are non-transferrable, would be burned when used for voting, and may expire after some time. This paper will explore these ideas and propose technical standards for developers to implement as a pallet on the chain. This voting token introduces a new token that is not nonfungible (NFT) nor technically wholly fungible.
This paper will explore traditional bylaw language for registered 503(c) organizations and work to integrate them with on-chain governance. The board of directors will vote to approve or reject the newly proposed bylaws. If approved, The Build3 Foundation will submit the bylaws to the State Corporation Commission, included in the final product of this publication, and formally instantiate them on-chain through the substrate pallet configuration.
Construct the paper-contract language such that blockchain governance authorizes all future bylaw changes. Consider conditions for catastrophic network failure. For example, members, a committee, or a board of directors may adopt new bylaws through traditional means. After network recovery, Build3 Foundation must register any off-chain measures adopted to the blockchain.
The purpose is to finalize the Build3 Bylaws and publish findings for future organizations to use in consultation with their legal representation.
Using substrate_ requires knowledge of the Rust programming language, especially the idea of generic types and trait bounding .
This work is heavily borrowed from Josh Orndorff's Substrate Recipes Cookbook for Aspiring Blockchain Chefs which is accompanied by a comprehensive repository of examples.
This information is also taken from the runtime development overview from the substrate docs.
The biggest missing link is the sales team's knowledge of the required technical information to kick off into design. How do they know if the product data for the restaurant is to standard? How do they know if the architectural record documents have enough information for engineering judgment?
The same standard of care approach from the Proof of Supervision with Blockchain case is proposed. With the help of the sales team, a client follows the standard of care to prepare for kickoff.
This documentation, for example, includes:
Completed Survey
Cut sheets for special equipment
Architectural PDF (of the actual building)
Special equipment layout
DWG or Revit files
Signed proposal
Special project-related specifications (franchises, etc)
They sign each transaction when they submit the required records. These records are reviewed by the sales team and authorized for final approval by the engineering production managers.
When all conditions are met, the two-week process begins and is documented on the blockchain smart contract.
Lead Author // Kenneth Shultz, PE [accepted]
Author // Bradley Edward Layton, PhD PE [pending acceptance]
Editor // Ed Leite [nominated]
A common problem articulated for NFTs is that they do nothing to assure ownership. Anyone can claim any digital asset and mint it as an NFT. This research aims to demonstrate the wholly overlooked use for an NFT: authorship.
Equipment manufacturers typically author these drawings. If necessary, the trade contractor then marks up the submittal to prepare the document for review. The licensed designer of record then authors their judgment against the submission and sends it back as either approved or denied (resubmission required). At no point in this chain was ownership relevant to the reason for this communication chain.
That process exists to verify compliance with the construction documents. Compliance with construction documents represents compliance with the highly regulated architectural and engineering design process. The highly regulated design process is in place to ensure compliance with the code, and the code's fundamental purpose is to protect public safety and welfare.
Ownership of these documents is entirely irrelevant within this context. Nothing is more important than proof of authorship and compliance with previously authored construction records.
And so we ask ourselves, what is the name for proof of authorship on a blockchain? These authorship proofs belong to a contract. They are nonfungible in that no two authorship proofs can be considered equal. Unlike artwork or music, an authorship-based supervision compliance supply chain is strictly nontransferrable. The signed documents bind to the construction contract immutably, and the construction contract binds in perpetuity to the property.
Provides a means for placing a linear curve on an account's locked balance. T
his module ensures that there is a lock in place preventing the balance to drop below the unvested amount for any reason other than trsnaction fee payment.
Doing multi-signature dispatches.
Allows users to gain access to their accounts if the private key or other authentication mechanism is lost.
The recovery pallet is an M-of-N social recovery tool for users to gain access to their accounts if authentication is lost.
A user is able to make calls on behalf of another account whcih they have recovered.
The recovery process is protected by trusted "friends" whom the original account owner chooses.
A threshold (M) out of N friends are needed to give another account access to the recoverable.
Get and set the on-chain time.
Get and set the on-chain time.
Allows accounts to give permission to other accounts to dispatch types of calls from their signed origin.
A pallet that allows accounts to give permission to other accounts to dispatch types of calls from their signed origin.
The accounts to which permission is delegated may be required to announce the action that they wish to execute some duration prior to execution happens. In this case, the target account may reject the announcement and in doing so, veto the execution.
Luckily, substrate_ makes it easy by including the pallet_prelude in both crates. Use this with the wildcard * and move on. You'll come back to it and it'll make more sense.
#[frame_support::pallet]
pub mod pallet {
use frame_support::pallet_prelude::*;
use frame_system::pallet_prelude::*;
// other pallet dependencies...Where to find more information about build3 foundation and how each domain is used.
This is the foundation landing page and the place where members can officially join the foundation. This page hosts forums, blogs, membership, and events.
The web page also serves as the main first-time-viewer landing page. A one-pager intended to articulate the mission succinctly.
The knowledgebase.
This is an evolving knowledge base of our active work, ideas, and other plans. We use gitbook because it offers developer documentation tools in a super simple way for non-developers to contribute thoughts and ideas.
This is where a lot of preliminary ideas for governance, game theory, use-case applications, technical specifications, tutorials, and other information about the network will be published.
As the ideas grow more and more stable, they would then be converted into the formal white paper documentation for the website or as a stable release for production.
This is where the ideas start to organize and develop into the formal and final technical specifications.
Contributing is easy - just and ask how you can get involved!
Front end for build3 governance. There is no development on this yet, but eventually will be a React-based front-end application rendering the governance features of the build3 foundation.
All our governance work is backend only. If you want to get involved with the front end,
Front end for build3 transactions. No development here, but the front-end would render whatever features the particular user needs to interact with the blockchain.
All our transactions are backend only. If you want to get involved with the front end,
This just forwards to right now.
The idea behind this domain is to provide a road map for future funding of continued research in areas of blockchain for the industry.
The .com domain would be the home of paid features similar to the relationship between and or MongoDB vs MongoDB's Atlas service.
The home of day-to-day communications about active research projects to spare the inbox.
Build3 repositories are on GitHub. We haven't made everything public yet - stay tuned!
What we're using and ways we're using it.
The core should be developed in a trusted, secure programming language, called ().
Using substrate_ allows us to quickly build radically new implementations of long-trusted standards and protocols. substrate_ is an out-of-the-box blockchain building framework.
Also:
Polkadot is a new blockchain network that turns blockchain into a multi-threaded multi-core processor.
Key strengths in the Polkadot network:
Building with substrate_ also allows the opportunity to share network security with the in the form of a parachain or parathread.
Polkadot itself was built with substrate_.
Both Polkadot
Polkadot (and similar substrate_ based blockchains) will make it easy for users and developers to interact with with different services on different chains such as
insurance providers
deed of trust record keepers
Any application built with substrate_ can easily be configured to operate completely independently from the Polkadot.Network.
this proposed standard is still undergoing research but serves as an example of the kind of need and the kind of solution.
IPFS is a peer-to-peer hypermedia protocol intended to serve as a functionally immutable permanent record.
IPFS (or a similar protocol) would
allow "proof" that a document was the formal record document and
that it was signed by a verifiable authority of record.
A record of signed and verified work transactions.
The quality and throughput have never been reliably measured. It works for specific talents and personality types.
What we are talking about is a more true and revealing method of calculating what someone has contributed to their work. This allows for traditionally ignored traits of a worker can be made visible to the network.
The same protocols implemented in the engineering supervision use case also provide a more general-purpose proof of work for all players in the network. Any kind of work can be documented with this protocol.
There are three humans in this interaction.
Worker - The person that performs to the standard of care.
Reviewer - The person that reviews the work against the standard of care.
Authenticity Validator - The person that affirms both parties acted with good faith.
The review checks the work against the claimed standard of care. If approved on
Passes First Review: 10 tokens awarded to the worker
Second Review: 2 tokens awarded to the worker
Third Review: The total stake is lost and split between the network and burned
Reviewer is paid 1 token per review
The smart contract language and development tools for substrate_ frameworks.
It's Solidity, but without the chains. Users can build smart contracts to deploy onto your blockchain, but they are also able to be deployed to other networks.
Let's start with a review of the pre-built available by Parity. We'll offer some ideas of how to implement these into the Build3 blockchain to help provide context.
A set of account IDs to make collective feelings known through dispatched calls from specialized origins.
What can Build3 do for construction? Let's go over a few use-cases.
This section is dedicated to proposed use-cases with reference to a technical pallet implementation from the framework.
Some are living in the source code, some are only conceptual. Each idea will vary in its development and is expected to grow in depth as contributors work through them.
Allows control of membership of a set of AccountId's. Useful for managing membership of a collective.
This allows control of membership of a set of AccountId's.
This pallet stores
the list of members
the prime member (master admin account for the membership)
Proposal
Event
MotionDuration
MaxProposals
MaxMembers
DefaultVote
WeightInfo
Proposals
ProposalOf
Voting
ProposalCount
Members
Prime
This publication will discuss the roadmap for implementing a public utility supervision blockchain. This research would discover the complete road map logically from easiest to most difficult to implement. An example features road map may look like this (or some variation):
Professional Licensure Authorship: Cryptographic Signatures representing Architectural and Engineering Seals. This functions as the start of the identity network (proof of licensee).
Construction Submittals: Cryptographically signed by the issuer and signed by the reviewer(s)
Permitting: Permits signed on-chain by the submitting parties and signed by the approving authority having jurisdiction.
Note: topic also may include thoughts about the International Building Code, Chapter 1, or other written codes that address permitting requirements. Nothing technically changes about permit applications and approval other than adding the blockchain's underlying storage and authorship mechanism.
Inspections & Occupancy Certificates: Similar to permitting, but for proof of the inspection authority.
Operations and Maintenance: This concept is starting to look much longer into the future but is worth thought and documentation. Is O&M a standalone network interoperable through a Polkadot (or Polkadot-like) parachain? How does O&M tie to the original record of construction supervision, permitting, and occupancy approval?
Property Identity: The contributions from the build3 network related to proof of supervision would be identity markers about a specific property. Each renovation from start to end of a building would contain evidence of the supervision process that helped to secure the safety of the building itself.
This newly found record of building history may tie into COBie reports and digital twin applications.
The incremental move into this phase of adoption would introduce conversations about insurance and lending, two major parties in the industry which rely heavily on underwriting risk.
GIS Maps: Proof of supervision of land survey work tied directly to the public GIS map systems. This use case is quite an abstraction from our original use case of professional supervision. GIS Maps is included as an example to help stretch out as far as we can reach for our purpose of identifying code compliance at the start of a building lifecycle and how that can extend throughout until the end of life. The objective is to postulate the demolition of an ideally chain-documented building. The land remains, but the evidence of the building is gone or nearly gone; however, the blockchain persists as a historical artifact.
One way to approach the road map is to consider how this could be adopted from a Statewide board perspective. This would require collaboration with the NSPE, AIA, ICC, and others that which have an existing respected relationship with regulatory bodies.
PermitZIP being a bleeding-edge adopter, will provide much-needed test base information to help teach people how this works. There must be other organizations that would also be willing. An effort could be made to get 10 organizations with approximately 25 employees each also to volunteer to participate.
Blockchain Technology: Implications and Opportunities For Professional Engineers
This NSPE paper points out the connection between a blockchain and risk calculus, specifically how that relates to insurance.
added
removed
swapped
reset
changed
Users of authorized origin can
add members
remove members
swap members
reset members not sure what this is yet
change key (user can change they key associated with membership to a different address)
set prime (assign the prime member, must be by current member)
clear prime (remove the prime member, can only be released by prime member)
The Authenticity Validator must affirm the authenticity of the transaction. If they reject the transaction, all parties lose rewards and stake.
The delegator smart contract is the showcase for executing other smart contracts on-chain.
It includes in total 4 different smart contracts
Delegator (root): Delegates calls either to the Adder or Subber smart contract
Adder: Increases a value in the Accumulator smart contract
Subber: Decreases a value in the Accumulator smart contract
Accumulator: Owns a simple i32 value that can be incremented or decremented
An architect can be delegated the authority to submit product data for review on behalf of a trade contractor.
Replace complicated, hard to remember addresses with simple domain names like kenny.build3
One origin with multiple signatories. The number of those parties signing can be configured and changed for each contract. This can represent many things such as
submittal approvals (trade contractor, general contractor, engineer, architect)
general authorizations of work (hiring and working parties)
certificates of occupancy (inspector, plan reviewer, engineer of record)
Have more ideas? Join our Discord to ask about joining the team!
You will see the note blocks as you read through the use cases. They each represent the level of development of the idea into the source code. They are defined as:
Stable Deployment.
Theory-based Idea. This means it can be implemented but hasn't made it into the production pipeline yet.
Abstract Idea: Requires high levels of customization or implementation method is unknown.
Alright, let's dive in...
substrate_ is written in rust.substrate_ compiles to WASM for highly portable runtimes. (the language of all modern web browsers).
substrate_Polkadot will host multiple blockchains serving multiple purposes increasing the interoperability of web3 applications.
legal services
underwriting, etc.
How to publish with Build3 and the current state of active publications.
If you would like to join an Authorship Team (or submit a topic to request an Authorship Team), please (there are no fees), then join our . Once you are on the Discord server, we'll walk you through the process and get to work!
An authorship team must contain a minimum of one author and one editor. There may be multiples of either or multiples of both.
A team nominated and accepted to conduct research for a submitted by a Build3 Member. The Authorship Team must have a minimum of one and one .
The authors are for producing the copy and all supporting documents, sources, images, and graphs. The author is responsible for delivering the research on time to ensure timely delivery of weekly updates to this website, a timely steady-state declaration, and on-time delivery of the final product submitted for approval to the network.
If multiple authors are nominated, one must be titled the Lead Researcher, acting as the project manager. The Lead is ultimately responsible for all duties listed above. The Lead Research received credit for this role in the publication.
The editor is responsible for quality assurance. The editor reads each iteration of thought, looking for logical fallacies, technical inaccuracies, grammar or spelling issues, confirmation bias, relevance to build3 scope, and other elements to ensure a minimum standard of care for the publication.
The editor is responsible for merging all pull requests from the Author during the Research Development phase.
A Build3 Member-nominated request for publication. If accepted, Build3 lists this topic to the build3.network to help assemble an Authorship Team. Publication requests each have a unique identifier and are numbered in the order they are listed to the network (eg PR1, PR2, etc).
The path toward publication will move along according to this cycle:
A member submits publication requests for consideration into the curated list hosted on this page. Build3 adds approved publication requests to the next available nomination timeslot (each one week in length)
Build3 Members nominate authors and editors for each publication; self-nomination is permitted (this may change). The foundation lists the publication request for one week, removing it after one week if no author is nominated and accepted. If there are no new publication requests in the queue at the end of the nomination slot, Build3 Members may vote on a previously unsuccessful publication request.
Build3 limits the total publication requests to a maximum of 10 for each nomination slot.
The Build3 Foundation moves all successful proposals to the Active Research page, where the Authorship Team begins Research Development.
The Authorship Team must update their progress weekly so that Build3 Members may review and comment.
The authorship team is under no obligation to integrate the comments from the community.
For the benefit of context for observing Members, the authorship team will respond to all rejected comments with their reasoning.
The Authorship Team must declare their work in a Steady-State two or more weeks before the final submission deadline. The Authorship Team will not submit additional significant changes or conclusions for projects announced in Steady-State.
The research team uses the time between steady-state and the deadline to formalize their findings in a technical white paper. The Authorship team submits its work on the pre-determined deadline.
Pre-Final Vote: Build3 Members vote to approve or reject the pre-final draft. Approvals and rejection votes may include notes to authors. Authors are under no obligation to address or reply to comments. The Authorship Team determines what changes to incorporate and submits any revisions for the final vote.
Build3 members may nominate dissenting opinions to be included in the addendum of the final publication. Build3 members then vote on the inclusion of those nominated opinions.
When the Authorship Team sponsors a dissenting opinion, it is automatically added to the addendum.
How to tell someone using your blockchain something happened.
Users of the application need feedback about what happened when they clicked something or interacted on your chain through a public endpoint you've given them.
Transactions can fail for any number of reasons, so your users need to know and that is handled through and Event. Confirmations are similar: tell your user it went okay with an Event.
Yep, pretty much without exception. Here's how:
Add Event type to the `Config:
And now add the decl_module! ("declare_module") macro to give access to the deposit_event() method.
decl_event! ("declare event") macro is the way Rust implements an event
We are showing generic types in these examples. The syntax for generic events requires the where.
We've defined a trait in the Pallet for Config and so now it has to be implemented at runtime.
In your runtime lib.rs file, add
The code above is simply specifying the type for Event . Note the <T> is not shown and that is because we are defining the concrete type to be implemented by the Pallet we're configuring.
Add the events to the runtime build macro construct_runtime! by adding:
A list of research topics and how to contribute as an author or editor.
This page serves to curate the list of research requests and describe the publication workflows. Each item in the list of publication requests is temporarily open to the public for the nomination of Authorship Teams.
To get started
Join the as a member (no fees) to participate in authorship or nomination. Only members are authorized to nominate or become and for teams. Members may also submit more topics for consideration.
Join the to get in touch with existing members.
This page may be updated occasionally based on community input.
And without further adieu, let's look at the topics open for authorship nomination:
Publications that do not receive an and nomination are subject to expiry. New proposals will replace expired submissions.
If there are ten or fewer PR's listed below, that means Members can submit publication requests. Reach out on Discord if you have topics for research if the queue is open for ideas!
Author // Ed Leite [awaiting acceptance]
Editor // Kenneth Shultz [accepted]
Used to manage funds as stake by network maintainers.
Revised-Final Vote: The Build3 Members vote on the revised final; comments are optional.
If approved, the Authorship Team may not modify the approved document.
If not approved, Build3 Members may not vote again for the submission.
A Build3 Member must submit the topic again as a research request and repeat the process to produce another voting round.
Install the ink! CLI to aid in developing smart contracts.
Ensure the ink! CLI is installed!
Do not create contract projects in the node directory
Navigate to a new directory outside of the node source code. This directory would ideally be dedicated to developing and compiling contracts.
Create new a contract using:
The out of the box TOML file is confi
Testing contracts in the off-chain environment provided by ink! is easy with:
To build (compile your contract to WASM), navigate to the contract directory and run:
metadata.json is distributed with each build and has information about
types - data types used
storage - storage values within the contract and how to access them
spec - information about callable functions
Navigate to the node directory where a working release is installed.
Start the node in dev mode using:
Go to the substrate UI with your running local blockchain and follow the instructions to deploy the contract code.
Aura (Authority Round) authors a block based on proof of authority protocol from substrate_'s aura pallet which also extends the consensus by allowing offline reporting.
In Aura, each block is authored in a series of discrete steps of a given constant duration:
The leader of each step is the only step permitted to issue the single block and is determined by calculating the remainder of the quotient between the step number and number of authors.
The leader chooses the longest chain seen so far and authors a new block to it.
This consensus mechanism follows the fork choice rules of GRANDPA finality.
The authorship rights are granted to Build3 researchers in accordance with their commitment to research of the technology for the industry. The security is introduced through the idea that attacking a network you worked to build would do harm to your efforts to contribute to the technology.
A layer of governance may be included to add a delegated proof of stake similar to the Polkadot network.
The blockchain implements the GRANDPA (GHOST-based Recursive Ancestor Deriving Prefix Agreement) finality gadget discussed in the GRANDPA paper on deterministic finality.
The GRANDPA gadget imports blocks produced from the Aura consensus production to determine the final state of the block production deterministically.
With GRANDPA finality, the validators vote on the chains instead of the blocks. The chain with the highest block number and enough votes is considered to be final, finalizing several blocks in one round.
A new round starts when the primary node broadcasts blocks they estimate might have been finalized within a specific chain from the previous round.
After a pre-determined time from the broadcast, validators broadcast a pre-vote. The validators cast a prevote for the head of the best chain containing the broadcasted blocks.
If the primary node broadcasts a new finalized block that is at or before (or is) the header of the broadcasted chain but is after all estimated finalized blocks, then the nodes use the best chain containing that newly finalized block instead.
The pre-commit occurs after a fixed time when a supermajority is possible for any complete-able round. When a node observes a chain with the header block from the broadcasted chain any time later than all the estimated finalized blocks, it broadcasts a pre-commit.
When a block header receives a pre-commit that extends the existing chain and contains a supermajority then it is finalized and becomes the new header.
The CLI that ships with the installation is configured with chain specifications:
Development - A single validator network where the node that starts is a validator. This is convenient for a quick test of a new local feature because it starts producing blocks immediately.
LocalTestNet - A dual validator network that adds bob as a validator so producing blocks takes a bit more configuration. This setup is convenient for a test net to simulate a more accurate environment.
Great documentation at the end of this tutorial, but the summary is:
Use a password to generate an Sr25519 Key for Producing Blocks Using aura
Use the secret phrase from the previous aura account to generate Ed25519 key for finalizing blocks using grandpa.
Polkadot's technical reasoning for these keys.
Export the spec to json format on CLI
Edit json to add the keys created earlier or to make further customizations.
Convert json to raw format.
purge old chain data if needed with
Fire up the nodes...
This will start the validator, but it is not authorized to mine blocks yet. Add the aura and grandpa keys to authenticate the validation.
A validator is responsible for validating the block. In this scenario, the block is the contributing work entry being claimed.
Validators are chosen on rotation based on regular elections in each era.
A nominator votes on a set of `validators to be elected. Once interest in nomination is stated by an account, it takes effect at the net election round. The funds in the nominator's stash account indicate the weight of its vote. The rewards and punishment that a validator earns are shared between the validator and its nominators.
An account can become a nominator via the nominate call.
Actual validators are chosen from among all potential validators via election by the potential validators and nominators. The term voters is used to represent the union of potential validators and nominators all of whom participate in the election process.
The current election algorithm is implemented based on Phragmén.
The election algorithm's first priority is to elect validators with the most stake value and votes.
Then it tries to divide the nominator votes among candidates in an equal manner.
Optional post-processing can be applied to iteratively normalize the nominator staked values until the total difference among voters of a particular nominator is less than a threshold.
The Pallet is attempting to embrace valid behavior while punishing any misbehavior or lack of availability.
Rewards must be claimed for each era before it gets too old by $HISTORY_DEPTH using the payout_stakers call.
Slashing can occur at any point in time, once misbehavior is reported. Once slashing is determined, a value is deducted from the balance of the validator and all nominators who voted for this validator.
The logic for slashing is further described in the slashing pallet documentation.
Validators and nominators are rewarded at the end of each era. The total reward is calculated using era duration and staking rate.
t is $HISTORY_DEPTH
points_{era(t)} are the reward points received by the team during an era
$_{stakedn, stakedv} is the total validator and nominator stake
$_{supply} is the total supply of the currency
The total reward is split among validators and their nominators depending on the number of points received during the era.
The validator and its nominator split their reward as follows:
The validator sets commission which is paid to the validator only. The commission =is deducted from the total reward paid to validator and its nominators and the remainder is split among validator and all of the nominators proportional to the value staked behind the validator.
Any role above can choose to step back temporarily and just chill for a while.
// Note: this is the pallet-required `Configuration Trait`
pub trait Config: frame_system::Config {
// copy the line below exactly as shown into the `Config` section
// of your `Pallet`. You'll eventually be able to interpret that
// if you don't lnow. Just keep truckin'.
type Event: From<Event> + Into<<Self as frame_system::Config>::Event>;
}decl_module! {
pub struct Module<T: Config> for enum Call where origin: T::Origin {
// This line is new
fn deposit_event() = default;
// More dispatchable calls that you compose woud go here
}
}decl_event!(
pub enum Event<T> where AccountId = <T as frame_system::Config>::AccountId {
EmitInput(AccountId, u32),
}
);impl simple_event::Config for Runtime {
type Event = Event;
}construct_runtime!(
pub enum Runtime where
Block = Block,
NodeBlock = opaque::Block,
UncheckedExtrinsic = UncheckedExtrinsic
{
// --snip--
YourEventName: your_pallet_name,
}
);cargo contract new my_new_contract[package]
name = "flipper"
version = "0.1.0"
authors = ["[your_name] <[your_email]>"]
edition = "2021"
rust-version = "1.56.1"
[dependencies]
ink_primitives = { version = "3.0.0-rc8", default-features = false }
ink_metadata = { version = "3.0.0-rc8", default-features = false, features = ["derive"], optional = true }
ink_env = { version = "3.0.0-rc8", default-features = false }
ink_storage = { version = "3.0.0-rc8", default-features = false }
ink_lang = { version = "3.0.0-rc8", default-features = false }
# MAKE SURE THIS CODEC INFORMATION MATCHES THE BUILD. OUT OF THE BOX CLI IS
# CONFIGURED TO 2.1 WHICH CAUSES ERRORS!
scale = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
scale-info = { version = "2.0", default-features = false, features = ["derive"] }
[lib]
name = "flipper"
path = "lib.rs"
crate-type = [
# Used for normal contract Wasm blobs.
"cdylib",
]
[features]
default = ["std"]
std = [
"ink_metadata/std",
"ink_env/std",
"ink_storage/std",
"ink_primitives/std",
"scale/std",
"scale-info/std",
]
ink-as-dependency = []
cargo +nightly testcargo +nightly contract buildtarget/release/substrate-contracts-node --dev./target/release/your-node-name build-spec --disable-default-bootnode --chain local > customSpec.json./target/release/your-node-name build-spec --chain=customSpec.json --raw --disable-default-bootnode > customSpecRaw.json./target/release/your-node-name purge-chain --base-path /tmp/node01 --chain local -y./target/release/substrate-contracts-node \
--base-path /tmp/blockchoy_1 \
--chain ./customSpecRaw.json \
--port 30333 \
--ws-port 9945 \
--rpc-port 9933 \
--telemetry-url "wss://telemetry.polkadot.io/submit/ 0" \
--validator \
--rpc-methods Unsafe \
--name BlockChoy_1Line Goes Up - A two-hour documentary by Dan Olson with the general claim that blockchain technology is unnecessary financialization of everything that empowers capital holders fixes nothing, encourages fraud, and generally makes everything in the existing broken system much worse.
The Third Web - A well-articulated summary discussing negative freedom, censorship, code-is-law problems, "transactionalism", and ownership. It discusses primary issues, including scaling, The Oracle Problem, ownership fallacies, climate destruction, pyramid scheme / bigger fool, and the general claim that VCs will fundamentally re-centralize the decentralized system.
From the website, "Web3 is a web of ownership. Every object is owned by someone, every object can be traded to someone else."
The above claim is not necessarily valid. Build3 is about authorship, no ownership. This distinction is the fundamental difference between the criticisms (generally focused on flaws inherent to fintech and so claims typically reside in the claim that blockchain is the financialization of all things). The distinction is vital: Build3 is concerned with authorship for construction supervision authority.
- A curated timeline of fraud and scams in blockchain to emphasize the problem with scams and fraud.
FRAMPallets are individual pieces of runtime logic for us in FRAME runtimes.
substrate_ has a long list of pre-packages pallets, but you can also build your own or modify one built by the substrate_ team.
A pallet is composed of a few building blocks. These are:
The first line of code, always. It tells the rust compiler not to use Rust's standard library except when explicitly told so.
Substrate runtimes are compiled to WASM and a regular native binary so you do not have access to rust's standard library.
This means simple things like printing to the command line using println! will not compile.
.
This is where crates are imported, especially the substrate_ framework crates.
All pallets will import frame-support and frame-system
A placeholder to implement traits and methods.
This is used to access features from other pallets, or constants that impact the pallet's behavior.
The Config trait allows you to do the above while keeping Generic Types so you can change define and use something called coin or votes from some other Pallet defined at runtime, but swapped with some other pallet with a runtime update later on.
Have some custom data you want on the chain for users or otherwise?
Runtime Storage is where you do that. You declare storage items you'd like to make accessible to runtime.
Events are how you communicate back to people using the block chain like "transaction confirmed!" or "error! not enough cash!"
This is where you'd build some logic that can be executed regularly in some context, for e.g. on_initialize.
Basically, your blockchain's equivalent to handling webhooks.
These are functions that blockchain users can call. This is often called a Dispatchable Call.
This is the macro where dispatchable calls are composed.
pub use pallet::*;
// other global dependencies...
#[frame_support::pallet]
pub mod pallet {
use frame_support::pallet_prelude::*;
use frame_system::pallet_prelude::*;
// other pallet dependencies... #[pallet::pallet]
#[pallet::generate_store(pub(super) trait Store)]
#[pallet::generate_storage_info]
pub struct Pallet<T>(_);This research aims to dig deeply into those advocating strongly against blockchain technology and web3 in general for ethical, economic, social, or other notable concerns. Relentlessly exploring dissenting opinions is vital to the rigor of the research and will shake loose existential threats overlooked due to confirmation bias. With those threats identified, Build3 can work to resolve or mitigate them within the protocol.
- A two-hour documentary by Dan Olson with the general claim that blockchain technology is unnecessary financialization of everything that empowers capital holders fixes nothing, encourages fraud, and generally makes everything in the existing broken system much worse.
- A well-articulated summary discussing negative freedom, censorship, code-is-law problems, "transactionalism", and ownership. It discusses primary issues, including scaling, The Oracle Problem, ownership fallacies, climate destruction, pyramid scheme / bigger fool, and the general claim that VCs will fundamentally re-centralize the decentralized system.
From the website, "Web3 is a web of ownership. Every object is owned by someone, every object can be traded to someone else."
Thirteen years ago, a group of people going by the name of Satoshi Nakamoto is believed to have released the open-sourced digital currency based on blockchain technology, Bitcoin. A distributed ledger system that validates transactions with no need for a centralized intermediary. With strong revolutionary and democratic intentions, aiming for security, cheap fees, neutrality, shared ownership, and governance, ruled by the algorithm. A powerful statement towards the Establishment, a message to the super-wealthy who play with the working class and end up bailed out by the government.
After the 2008 economy fiasco caused by speculators, brokers, and banks, Bitcoin turned into a solution for the anti and hyper-capitalist movements, an option out of banks and centralized currency, with such complex jargon and mechanisms that proselytizes the conversation in the likes of a cult prepared to defend itself against all criticism and facts.
Unfulfilled roles characterize the not-so-new hype for the masses, a medium by which Establishment operates. Bitcoin and blockchain are fully entwined, although there’s more to it than old Bitcoin blockchain, smart contract blockchains, DeFi, NFTs, DAOs, FOMO, YOLO… they all add up to the fundamental problems preventing blockchain as a whole from fulfilling its original role. Over a decade later, Bitcoin reached an impressive $1T market cap for a pyramid scheme, with transactions too slow and expensive to handle regular commerce. In reality, nothing but an overly speculative financial vehicle is better used for illicit activities such as purchasing illegal drugs, terrorism funding, and money laundering. It is not a surprise that Bitcoin and blockchain DeFi attract all sorts of celebrities and shady personalities such as the Jordan Belfort, aka the Wolf of Wall Street, Elon Musk, Bill Gates, and Justin Bieber name a few.
The consensus mechanism of blockchain is the key to all the claims and promises of decentralization, security, and transparency for blockchain technology. By using the PoW or proof-of-work or just mining as a way of validating transactions, it’s required that different people using powerful computers compete to decrypt blocks in order to move the transaction from A to B, resulting in payment for the miner and a lot of wasted energy in the process. Bitcoin is believed to move the equivalent of electricity of a small European country. PoS or proof of stake solves the problem by appointing a node (a computer) owned by someone who invested a lot of money or put them on stake in order to have the opportunity to validate such transactions with the possibility of losing such stake in case their validation isn’t accurate, but making extra money or tokens when the validations are good. Both consensus mechanisms empower those who can afford powerful computers and those who can afford nodes in the blockchain. They have enough money to invest in the technology, favoring those already empowered and privileged. Not to mention blockchain can’t scale or perform, fails in bringing in security, presents negative freedom, is hardly decentralized or fair, doesn’t share ownership, isn’t transparent, and is just a glorified Ponzi scheme that is far from delivering on its promises, too dangerous to handle any amount or type of data whatsoever.
The distributed ledger is such an exciting and revolutionary concept that would fit just extraordinarily well into the gap caused by the yearnings of the ordinary people (anti and hyper capitalists) feeling overwhelmed and left out of the internet and finance, flooded by fake news on Facebook, that sold their data in the past and still reigns the space with a formidably strong hand. Scammed by banks, Big Pharma, Monsanto, and big corporations, not even allowed to consume art created an optimal space for venture capitalists and enthusiasts who elected blockchain technology as their newest messiah, a good opportunity and the creation of a more sustainable and fair future. A very opportunistic capitalist, Mark Zuckerberg changed Facebook’s name to Meta to save face and insert his company into the future, into generations X and Z’s pockets, not to mention to reach the unbanked with the failed projects of Libra. This stable coin turned to Diem because changing Facebook’s name was not clear enough. It feels like Web3 is being re-invented by the same people who created the old web in the first place. NFTs and DAOs are part of the Web3 section within the blockchain. I know so many acronyms. NFTs or non-fungible tokens are simply a toy in the hands of speculators, a money laundry alternative for super bored wealthy criminals and very wealthy celebrities who will not let go of an opportunity to feel evermore exclusive and relevant.
On the other hand, DAO stands for Decentralized Autonomous Organizations and plays a dirty game, fantasies of fair governance and shared ownership, organized DeFi poorly associated with real-life unions, all very offensive. Web3 is an attempt to give blockchain a heavy use other than speculative. Deeply anti-political, a new space for accumulation, a playground for NFT collectors, and delusions for venture capitalists and enthusiasts who believed they were about to make good money and save the world while having loads of fun collecting digital art. Blockchain has failed us, Bitcoin might never reach its full potential or even recover from this latest crash, but the world is not ending just yet. Blockchain brought negativity to this piece, a very heavy storm cloud during one winter in History. Blockchain will have its story told but most likely described as a fad, a hype that deluded many, promised a bunch only to create new problems that weren’t even there in the first place, and then just vanished like a bad husband who left for cigarettes one day and never returned. Hopefully, it leaves a significant mark on our generation, more like a catastrophic event that once we have recovered from the PTSD caused by it, we can re-route towards a brighter and more real place where we can learn to regulate and evolve the very habits and feelings that got us here in the first place.
This is still a problem because, fundamentally, if you have the money, you can buy the network.
The concept is to solve the problem by making voting authority linearly proportional to the time put into the network (i.e. the industry).
More information is found here on Phil's current work on the topic:
Build3 is not about selling or owning digital documents. It is about proving who the author of the document was and if they were qualified to direct the engineering.
Authorship proof has a value shared among regulators, lenders, and insurers when it comes to construction. Build3 does not disrupt any of the roles of the current actors. Build3 data serves as a layer to underwrite the truth for which each entity exists to serve or regulate: things that can be dangerous when designed by unqualified individuals.
The proposed frames to handle stamping engineered
The above claim is not necessarily valid. Build3 is about authorship, no ownership. This distinction is the fundamental difference between the criticisms (generally focused on flaws inherent to fintech and so claims typically reside in the claim that blockchain is the financialization of all things). The distinction is vital: Build3 is concerned with authorship for construction supervision authority.
Web3 is Going Great - A curated timeline of fraud and scams in blockchain to emphasize the problem with scams and fraud.
Editor // Kenneth Shultz [accpeted]
Author // Phillip Brock [accepted]
Editor // Kenneth Shultz, PE [accepted]
Lead Author // Kenneth Shultz, PE [accepted]
Author // Bradley Edward Layton, PhD PE [pending acceptance]
Editor // Ed Leite [nominated]
Author // [awaiting nomination]
Editor // [awaiting nomination]
Author // Kenneth Shultz, PE [accepted]
Editor // Phil Brock [accepted]
Scope<Standard of Care::Electrical>
A standard of care working group organized around the objective to establish a standard of care for a discipline type. In this case, Electrical.
It is the responsibility of the working group to establish a minimum standard of care for electrical design in a manner that
helps assure public safety
without imposing erroneous administrative work on the community that would discourage engagement in compliance
members of the working group should propose a standard_of_care and internally vote on the final version.
The professional engineering license is modeled using the identity pallet. This pallet allows a user to put forth a proposed identity and ask for a review by any number of registrars.
An engineering board of directors may become a registrar on the network.
Adding registrars are currently done through the master admin (sudo); but will eventually be converted to a council decision.
Registrar has the authority to review the identity and validate it.
A user may assign an identity to their prime account which would represent their main user information (name, email, etc).
When applying for a license, a user creates an account and adds it as a sub-account. The user then submits the sub-account to the board to make a judgment (approve) the identity. The board can change the state of the identity.
Once the license (sub identity) is approved, the engineer uses this license address to seal drawings.
The contracts pallet allows for the distribution of generic smart contracts which deploy into the blockchain and represent the professional interactions for each licensed activity on the network.
Each professional enters into a Contract of Supervision when they begin working on a project.
This connects the licensed agents to the record of supervision for the project.
Because many jurisdictions require both the firm and the individual to be licensed, this contract may require authorization by both licensed parties: the firm and the individual.
Each individually permitted document should be deployed as a separate contract.
This Contract of Supervision should also store the state of the work contract including
deliverables - the list of deliverables and their state (percent completion).
discipline - the discipline associated with the supervision (elec, mech, etc)
standard_of_care
For the sake of practical implementation, we will limit the record of work to any substantial deliverable sent from professional outward which would increase the amount of completed effort by a minimum of 10 percent.
The Record of Work is a record of all major deliverable points, who performed the design, who checked the work, and who verified proof of the standard of care for the block entry.
For each record of work parties sign:
The contact may also be capable of recording payment history and terms. In the event of payment default, the contract would set the state of record drawings to invalid thereby prohibiting continued use of the construction documents (ie they would no longer be permitted for use in construction.
In the event of default, any queries to construction document status would
return an Error: Invalid Contract, Payment Default. NOT FOR CONSTRUCTION and
the contract would also engage the IPFS storage utility to encrypt the data to prevent further download until payment is remedied.
The contact may also be capable of recording payment history and terms. In the event of payment default, the contract would set the state of record drawings to invalid thereby prohibiting continued use of the construction documents (ie they would no longer be permitted for use in construction.
In the event of default, any queries to construction document status would
return an Error: Invalid Contract, Payment Default. NOT FOR CONSTRUCTION and
the contract would also engage the IPFS storage utility to encrypt the data to prevent further download until payment is remedied.
Documentation on how to implement.
Creates an origin that requires multiple parties to sign before authorizing a transaction.
This pallet tracks the reported offenses.
The community itself could check on the implemented standards of care and any violation would be reported as an Offense.
example: PermitZIP requires checklists as part of the process for every project, every deliverable. If the reviewer Validated a design without completing the checklist, this would be an Offence.
Allows account recovery if lost credentials based on M-of-N social recovery.
When a license is lost or stolen, this Pallet provides for a means of recovery which also secures the license.
The recovery process is protected by trusted "friends" and a specific threshold of that list is required to recover.
This helps to address the idea of an engineer losing "control" of their license.
the board could temporarily lock the license
any use of an illegal or invalidated license would notify the board
the engineer could go through the recovery process, and notify the board when recovered
this final version would then go to the network as the proposed standard of care for the network
submissions will implement the staking mechanism (ie the group would collectively bond the proposal, receiving the bond back if adopted by the community
only one formal standard_of_care may exist per category.
standard_of_care era is set to six months and is voted for adoption by network every six months. Any working group may submit an updated standard of care during that time if they have a better version. The network will vote on the standard of care.
the designer submits work for review under a Minimum Standard of Care Configuration Trait
a reviewer checks work against theMinimum Standard of Care Configuration Trait
the professional signs that the document has been designed and backchecked per the Standard of Care
when the account is recovered, the engineer can request it to be re-authorized (paying board fees as needed)
