Get off DatoCMS (#135)

* Changes made to facilitate using local JSON files as a content source rather than dato cms

Set follwoing variable in env to enable the changeover:
NEXT_PUBLIC_DATOCMS_BYPASS_TYPE="local_json"

Setting the above env variable to anything else will revert the site to pulling from datocms, assuming the account is still active with them.

Look for any comment tagged with NEXT_PUBLIC_DATOCMS_BYPASS to see where the intercepts occur

Signed-off-by: Traxus <shyidx@gmail.com>

* update example ENV to include new variable for refrence

Signed-off-by: Traxus <shyidx@gmail.com>

* Fix Type error: 'getAllBlogPostsSlugs' is declared but its value is never read.

Signed-off-by: Traxus <shyidx@gmail.com>

* typescript test

Signed-off-by: Traxus <shyidx@gmail.com>

* primitive typescript appeasement vol 2


Signed-off-by: Traxus <shyidx@gmail.com>

* ./src/lib/datocms-bypass.ts:72:6
Type error: Variable 'directories' implicitly has type 'any[]' in some locations where its type cannot be determined.


Signed-off-by: Traxus <shyidx@gmail.com>

* typescript appeasment vol 3


Signed-off-by: Traxus <shyidx@gmail.com>

* typescript


Signed-off-by: Traxus <shyidx@gmail.com>

* typescript


Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* lint

Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* simple-import-sort, sorry.

Signed-off-by: Traxus <shyidx@gmail.com>

* Signed-off-by: Traxus <shyidx@gmail.com>

* testing a blog post update

* Trying to restore the lint command file

Signed-off-by: Traxus <shyidx@gmail.com>

* Remove Press Page

Signed-off-by: Traxus <shyidx@gmail.com>

* Hide Test Blog post

Signed-off-by: Traxus <shyidx@gmail.com>

* moved the copy of /press to /src/_old_pages/_press so that there would be a refrence copy but to keep the url inacessible to the public


Signed-off-by: Traxus <shyidx@gmail.com>

---------

Signed-off-by: Traxus <shyidx@gmail.com>
Co-authored-by: Traxus <shyidx@gmail.com>
This commit is contained in:
Zach 2023-05-02 16:25:09 -04:00 committed by GitHub
parent c2cc6167a9
commit dea1839147
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
226 changed files with 63119 additions and 11987 deletions

View File

@ -1,2 +1,3 @@
NEXT_PUBLIC_API="https://laconapi.vercel.app"
NEXT_PUBLIC_CMS_ACCESS_TOKEN="280138ffd0e878d599892fc674d85a"
NEXT_PUBLIC_CMS_ACCESS_TOKEN="280138ffd0e878d599892fc674d85a"
NEXT_PUBLIC_DATOCMS_BYPASS_TYPE="local_json"

0
.husky/pre-commit Executable file → Normal file
View File

View File

@ -0,0 +1,14 @@
query MyQuery {
allTeams {
memberGithub
memberLinkedin
memberName
memberPosition
memberTeam
memberTwitter
id
memberImage {
url
}
}
}

View File

@ -0,0 +1,25 @@
query MyQuery {
aboutPage {
heroCtaLabel
heroCtaLink
heroDescB01
heroDescB02
heroHeading
heroTitle
teamHeading
teamDescB01
teamDescB02
whitepaperCtaLink
whitepaperCtaText
whitepaperHeading
whitepaperImage {
url
}
whitepaperLine
roadmapHeading
roadmapQuarter01
roadmapQuarter02
roadmapQuarter03
roadmapQuarter04
}
}

View File

@ -0,0 +1,6 @@
query MyQuery {
allAuthors {
id
name
}
}

View File

@ -0,0 +1,50 @@
query MyQuery {
allBlogPosts {
slug
title
date
category {
id
slug
title
}
author {
id
name
}
image {
url
}
content {
blocks {
... on Callout02Record {
id
text
}
... on Callout01Record {
id
text
}
... on CtaRecord {
id
label
url
}
... on ImageRecord {
id
title
}
}
links
value
}
featured
id
_status
_seoMetaTags(locale: en) {
attributes
content
tag
}
}
}

View File

@ -0,0 +1,7 @@
query MyQuery {
allCategories {
id
slug
title
}
}

View File

@ -0,0 +1,8 @@
query MyQuery {
allPositions {
id
positionLink
positionName
positionTeam
}
}

View File

@ -0,0 +1,71 @@
query MyQuery {
careersPage {
heroHeading
heroLine
valuesHeading
valuesPoint01Head
valuesPoint01Image {
url
}
valuesPoint01ImageLight {
url
}
valuesPoint01Line
valuesPoint02Head
valuesPoint02Image {
url
}
valuesPoint02ImageLight {
url
}
valuesPoint02Line
valuesPoint03Head
valuesPoint03Image {
url
}
valuesPoint03ImageLight {
url
}
valuesPoint03Line
valuesPoint04Head
valuesPoint04Image {
url
}
valuesPoint04ImageLight {
url
}
valuesPoint04Line
whyHeading
whyPoint01Img {
url
}
whyPoint01Line
whyPoint02Img {
url
}
whyPoint02Line
whyPoint03Img {
url
}
whyPoint03Line
whyPoint04Img {
url
}
whyPoint04Line
whyPoint05Img {
url
}
whyPoint05Line
whyPoint06Img {
url
}
whyPoint06Line
whyHeadNumber
positionsHeading
positionsHeadingNumber
positionsLinkLabel
positionsXylmHead
positionsDeepstackHead
positionsCercHead
}
}

View File

@ -0,0 +1,14 @@
query MyQuery {
allEvents {
title
eventDesc
eventStartdate
eventEnddate
eventLocation
id
image {
url
}
link
}
}

View File

@ -0,0 +1,29 @@
query MyQuery {
communityPage {
heroButton01
heroButton02
heroDescription
heroHeading
heroB01Link
heroB02Link
eventsHeading
eventsDescription
socialsHeading
socialsHeadingAlt
socialsLine
socialsImage {
url
}
socialsImageLight {
url
}
socialsTwitter
socialsDiscord
socialsYoutube
socialsReddit
socialsTelegram
socialsLinkedin
socialsFacebook
socialsInstagram
}
}

View File

@ -0,0 +1,18 @@
query MyQuery {
contactPage {
heroHeading
heroLine
heroLink
heroMobileLinkLabel
formHeading
formWarning
formLabelEmail
formPlaceholderEmail
formLabelMsg
formPlaceholderMsg
formLabelPartner
formPlaceholderPartner
formSelectOptions
formLabelButton
}
}

View File

@ -0,0 +1,9 @@
query MyQuery {
footer {
aboutLinks
communityLinks
connectLinks
developerLinks
productsLinks
}
}

View File

@ -0,0 +1,5 @@
query MyQuery {
header {
navMenu
}
}

View File

@ -0,0 +1,11 @@
query MyQuery {
allTestimonials {
id
testimonialImage {
url
}
testimonialPosition
testimonialText
testimonialUsername
}
}

View File

@ -0,0 +1,32 @@
query MyQuery {
homePage {
heroHeading
heroButton01
heroB01Link
heroButton02
heroB02Link
heroSlogan
benefitsDesc
benefitsHeading
benefitsS01Desc
benefitsS01Heading
benefitsS01Item01
benefitsS01Item02
benefitsS01Item03
benefitsS01Item04
benefitsS01Item05
benefitsS01Item06
benefitsS02Desc
benefitsS02Heading
benefitsS02Item01
benefitsS02Item02
benefitsS02Item03
benefitsS02Item04
benefitsS02Item05
benefitsS02Item06
benefitsButton
benefitsButtonLink
othersHeading
latestHeading
}
}

View File

@ -0,0 +1,11 @@
query MyQuery {
testimonial {
id
testimonialImage {
url
}
testimonialPosition
testimonialText
testimonialUsername
}
}

View File

@ -0,0 +1,9 @@
query MyQuery {
privacyPage {
privacyContent {
value
blocks
}
_updatedAt
}
}

View File

@ -0,0 +1,9 @@
query MyQuery {
termsPage {
termsContent {
value
blocks
}
_updatedAt
}
}

View File

@ -0,0 +1,72 @@
query MyQuery {
partnersPage {
heroHeading
heroParagraph01
heroParagraph02
oportunitiesDesc01
oportunitiesDesc02
oportunitiesDesc03
oportunitiesDesc04
oportunitiesDesc05
oportunitiesHeading01
oportunitiesHeading02
oportunitiesHeading03
oportunitiesHeading04
oportunitiesHeading05
oportunitiesImage01 {
url
}
oportunitiesImage01Light {
url
}
oportunitiesImage02 {
url
}
oportunitiesImage02Light {
url
}
oportunitiesImage03 {
url
}
oportunitiesImage03Light {
url
}
oportunitiesImage04 {
url
}
oportunitiesImage04Light {
url
}
oportunitiesImage05 {
url
}
oportunitiesImage05Light {
url
}
oportunitiesItem01Links
oportunitiesItem02Links
oportunitiesItem03Links
oportunitiesItem04Links
oportunitiesItem05Links
contactButtonLabel
contactCompanyLabel
contactCompanyPlaceholder
contactDescription
contactEmailLabel
contactEmailPlaceholder
contactFormHeading
contactFormWarning
contactHeading
contactInquiryLabel
contactInquiryOptions
contactInquiryPlaceholder
contactLegalLabel
contactLegalPlaceholder
contactMsgLabel
contactMsgPlaceholder
contactNameLabel
contactNamePlaceholder
contactRoleLabel
contactRolePlaceholder
}
}

View File

@ -0,0 +1,10 @@
query MyQuery {
allPressReleases {
image {
url
}
link
title
date
}
}

View File

@ -0,0 +1,33 @@
query MyQuery {
pressPage {
heroButtonLabel
heroButtonLink
heroHeading
heroLine
mediaHeading
mediaHeadingNumber
mediaVideo01Label
mediaVideo01Link
mediaVideo01Thumb {
url
}
mediaVideo02Label
mediaVideo02Link
mediaVideo02Thumb {
url
}
mediaVideo03Label
mediaVideo03Link
mediaVideo03Thumb {
url
}
mediaVideo04Label
mediaVideo04Link
mediaVideo04Thumb {
url
}
pressHeading
pressHeadingNumber
featuredHeading
}
}

View File

@ -0,0 +1,97 @@
query MyQuery {
productsPage {
appDescription
appHeading
appImg {
url
}
appImgLight {
url
}
appMobileImg {
url
}
appMobileImgLight {
url
}
heroDescription
heroHeading
heroItem01
heroItem02
heroItem03
heroItem04
heroItem05
heroS01Desc
heroS01Heading
heroS02Desc
heroS02Heading
networkDesc
networkHeading
networkImg {
url
}
networkImgLight {
url
}
networkListItem01
networkListItem02
networkListItem03
networkMobileImg {
url
}
networkMobileImgLight {
url
}
stackDescription
stackHeading
stackImage {
url
}
stackImageLight {
url
}
stackListData
stackSvgImg {
url
}
stackSvgImgLight {
url
}
tokenDesc
tokenHeading
tokenImg {
url
}
tokenImgLight {
url
}
tokenItem01
tokenItem02
tokenItem03
tokenMobileImg {
url
}
tokenMobileImgLight {
url
}
watchersHeading
watchersImage {
url
}
watchersImageLight {
url
}
watchersItem01
watchersItem02
watchersItem03
watchersListHead
watchersMobileImage {
url
}
watchersMobileImageLight {
url
}
watchersP01
watchersP02
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,186 @@
{
"data": {
"allTeams": [
{
"memberGithub": "https://github.com/telefontelaviv-industries",
"memberLinkedin": "https://www.linkedin.com/in/joshua-eustis-29aa02245/",
"memberName": "Joshua Eustis",
"memberPosition": "Product & Ecosystem Lead",
"memberTeam": [],
"memberTwitter": "https://twitter.com/telefontelaviv",
"id": "31581314",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1657650667-je-headshot.jpg"
}
},
{
"memberGithub": "",
"memberLinkedin": "",
"memberName": "7 Founding Members",
"memberPosition": "Announcing in Q3/2022",
"memberTeam": [
"Laconic"
],
"memberTwitter": "",
"id": "41347341",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1658133770-symbol_25.png"
}
},
{
"memberGithub": "https://github.com/bmann",
"memberLinkedin": "https://www.linkedin.com/in/boris/",
"memberName": "Boris Mann",
"memberPosition": "CEO, Fission",
"memberTeam": [],
"memberTwitter": "https://twitter.com/bmann",
"id": "14097753",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1652367416-boris-mann.jpg"
}
},
{
"memberGithub": "https://github.com/expede",
"memberLinkedin": "https://www.linkedin.com/in/brooklynzelenka/",
"memberName": "Brooke Zelenka",
"memberPosition": "CTO, Fission",
"memberTeam": [],
"memberTwitter": "https://twitter.com/expede",
"id": "14097761",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1652367483-brooklyn-zelenka.jpg"
}
},
{
"memberGithub": "https://github.com/",
"memberLinkedin": "",
"memberName": "Roderik van der Graaf",
"memberPosition": "Founder, Lemniscap",
"memberTeam": [],
"memberTwitter": "",
"id": "17704626",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1653390516-captura-de-pantalla-2022-05-24-130822.png"
}
},
{
"memberGithub": "",
"memberLinkedin": "https://google.com/",
"memberName": "Isabelle Kitze",
"memberPosition": "Co-founder, Atomic Form",
"memberTeam": [],
"memberTwitter": "",
"id": "17704633",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1653390421-captura-de-pantalla-2022-05-24-130542.png"
}
},
{
"memberGithub": "",
"memberLinkedin": "",
"memberName": "Garrett Furo",
"memberPosition": "Co-Founder, Atomic Form",
"memberTeam": [],
"memberTwitter": "https://google.com/",
"id": "17704632",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1653390368-captura-de-pantalla-2022-05-24-130503.png"
}
},
{
"memberGithub": "",
"memberLinkedin": "",
"memberName": "TBC",
"memberPosition": "Director, Incredulous / Advanced Blockchain",
"memberTeam": [],
"memberTwitter": "",
"id": "17704781",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1653391616-captura-de-pantalla-2022-05-24-132638.png"
}
},
{
"memberGithub": "https://github.com/AFDudley",
"memberLinkedin": "https://www.linkedin.com/in/afdudley/",
"memberName": "Rick Dudley",
"memberPosition": "President",
"memberTeam": [
"Cerc"
],
"memberTwitter": "https://twitter.com/AFDudley0",
"id": "14097746",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1652367302-rick-dudley.jpg"
}
},
{
"memberGithub": "",
"memberLinkedin": "https://google.com",
"memberName": "TBC",
"memberPosition": "Founder, Stake.Fish",
"memberTeam": [],
"memberTwitter": "",
"id": "17704779",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1653390762-captura-de-pantalla-2022-05-24-131232.png"
}
},
{
"memberGithub": "https://github.com/i-norden",
"memberLinkedin": "https://www.linkedin.com/in/ian-s-norden/",
"memberName": "Ian Norden",
"memberPosition": "VP of Engineering",
"memberTeam": [
"Cerc"
],
"memberTwitter": "",
"id": "14097768",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1652367589-ian-norden.jpg"
}
},
{
"memberGithub": "https://github.com/ashwinphatak",
"memberLinkedin": "https://www.linkedin.com/in/ashwinphatak/",
"memberName": "Ashwin Phatak",
"memberPosition": "Chief Architect",
"memberTeam": [
"Cerc"
],
"memberTwitter": "https://twitter.com/ashwinphatak",
"id": "14097767",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1652367533-ashwin-phatak.jpg"
}
},
{
"memberGithub": "",
"memberLinkedin": "https://www.linkedin.com/in/leah-light-a308535/",
"memberName": "Leah Light",
"memberPosition": "Operations Manager",
"memberTeam": [
"Cerc"
],
"memberTwitter": "",
"id": "14097770",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1652367625-leah-light.jpg"
}
},
{
"memberGithub": "https://github.com/erikdies",
"memberLinkedin": "",
"memberName": "Erik Dies",
"memberPosition": "Product Lead",
"memberTeam": [
"Cerc"
],
"memberTwitter": "https://twitter.com/thelesserdies",
"id": "14097771",
"memberImage": {
"url": "https://www.datocms-assets.com/66113/1652367650-erik-dies.jpg"
}
}
]
}
}

View File

@ -0,0 +1,42 @@
{
"data": {
"allAuthors": [
{
"id": "63992470",
"name": "Zach Ramsay"
},
{
"id": "63259964",
"name": "Maly Ly"
},
{
"id": "55641250",
"name": "Joshua Eustis"
},
{
"id": "55512259",
"name": "Stefan Adolf"
},
{
"id": "55457832",
"name": "Michael Gushansky"
},
{
"id": "44855867",
"name": "Robert Douglass"
},
{
"id": "24856058",
"name": "Maly Ly"
},
{
"id": "7023106",
"name": "Christoph Berger"
},
{
"id": "2965423",
"name": "Mr. Lorem Ipsum"
}
]
}
}

View File

@ -0,0 +1,31 @@
{
"data": {
"allCategories": [
{
"id": "6311820",
"slug": "developers",
"title": "Developers"
},
{
"id": "6311819",
"slug": "insights",
"title": "Insights"
},
{
"id": "2965426",
"slug": "news",
"title": "News"
},
{
"id": "3545001",
"slug": "partners",
"title": "Partners"
},
{
"id": "3545003",
"slug": "product",
"title": "Product"
}
]
}
}

View File

@ -0,0 +1,5 @@
{
"data": {
"allPositions": []
}
}

View File

@ -0,0 +1,54 @@
{
"data": {
"allEvents": [
{
"title": "Cosmoverse",
"eventDesc": "The legendary Cosmos Conference",
"eventStartdate": "2022-09-27",
"eventEnddate": "2022-09-28",
"eventLocation": "Medellin, Colombia",
"id": "14094472",
"image": {
"url": "/images/site_content/event/20220927-cosmoverse.png"
},
"link": "https://www.cosmoverse.org/"
},
{
"title": "Mainnet",
"eventDesc": "Mainnet is an immersive, agenda-setting summit held annually by Messari.",
"eventStartdate": "2022-09-21",
"eventEnddate": "2022-09-23",
"eventLocation": "New York, USA",
"id": "14069499",
"image": {
"url": "/images/site_content/event/20220921-mainnet.png"
},
"link": "https://mainnet.events/"
},
{
"title": "ETH SF",
"eventDesc": "ETHSanFrancisco 2022 will be the years premier Ethereum event on the west coast, so dont miss your chance to see your SF friends' apartments one last time before they move to Miami.",
"eventStartdate": "2022-11-03",
"eventEnddate": "2022-11-05",
"eventLocation": "San Francisco, USA",
"id": "14094487",
"image": {
"url": "/images/site_content/event/20221103-eth-sf.png"
},
"link": "https://sf.ethglobal.com/"
},
{
"title": "Devcon",
"eventDesc": "Devcon is an intensive introduction for new Ethereum explorers, a global family reunion for those already a part of our ecosystem, and a source of energy and creativity for all.",
"eventStartdate": "2022-10-07",
"eventEnddate": "2022-10-14",
"eventLocation": " Bogota, Colombia",
"id": "14069491",
"image": {
"url": "/images/site_content/event/20221007-devcon.png"
},
"link": "https://devcon.org/en/"
}
]
}
}

View File

@ -0,0 +1,54 @@
{
"data": {
"allEvents": [
{
"eventDesc": "The legendary Cosmos Conference",
"eventEnddate": "2022-09-28",
"eventStartdate": "2022-09-27",
"eventLocation": "Medellin, Colombia",
"id": "14094472",
"image": {
"url": "https://www.datocms-assets.com/66113/1652360300-card03.png"
},
"link": "https://www.cosmoverse.org/",
"title": "Cosmoverse"
},
{
"eventDesc": "Mainnet is an immersive, agenda-setting summit held annually by Messari.",
"eventEnddate": "2022-09-23",
"eventStartdate": "2022-09-21",
"eventLocation": "New York, USA",
"id": "14069499",
"image": {
"url": "https://www.datocms-assets.com/66113/1652352588-card02.png"
},
"link": "https://mainnet.events/",
"title": "Mainnet"
},
{
"eventDesc": "ETHSanFrancisco 2022 will be the years premier Ethereum event on the west coast, so dont miss your chance to see your SF friends' apartments one last time before they move to Miami.",
"eventEnddate": "2022-11-05",
"eventStartdate": "2022-11-03",
"eventLocation": "San Francisco, USA",
"id": "14094487",
"image": {
"url": "https://www.datocms-assets.com/66113/1652360353-card04.png"
},
"link": "https://sf.ethglobal.com/",
"title": "ETH SF"
},
{
"eventDesc": "Devcon is an intensive introduction for new Ethereum explorers, a global family reunion for those already a part of our ecosystem, and a source of energy and creativity for all.",
"eventEnddate": "2022-10-14",
"eventStartdate": "2022-10-07",
"eventLocation": " Bogota, Colombia",
"id": "14069491",
"image": {
"url": "https://www.datocms-assets.com/66113/1652352490-card01.png"
},
"link": "https://devcon.org/en/",
"title": "Devcon"
}
]
}
}

View File

@ -0,0 +1,78 @@
{
"data": {
"allTestimonials": [
{
"id": "53676939",
"testimonialImage": {
"url": "https://www.datocms-assets.com/66113/1660570305-t1qh-epl_400x400.jpeg"
},
"testimonialPosition": "",
"testimonialText": "Heres a few of my favorite slept on protocols at the moment:\n\n@ComposableFin\n@laconicnetwork\n@archwayHQ\n@SeiNetwork\n@Shade_Protocol\n \nEach doing industry leading work in their respective niche and poised to gain significant market share during the bear market and beyond",
"testimonialUsername": "@DougieDeLuca"
},
{
"id": "53682921",
"testimonialImage": {
"url": "https://www.datocms-assets.com/66113/1652432456-eeb-whtv_400x400.jpg"
},
"testimonialPosition": "",
"testimonialText": "Running infura for free is actually extremely expensive, we pursued a light client before but it required a fresh implementation. hopefully @laconicnetwork solves this problem",
"testimonialUsername": "@kumavis"
},
{
"id": "53682920",
"testimonialImage": {
"url": "https://www.datocms-assets.com/66113/1652722398-yddlfryh_400x400.jpg"
},
"testimonialPosition": "",
"testimonialText": "If you love web3 infra layer tools/solutions, give @laconicnetwork a follow. I'm incredibly excited with what they have coming down the pipeline…\n",
"testimonialUsername": "@rickmanelius"
},
{
"id": "53682912",
"testimonialImage": {
"url": "https://www.datocms-assets.com/66113/1660570564-f6qitfr_400x400.jpeg"
},
"testimonialPosition": "",
"testimonialText": "if you're also wondering how we level up (from ground-level projects), @laconicnetwork looks like a compelling middleware layer to me 👀",
"testimonialUsername": "@Ether_Gavin"
},
{
"id": "53682908",
"testimonialImage": {
"url": "https://www.datocms-assets.com/66113/1660570523-sjtwlhch_400x400.jpeg"
},
"testimonialPosition": "",
"testimonialText": "shoutout to @cosmosibc and @nomadxyz_, and @agoric and @laconicnetwork",
"testimonialUsername": "@dystophiabreaker"
},
{
"id": "53682905",
"testimonialImage": {
"url": "https://www.datocms-assets.com/66113/1660570491-spncmxjy_400x400.jpeg"
},
"testimonialPosition": "",
"testimonialText": "I feel hopeful for and inspired by what @laconicnetwork is building 🌟",
"testimonialUsername": "@cjremus"
},
{
"id": "53682698",
"testimonialImage": {
"url": "https://www.datocms-assets.com/66113/1660570450-clc5-paa_400x400.jpeg"
},
"testimonialPosition": "",
"testimonialText": "excited about @laconicnetwork\n \nthis is what actual free market mutualism can create - incentive structures around maintaining tailored state data that can then be made valuable to others as a self-sustaining public good.",
"testimonialUsername": "@motherpredicate"
},
{
"id": "53681948",
"testimonialImage": {
"url": "https://www.datocms-assets.com/66113/1660570379-pjxpwqkw_400x400.jpeg"
},
"testimonialPosition": "MetaMask Founder",
"testimonialText": "Once we have good end-user caching of partial blockchain state (Like via \n@laconicnetwork), we could enable users to do lookups on a local phishing list, gaining stronger privacy benefits for much lower cost than a full node",
"testimonialUsername": "@Danfinlay"
}
]
}
}

View File

@ -0,0 +1,13 @@
{
"data": {
"testimonial": {
"id": "53676939",
"testimonialImage": {
"url": "https://www.datocms-assets.com/66113/1660570305-t1qh-epl_400x400.jpeg"
},
"testimonialPosition": "",
"testimonialText": "Heres a few of my favorite slept on protocols at the moment:\n\n@ComposableFin\n@laconicnetwork\n@archwayHQ\n@SeiNetwork\n@Shade_Protocol\n \nEach doing industry leading work in their respective niche and poised to gain significant market share during the bear market and beyond",
"testimonialUsername": "@DougieDeLuca"
}
}
}

View File

@ -0,0 +1,5 @@
{
"data": {
"allPressReleases": []
}
}

View File

@ -0,0 +1,4 @@
========NEXT_PUBLIC_DATOCMS_BYPASS /json/site_content/_readme.txt
-The JSON files in this directory and subdirectories feed the site per the naming conventions
-anything prefixed with an underscore is ignored
-directories represent content types which are listable rather than single pages (blogPosts, teams)

View File

View File

@ -0,0 +1,56 @@
{
"data": {
"aboutPage": {
"heroCtaLabel": "",
"heroCtaLink": "",
"heroDescB01": "For blockchain technology to achieve true decentralization and wider adoption, we need to expand data access, verifiability, and control for developers and end users around the world.",
"heroDescB02": "Led by a globally renowned team of architects and core contributors across Ethereum, IPLD / IPFS, and Cosmos SDK, our mission is to accelerate blockchain development, interoperability, and adoption by providing decentralized application (DApp) developers and users with greater access to verifiable data.",
"heroHeading": "Accelerating Web3",
"heroTitle": "Were materializing a decentralized and interoperable future, <b>now</b>",
"teamHeading": "Team",
"teamDescB01": "Five years in development, Laconic is built by platform experts and core contributors across Ethereum, IPLD / IPFS, and Cosmos SDK. ",
"teamDescB02": "Our project teams include Ethereum architects and developers who co-authored EIP-1559, and technology veterans who have launched products used by billions of people.",
"whitepaperCtaLink": "",
"whitepaperCtaText": "",
"whitepaperHeading": "Whitepaper",
"whitepaperImage": {
"url": "/images/site_content/aboutPage/whitepaperImage.png"
},
"whitepaperLine": "Coming Soon",
"roadmapHeading": "Roadmap",
"roadmapQuarter01": {
"heading": "Q3 2022",
"details": [
"Marketing & Community Launch",
"7 Founding Members",
"Laconic Golang SDK / Watchers 1"
]
},
"roadmapQuarter02": {
"heading": "Q4 2022",
"details": [
"Announce Funding",
"Ethereum Mainnet Support",
"Updated Whitepaper"
]
},
"roadmapQuarter03": {
"heading": "Q1 2023",
"details": [
"Laconic App v1",
"Laconic JS SDK",
"Watchers v2"
]
},
"roadmapQuarter04": {
"heading": "Q2 2023",
"details": [
"Public Incentivized Testnet",
"Laconic App: Investor Services",
"Service Provider Registry v1",
"Community Grants Plan"
]
}
}
}
}

View File

@ -0,0 +1,5 @@
========NEXT_PUBLIC_DATOCMS_BYPASS /json/site_content/author/_readme.txt
-The JSON files in this directory were added for completion when migrating away from datocms
-To my knowledge this specific node is a dead end that is not linked to or iterated in any way
-That is to say, there is no linking out to a specific 'author' page
-The node only exists in the /json/site_content/author/blogPosts JSON files

View File

@ -0,0 +1,8 @@
{
"data": {
"author": {
"id": "12345678",
"name": "Author Name"
}
}
}

View File

@ -0,0 +1,8 @@
{
"data": {
"author": {
"id": "7023106",
"name": "Christoph Berger"
}
}
}

View File

@ -0,0 +1,8 @@
{
"data": {
"author": {
"id": "55641250",
"name": "Joshua Eustis"
}
}
}

View File

@ -0,0 +1,8 @@
{
"data": {
"author": {
"id": "63259964",
"name": "Maly Ly"
}
}
}

View File

@ -0,0 +1,8 @@
{
"data": {
"author": {
"id": "55457832",
"name": "Michael Gushansky"
}
}
}

View File

@ -0,0 +1,8 @@
{
"data": {
"author": {
"id": "44855867",
"name": "Robert Douglass"
}
}
}

View File

@ -0,0 +1,8 @@
{
"data": {
"author": {
"id": "55512259",
"name": "Stefan Adolf"
}
}
}

View File

@ -0,0 +1,8 @@
{
"data": {
"author": {
"id": "63992470",
"name": "Zach Ramsay"
}
}
}

View File

@ -0,0 +1,695 @@
{
"data": {
"blogPost": {
"slug": "99-problems-but-nfts-aint-one",
"title": "99 Problems But NFTs Aint One",
"date": "2022-09-28",
"category": [
{
"id": "3545003",
"slug": "product",
"title": "Product"
}
],
"author": {
"id": "55641250",
"name": "Joshua Eustis"
},
"image": {
"url": "/images/site_content/blogPost/99-problems-but-nfts-aint-one.png"
},
"content": {
"blocks": [
{
"id": "55644653",
"title": "Tweet"
},
{
"id": "55644654",
"label": "Discord",
"url": "https://discord.com/invite/ukhbBemyxY"
}
],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Ask most people what they know about NFTs, and its likely youll hear a lot about digital art, tokenized authenticity, proof of ownership, and/or a hot new asset class (or, depending who you hang out with, commodity fetishism and the death knell of late-stage capitalism). But hot takes aside, todays market for generative artwork is only the tip of the iceberg. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Whatever the use case—and the possibilities are vast—todays NFT ecosystem is generating mountains of largely unstructured data, both on and off chain. And without established technical standards to ensure clear structure and verifiability, its all too easy for that data to become the stuff of developer nightmares."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "More possibilities, more problems."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "As use cases for NFTs continue to expand beyond "
},
{
"url": "https://superrare.com/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "1/1 works of art"
}
]
},
{
"type": "span",
"value": " and "
},
{
"url": "https://boredapeyachtclub.com/#/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "10k pfp collections"
}
]
},
{
"type": "span",
"value": ", developers building applications that integrate on-chain tokens face a widening maze of challenges around data management and queries. . The power of an NFT lies in its ability to represent any unique entity, with todays common use cases including in-game tokens, editioned generative artwork, event ticketing, and even "
},
{
"url": "https://www.theblock.co/post/134923/artist-blows-up-lamborghini-to-make-nfts-in-protest-against-crypto-culture",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "physical works or goods"
}
]
},
{
"type": "span",
"value": ". Blockchain and non-fungible tokens, in this case, make use of smart contracts, which can be written in a variety of programming languages, using varying methods of metadata storage and retrieval. The digital asset to which a given piece of metadata refers, and the metadata itself, can each be located almost anywhere in the decentralized web—which is itself both immeasurably large and continuously expanding. \n\nCombine a diversity of programming languages and an absence of standardization, and you end up with some novel problems, mostly involving how to handle the sheer volume of data generated, how to locate it in the many places it might be stored (both on chain and off), and how to handle inconsistent data formats and structures. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The Laconic Network was created to address these challenges through shared standards that make it possible for DApp developers to quickly and intuitively integrate and manage disparate NFT data and assets. In this piece, the first of a two-part series, we look at five major NFT implementation and integration issues—along with what were doing to solve each one, so you can sleep at night. "
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "1. NFT data lacks consistency and integrity."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The functionality of an NFT lies in the metadata describing the individual item it represents. That metadata can consist of traits describing the characteristics of a jpeg artwork, essential information about copyright and intellectual property, guidelines for the items intended presentation, or all of the above and more. Metadata can also address a broad set of questions:"
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": " Am I allowed to use an NFT for commercial purposes based on IP and copyright? Can I play a specific video, given its file format and codec? Are there readable methods for rendering this generative work? Can I easily list this NFT on the larger NFT marketplaces, where I have the best chance of selling it for the best price and in a timely manner?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The rapid growth of the NFT market has further expanded the possible functions of metadata. Developers need an efficient way to retrieve all types of metadata, and to maintain correlation with their on-chain counterparts in provable, hash-linked data structures. Laconic Watchers—APIs that serve data from the Laconic Network—fill this need. The Watchers custom search and caching services collect variously constructed data and combine it into a unified form that DApps can interpret and use, without sacrificing data integrity."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "2. NFT data is fragmented and scattered."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Its not practical to use current blockchain technology as a data storage or retrieval protocol. It was designed primarily as a means for achieving trustless consensus, not as a data availability system. The assets to which NFTs refer are often stored in protocols such as "
},
{
"url": "https://www.arweave.org/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Arweave"
}
]
},
{
"type": "span",
"value": " and "
},
{
"url": "https://ipfs.tech/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "IPFS"
}
]
},
{
"type": "span",
"value": ", and pointed to by the NFTs “"
},
{
"url": "https://docs.openzeppelin.com/contracts/2.x/erc721",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"strong",
"emphasis"
],
"value": "tokenURI"
}
]
},
{
"type": "span",
"value": ".”  In one recent example, complete rendering libraries are stored as "
},
{
"url": "https://twitter.com/dhof/status/1569509636587528195?s=20&t=KUYxKh-vG7qFaTtCvhRObA",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "compressed, on-chain data URIs"
}
]
},
{
"type": "span",
"value": "; smart contracts then access these libraries to render fully on-chain generative artworks."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "A problem emerges, however, whenever a DApp needs to access any of this information. Methods for retrieval and DApp ingestion vary wildly depending on data type and location. And while RPC services can locate data—for a price—in most cases theres no measurable way to ensure its integrity. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Despite being the most lightweight element of the Laconic Stack, the Laconic Watcher has the power to alleviate the proof issue, by preserving evidence of proof across data transformations while querying a far smaller subset of data than is typically required."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "3. For both NFTs and equivalent token formats, data types vary from blockchain to blockchain."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Most of todays NFTs are based on Ethereum, and most commonly written in Solidity. But zoom out for a wider view of the possibilities for both token types and blockchains, and the problem space increases correspondingly. On Tezos, for instance, smart contracts are most often written in SmartPy or LIGO, with third-place Michelson being a common low-level, domain-specific language. On Solana, Rust, C, and C++ are commonly used to compose smart contracts (referred to in the Solana ecosystem as “programs).” Its safe to say that we have more than a small naming, language, and methodology mess on our hands in the blockchain ecosystem!\n\nLets imagine a DApp that tracks all NFTs representing a certain kind of media—books, for example—to provide an index of on-chain literature. It would need the ability to accurately interpret smart contracts from each chain, across widely varying programming languages, syntax, and metadata standards."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The Laconic Network drastically simplifies this process, offering developers a unified view of data while allowing DApps to agnostically query data from multiple blockchains from a decentralized, content-addressable database."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "4. NFT games require lightning-fast retrieval and scalability."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The volume of NFT transactions is expected to rise significantly with the "
},
{
"url": "https://tiktok.immutable.com/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "current influx"
}
]
},
{
"type": "span",
"value": " of "
},
{
"url": "https://about.instagram.com/blog/announcements/instagram-digital-collectibles",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "institutional Web 2 players"
}
]
},
{
"type": "span",
"value": " into the Web 3 ecosystem. The problem: As transaction volume and speed increase, data availability with censorship resistance and proof of integrity becomes increasingly unsustainable. And blockchain-based games alone are poised to send NFT transaction volumes to stratospheric heights, with more and more in-game events and transactions driving mounting network traffic. For example, the popular game "
},
{
"url": "https://godsunchained.com/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Gods Unchained"
}
]
},
{
"type": "span",
"value": " is already generating "
},
{
"url": "https://chainplay.gg/games/gods-unchained/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "significant transaction volume"
}
]
},
{
"type": "span",
"value": "—and its just one of countless on-chain games. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The growth of games and social apps using on-chain transactions continues to expose issues with Ethereums scalability and speed. The problem is compounded by the fact that most indexing services are typically a few blocks behind with updates—too far back to have DApps react to in-game events on time. And that leaves players holding the bag, subjected to unnecessarily clunky and unwieldy gaming experiences."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Unlike traditional blockchain indexing services, the Laconic Network is equipped to provide up-to-date blockchain data with trivial delay, for scenarios in which real-time data retrieval is essential to user experience."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "5. Data retrieved from multiple locations is difficult to verify. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "A fundamental promise of blockchain is verifiability. And while on-chain data is verifiable "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "per se"
},
{
"type": "span",
"value": ", NFT data can be stored in any number of data repositories. Meanwhile, "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "using"
},
{
"type": "span",
"value": " that data requires intermediaries such as DNS system records, traditional web servers, and files stored in Web2 datacenters. Every one of these exposes the data to the possibility of censorship, manipulation by bad-faith actors, or simple disappearance. In such scenarios, associated NFT data is most often tied to a token via a ”tokenURI” that references the location of a JSON file containing token metadata. That file, in turn,  lives in one of these off-chain data storage protocols.\n\nTypical "
},
{
"url": "https://ethereum.org/en/developers/docs/apis/json-rpc/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "RPC"
}
]
},
{
"type": "span",
"value": " providers can retrieve information about such data, then provide it to a client. A wallet client, for example, can find any media files associated with a particular NFT and display them. But this creates a trust bottleneck in the Web 3 ecosystem—requiring DApps and their users to trust the source of the data without proof. Solving this trust point is one of the primary goals of Laconic."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Todays NFT ecosystem isnt providing standards. Enter Laconic."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Its clear that across blockchains, tokenization standards vary widely. Even with similar token types on the same chain, we see countless examples of how and where data is stored:"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": " "
}
]
},
{
"item": "55644653",
"type": "block"
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "\nStay tuned for Part 2, where well dive into more detail on how Laconic solves common implementation and integration challenges, offering both collectors and developers a far smoother NFT experience. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Got questions? Join us on Discord.\n"
}
]
},
{
"item": "55644654",
"type": "block"
}
]
}
}
},
"featured": false,
"id": "55644655",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,148 @@
{
"data": {
"blogPost": {
"slug": "blog-post-slug",
"title": "Blog Post Title",
"date": "2023-04-17",
"category": [
{
"id": "1111111",
"slug": "category-a-slug",
"title": "Category A Title"
},
{
"id": "2222222",
"slug": "category-b-slug",
"title": "Category B Title"
}
],
"author": {
"id": "12345678",
"name": "Author Name"
},
"image": {
"url": "/images/site_content/blogPost/blog-post-slug.png"
},
"content": {
"blocks": [],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Main content, stored in the obtuse JSON markup format pulled from datocms."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "This is how you make "
},
{
"url": "https://google.com",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"value": "a link to Google."
}
]
}
]
}
]
}
}
},
"featured": false,
"id": "12345678",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,148 @@
{
"data": {
"blogPost": {
"slug": "test-blog-post",
"title": "Test Blog Post",
"date": "2023-04-17",
"category": [
{
"id": "1111111",
"slug": "developers",
"title": "Developers"
},
{
"id": "2222222",
"slug": "category-b-slug",
"title": "Category B Title"
}
],
"author": {
"id": "12345678",
"name": "Author Name"
},
"image": {
"url": "/images/site_content/blogPost/test-blog-post.png"
},
"content": {
"blocks": [],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Main content, stored in the obtuse JSON markup format pulled from datocms."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "This is how you make "
},
{
"url": "https://google.com",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"value": "a link to Google."
}
]
}
]
}
]
}
}
},
"featured": false,
"id": "12345678",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,529 @@
{
"data": {
"blogPost": {
"author": {
"id": "63992470",
"name": "Zach Ramsay"
},
"category": [
{
"slug": "fake",
"title": "Fake",
"id": "6311820"
}
],
"content": {
"blocks": [
{}
],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Heres the main problem: reading data from the Ethereum blockchains is either cheap and sloppy or expensive and correct. As a result, Dapp developers have come to rely on inexpensive centralized services that do not provide evidence to verify the correctness of the data they are serving to Dapps."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Not only is it expensive to get verifiable data but it can also be challenging to parse out the subset of data you really need. In the early days of SQL, you had to be proficient at the command line in order to use the product, and so use was limited to those that had that specialized capability."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Eventually, GUIs were built such that anyone with basic computer skills could use drop-down menus and create database schemas without writing a single line of code. Web3 is still in the early days of SQL, it is not easy onboarding new users and developers who are otherwise quite capable with the latest Web2 technologies.\n\nRight now, theres all this data on Ethereum and as a Dapp developer, you only want a tiny fraction of it. But, to verify that fraction, you have to (among several other things) maintain an archive node - this is prohibitively expensive for the majority of developers. To solve this problem, centralized services such as (Infura, The Graph, and Alchemy) have popped up and currently account for the majority (if not most) of Dapp queries to Ethereum."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic was created to address these and several other problems in the blockchain ecosystem. Not only does Laconic make it easy to get verifiable data - quickly and cheaply - it also provides a framework for data transformation and aggregation that are difficult or impossible to do in other systems.\n\nArchitecting a solution to this requires many moving pieces; these have been developed by core Ethereum & Cosmos contributors over the past 5 years. In this post, we will walk you through the various components of the Laconic Stack."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There are three different ways to participate in the Laconic Network: Member Validators, Service Providers, and Dapp Developers. To describe the responsibilities and benefits of each role, we must first start grounded in the technicalities of the Laconic Stack."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Lets take a look at the following core stack diagram:"
}
]
},
{
"item": "63992474",
"type": "block"
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Note: this diagram intentionally leaves out several repositories (e.g., codecs, utilities, rpc shims). This is done for simplicity reasons and anyone diving deep into the stack will discover them.\n\nThe two repositories at the top are also the main entry points for most developers. `"
},
{
"url": "https://github.com/cerc-io/stack-orchestrator",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "stack-orchestrator"
}
]
},
{
"type": "span",
"value": "` is a command-line tool for, well, orchestrating the stack. It uses docker-compose to deploy a specified collection of networked docker containers, thereby eliminating the need to set up a variety of services independently. Every user of the Laconic Stack will at some point - if not regularly - use the stack orchestrator."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The `"
},
{
"url": "https://github.com/cerc-io/watcher-ts",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "watchers-ts"
}
]
},
{
"type": "span",
"value": "` repo contains the publically available Watchers and the code to generate them. Watchers are TypeScript that is generated from one or more Solidity smart contracts. Dapp Developers can participate in the Laconic Network by either 1) writing a custom watcher for their Dapp or 2) writing a generally useful watcher and publishing it to the Laconic Registry, thus earning a fee every time it is used. Well come back to Watchers later."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Down at the bottom left is the `"
},
{
"url": "https://github.com/cerc-io/laconicd",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "laconicd"
}
]
},
{
"type": "span",
"value": "` repository and it is indeed the “bottom” of the stack. It is built from the Cosmos SDK and has custom modules specific to operating the Laconic Network (e.g., fork of Ethermint/Evmos, auction, nameservice). It is likely that in the future there will be a public testnet, however, because the Laconic Network is a permissioned validator set, only Member Validators that have officially joined the Laconic Network will be included in the mainnet. Just because the validator set is permissioned does not prohibit anyone from running a full node and Service Providers or others may choose to do so for a variety of reasons."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The `"
},
{
"url": "https://github.com/cerc-io/laconic-sdk",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "laconic-sdk"
}
]
},
{
"type": "span",
"value": "` is a library for facilitating talking to `laconicd`. Both the `"
},
{
"url": "https://github.com/cerc-io/laconic-registry-cli",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "laconic-registry-cli"
}
]
},
{
"type": "span",
"value": "` and the `"
},
{
"url": "https://github.com/cerc-io/laconic-console",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "laconic-console"
}
]
},
{
"type": "span",
"value": "` use it. While `laconic-registry-cli` is a command-line tool for doing so, the `laconic-console` is a user interface for writing and reading records on the Laconic Network. These general-purpose tools are useful for a wide variety of use cases across the stack."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "A key goal of the Laconic Network is to provide accurate, verifiable data from the Ethereum blockchain. Comparisons to currently available solutions are for another post, however, no service currently exists to provide inexpensive evidence that the data being served is correct. The Laconic solution (one of) to this is in something called “statediffing”, a part of the stack run by Member Validators and, likely by Service Providers."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "It starts with a maintained fork of `"
},
{
"url": "https://github.com/cerc-io/go-ethereum",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "go-ethereum (geth)"
}
]
},
{
"type": "span",
"value": "` that has an added real-time state-diffing service. Statediffing gives a clear picture of the state between any given blockheights. This allows Laconic to minimize the amount of computation required for providing proofs. Three additional “helper” services perform different tasks required to get a full picture of the state as required by an application. Together, these comprise the Full Index Node (FIN)."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The `"
},
{
"url": "https://github.com/cerc-io/eth-statediff-service",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "eth-statediff-service"
}
]
},
{
"type": "span",
"value": "` provides historical state data, while the `"
},
{
"url": "https://github.com/cerc-io/eth-statediff-fill-service",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "eth-statediff-fill-service"
}
]
},
{
"type": "span",
"value": "` uses the historical state data to fill statediff gaps as required. Finally, the `"
},
{
"url": "https://github.com/cerc-io/ipld-eth-state-snapshot",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "ipld-eth-state-snapshot"
}
]
},
{
"type": "span",
"value": "` loads a complete state at a certain blockheight, which helps to bootstrap the system. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "\nThere is more to be written about statediffing, however, whats important to note here is that each service is writing independently to `"
},
{
"url": "https://github.com/cerc-io/ipld-eth-db",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "ipld-eth-db"
}
]
},
{
"type": "span",
"value": "`. The latter serves as a bucket for state data that has been indexed in IPLD. Rather than querying this database directly, the `"
},
{
"url": "https://github.com/cerc-io/ipld-eth-server",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "ipld-eth-server"
}
]
},
{
"type": "span",
"value": "` provides an API layer for Watchers to easily query relevant pieces of data from the Ethereum state. Additionally, `ipld-eth-server` recapitulates the native Ethereum JSON RPC interfaces on top of the `ipld-eth-db` database."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "And so weve come full circle back to the Watchers. As previously mentioned, they are generated from one or more Solidity smart contracts and configured to query specific pieces of data relevant to a Dapp. Watchers make it easy to query the data you need from Ethereum "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "and"
},
{
"type": "span",
"value": " - along the way - get evidence in order to generate proofs that your data is correct. This is in contrast to currently available solutions for Dapp developers, who must currently rely on centralized providers that dont provide evidence to generate proofs."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Web3 is (still!) in its early days, and like the early days of SQL, Dapp developers need advanced knowledge of complex data structures to build their Dapp. Watchers simplify this by exposing a GraphQL endpoint, a solution familiar to an order of magnitude more developers than querying the Ethereum blockchain directly."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic is building a suite of tools to address core problems in Web3. Today, weve provided an overview of the main components of the Laconic Stack. Developers interested in Laconic should start with `"
},
{
"url": "https://github.com/cerc-io/stack-orchestrator",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "stack-orchestrator"
}
]
},
{
"type": "span",
"value": "` to get a sense of running different parts of the stack, then check out `"
},
{
"url": "https://github.com/cerc-io/watcher-ts",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "watcher-ts"
}
]
},
{
"type": "span",
"value": "` to experiment with different watchers and progress to making their own."
}
]
}
]
}
}
},
"date": "1999-01-18",
"featured": false,
"id": "63992475",
"image": {
"url": "https://www.datocms-assets.com/66113/1673986992-laconic_clippy_grid2.png"
},
"slug": "copy-b",
"title": "COPY B"
}
}
}

View File

@ -0,0 +1,389 @@
{
"data": {
"blogPost": {
"author": {
"id": "55457832",
"name": "Michael Gushansky"
},
"category": [
{
"slug": "insights",
"title": "Insights",
"id": "6311819"
},
{
"slug": "fake",
"title": "Fake",
"id": "3545003"
}
],
"content": {
"blocks": [],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic cofounder Rick Dudley appeared on a special livestream of The Interop with host Sebastien Couture to discuss the Laconic Stack, the blockchain data problems that Laconic solves, Laconics novel governance structure, and how Laconic can index and verify data faster, more efficiently, and at lower cost. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Below is a distilled transcript of Ricks responses during the discussion."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "The Future is App Chains"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "I think there will be millions of chains, and we'll be using a combination of rollups and meshnot straight linear L1, L2, L3, but also meshes of rollups and attestations publishing bridges, etc. And although we may have millions of chains, we won't have millions of massive chains. A large chain may have 100 members, and there may be one or two chains out there with 4,000 validators. But in the world, you only need a few of those."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "I think everything becomes an app chain. I think mainnet Ethereum ultimately becomes an app chain and the application is settling rollupsvery similar to Cosmos Hub, frankly. Polkadot, Ethereum 2.0, Cosmos Hub are all actually very similar in terms of the endgame state in the final thesis. And I don't think that there will necessarily be a winner per se. I think they will have curious different properties. "
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Why Laconic?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The ultimate goal of Laconic is to get all of the data that a user is concerned about in the hands of that user. Not in a cloud-hosted environment, not in Microsoft, not in AWS, but in users actual custody. And to enable them to do all the verification themselves."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Right now, its very difficult to extract parts of data from the Ethereum Mainnet that are relevant for Dapp needs. Its almost impossible to synchronize a Geth node in a reasonable amount of time."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There are multiple light client protocols that have come around to help alleviate this problem but they still don't go all the way. The Laconic Network goes the whole way. It goes from source code, to what is in the user's eyeballs with everything being verifiable. If you see a message on Laconic that came to you through the Laconic Network, you could say, \"I want to know which blockchain or blockchains this came from. I want to know what code generated this result. I want to know who wrote that code.” We provide all of that in the Laconic Network."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Three Major Components of Laconic"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There is the Laconic LLC itself, which is in the Cayman Islands. There is the Laconic Stack, which is the standalone software that anyone can run today to generate this data and the evidence that they need. And then there's the Laconic Network, which facilitates the buying and selling of data. It facilitates running these services, discovering the services, paying for services, and then making sure all of that is verifiable."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Those three components are an evolution. We've iterated on the Stack many times over at this point. MakerDAO is still using an early version of that stack to this day last I checked, which was recently. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "If you were an intrepid developer, you could go into the Stack Orchestrator code and run that yourself and put that into production yourself right now. But the problem with that is it's very expensive to generate this evidence. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Its computationally very expensive, and specifically, disk I/O operations are very expensive activities to do. So as a Dapp developer, when you have very few users, you can run this reasonably on the laptop. But as your app grows, or if you're wanting to see all of the Uniswap V3 pool data, then a laptop's not going to be able to process that in a timely manner necessarily. I mean, laptops are pretty powerful so some of them can, but maybe not all of them. And at that point, you need hardware. And when you need hardware, you then have this problem of, \"Okay, well am I going to buy hardware and rack it in a data center?\" That's probably not a viable answer."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Am I going to go to AWS? Well, AWS is centralized, there are all sorts of problems. There's censorship for instance. AWS may choose to comply with a law that I'm not legally obligated to comply with. We've seen this issue with Alchemy and Infura, and these solutions comply with the laws in their jurisdiction, but the Dapp developer is in a different jurisdiction. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "So then you end up with this situation; \"Okay, well if I want to have multiple service providers actually serving this data to users, they need to be in multiple jurisdictions.\" And that's what Laconic LLC solves. It's a Cayman Island LLC. We have members in different jurisdictions and those members will contract with the end users and comply with those laws in that way."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Laconic and Cosmos"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic team members were also core contributors to Cosmos SDKwe did a bunch of work on the Cosmos SDK. The data structures in Ethereum and the data structures in Cosmos and many other blockchains were designed to facilitate consensus, not to facilitate reading the data back out. And so in those architectures, there's utility in taking the techniques that we've applied to Ethereum and applying them to those other chains."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There is a value and utility to taking those techniques and applying them to the Cosmos SDK chains. Osmosis is an example of where it would be useful. For example, you can't have a block explorer that works across Cosmos Hub upgrades. No one's ever bothered to build one that works that way. If you built the block explorer on top of Laconic instead of directly on top of the chain, you would actually be able to provide that continuity."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Every time a Cosmos chain upgrades, they regenesis and restart the chain. When you start that new genesis, peoplejust as a matter of conveniencedon't preserve that data. You don't have a way of representing the irregular state change that happens during the upgrade. Whereas in the Laconic system, we have a means of doing all those things. We can link any two arbitrary chains together and we have a means of representing these arbitrary state changes. We can provide that continuity as a service."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Incentive Alignment "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Because we're IPLD based, we actually can relatively easily take our archive and push it into Filecoin, where there can then be this clear monetization strategy for storing the data. Because we monetize the transmission of the data, which is a much easier problem to solve than the verifiable storage of Filecoin, we're providing an incentive for why someone would do that. Think about it. There are different incentives throughout the process. There's an incentive for including the transaction. That incentive is very clear, but there's not really any incentive in any blockchain I'm aware of for why I should then send that data. Why should I satisfy a read from a user? A user asks for a read, and why do I care?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "That's what Laconic is trying to solvewe're incentivizing the reading of that data. And by incentivizing the reading of that data, that's step number two. Now we can talk about the incentives of step number three, which is a long-term persistent storage of that data. Because if you think about just having the incentives of just Filecoin and just Ethereum, you have this gap in the middle. Why do I take the Ethereum data and transform that and publish it to Filecoin? There's not really an incentive for me to do that."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Whereas with Laconic, there starts to become more of an incentive to do that because I need to support my own read infrastructure. People will come to you and know to come to a single place to get their historic reads as well as their more recent reads. And so youll be incentivized to charge them. There will already be an ecosystem in place where people are accustomed to paying for data. And when they want to pay for old data or new data, they'll come to the same place, buy that data, and that will incentivize archival storage. Right now we don't have a very good model for why archival storage persists. And it is a real mechanism design issue actually."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Laconic and IPLD"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "InterPlanetary Linked Data (IPLD) is the core of our system. The first thing we do is take the Ethereum data, which could be any blockchain or any hash linked data structure, and we convert that into an IPLD object. We then index it in that context. Were storing the RLP encoded bytes, but we are also storing the CID (Content ID), the multi-format address of that object. That's how we're able to generate evidence."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "On Ethereum, you have transaction receipts and you have the event messages. When you have an event message on Ethereum, the event message does not prove all the way back up to the root. So when you have a set of events, which is what The Graph consumes, the way that you prove that event is correct is that you find the block that that event was in, and then you rerun that whole block and at the end of it you see if you have the same event that you started with. Whereas, if I have an account balance on Ethereum, I have a block number and then I can get a proof. So I don't have to recompute the whole block to figure out the account balance in that block. I just get the proof from the Ethereum client about that account balance at that block, and I can present that proof and the balance to the user using eth_getProof."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "But the actual logs in Ethereum are not provable in this way. This is why The Graph isn't provable and there are a lot of consequences from this. But because we use IPLD, we can create those hash links. Where the link was missing in the original Ethereum protocol, we can augment that protocol and generate a proof using the Ethereum data and our additional links, which are relatively easily. It's not some weird, crazy different format. It's this format that is very similar to the existing Ethereum formats, that prove that this log actually came from this block."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Laconic Member Validators"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic L2 has seven Founding Members right now. These seven Members validate, ingest the blocks, and make commitments to the state of those blocks. They then share that information with a paying customer. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There are plans to increase the validator set. From a customer perspective, if our customer is a Dapp developer and they're saying, “right now I have to use Infura, Alchemy, Blocknative to assert that my data is correct because if one of them goes down for whatever reason, that's three right there.” "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "That sounds like a pain in the ass. With Laconic, you integrate one protocol and you get seven Member Validators instead of three, and you get an assertion from us that you can verify yourself that we're actually physically located in different places. Alchemy and Infura both run in AWS, I presume. If AWS goes down, you just lost two out of your three, if not all three out of your three in that case. Seven is a low number, but seven is incredibly high compared to what people have right now, or they think they have four and they have one, whereas we're positively asserting that you have seven."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "RPC Services and Laconic"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "On the path to building Watchers, we realized we had to build extremely performant RPC endpoints, and we had to build out a deployment system. We realized that that was actually what people wanted to buy from us. Most Dapps dont want to bother with Watchers right now. What they want to see is this immediate savings on the RPC endpoint side. From there, oncet our foot is in the door, we can say, \"Well, we can give you even more savings. You are using that RPC endpoint to build your own indexer. We have a whole library of tools to build indexers that will auto-generate indexers for you. And we have a marketplace where you can go to get other people to run that indexer for you when you don't want to scale it.\""
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Currently, RPC endpoints are subsidized by VCs. Dapp developers are never experiencing the true cost of running an indexing service or running an RPC endpoint. They're not exposed to that in a free market way. There's this actor, this venture capitalist, who is going in and giving away free samples at a massive scale. The challenge for us is in how we compete with that? There's also a challenge in that our customers are depending on this centralization service and don't realize it. "
}
]
}
]
}
}
},
"date": "2023-02-09",
"featured": false,
"id": "64080923",
"image": {
"url": "https://www.datocms-assets.com/66113/1675901476-laconic-seb-blog.png"
},
"slug": "copy-c",
"title": "COPY C"
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,529 @@
{
"data": {
"blogPost": {
"author": {
"id": "63992470",
"name": "Zach Ramsay"
},
"category": [
{
"slug": "developers",
"title": "Developers",
"id": "6311820"
}
],
"content": {
"blocks": [
{}
],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Heres the main problem: reading data from the Ethereum blockchains is either cheap and sloppy or expensive and correct. As a result, Dapp developers have come to rely on inexpensive centralized services that do not provide evidence to verify the correctness of the data they are serving to Dapps."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Not only is it expensive to get verifiable data but it can also be challenging to parse out the subset of data you really need. In the early days of SQL, you had to be proficient at the command line in order to use the product, and so use was limited to those that had that specialized capability."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Eventually, GUIs were built such that anyone with basic computer skills could use drop-down menus and create database schemas without writing a single line of code. Web3 is still in the early days of SQL, it is not easy onboarding new users and developers who are otherwise quite capable with the latest Web2 technologies.\n\nRight now, theres all this data on Ethereum and as a Dapp developer, you only want a tiny fraction of it. But, to verify that fraction, you have to (among several other things) maintain an archive node - this is prohibitively expensive for the majority of developers. To solve this problem, centralized services such as (Infura, The Graph, and Alchemy) have popped up and currently account for the majority (if not most) of Dapp queries to Ethereum."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic was created to address these and several other problems in the blockchain ecosystem. Not only does Laconic make it easy to get verifiable data - quickly and cheaply - it also provides a framework for data transformation and aggregation that are difficult or impossible to do in other systems.\n\nArchitecting a solution to this requires many moving pieces; these have been developed by core Ethereum & Cosmos contributors over the past 5 years. In this post, we will walk you through the various components of the Laconic Stack."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There are three different ways to participate in the Laconic Network: Member Validators, Service Providers, and Dapp Developers. To describe the responsibilities and benefits of each role, we must first start grounded in the technicalities of the Laconic Stack."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Lets take a look at the following core stack diagram:"
}
]
},
{
"item": "63992474",
"type": "block"
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Note: this diagram intentionally leaves out several repositories (e.g., codecs, utilities, rpc shims). This is done for simplicity reasons and anyone diving deep into the stack will discover them.\n\nThe two repositories at the top are also the main entry points for most developers. `"
},
{
"url": "https://github.com/cerc-io/stack-orchestrator",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "stack-orchestrator"
}
]
},
{
"type": "span",
"value": "` is a command-line tool for, well, orchestrating the stack. It uses docker-compose to deploy a specified collection of networked docker containers, thereby eliminating the need to set up a variety of services independently. Every user of the Laconic Stack will at some point - if not regularly - use the stack orchestrator."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The `"
},
{
"url": "https://github.com/cerc-io/watcher-ts",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "watchers-ts"
}
]
},
{
"type": "span",
"value": "` repo contains the publically available Watchers and the code to generate them. Watchers are TypeScript that is generated from one or more Solidity smart contracts. Dapp Developers can participate in the Laconic Network by either 1) writing a custom watcher for their Dapp or 2) writing a generally useful watcher and publishing it to the Laconic Registry, thus earning a fee every time it is used. Well come back to Watchers later."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Down at the bottom left is the `"
},
{
"url": "https://github.com/cerc-io/laconicd",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "laconicd"
}
]
},
{
"type": "span",
"value": "` repository and it is indeed the “bottom” of the stack. It is built from the Cosmos SDK and has custom modules specific to operating the Laconic Network (e.g., fork of Ethermint/Evmos, auction, nameservice). It is likely that in the future there will be a public testnet, however, because the Laconic Network is a permissioned validator set, only Member Validators that have officially joined the Laconic Network will be included in the mainnet. Just because the validator set is permissioned does not prohibit anyone from running a full node and Service Providers or others may choose to do so for a variety of reasons."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The `"
},
{
"url": "https://github.com/cerc-io/laconic-sdk",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "laconic-sdk"
}
]
},
{
"type": "span",
"value": "` is a library for facilitating talking to `laconicd`. Both the `"
},
{
"url": "https://github.com/cerc-io/laconic-registry-cli",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "laconic-registry-cli"
}
]
},
{
"type": "span",
"value": "` and the `"
},
{
"url": "https://github.com/cerc-io/laconic-console",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "laconic-console"
}
]
},
{
"type": "span",
"value": "` use it. While `laconic-registry-cli` is a command-line tool for doing so, the `laconic-console` is a user interface for writing and reading records on the Laconic Network. These general-purpose tools are useful for a wide variety of use cases across the stack."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "A key goal of the Laconic Network is to provide accurate, verifiable data from the Ethereum blockchain. Comparisons to currently available solutions are for another post, however, no service currently exists to provide inexpensive evidence that the data being served is correct. The Laconic solution (one of) to this is in something called “statediffing”, a part of the stack run by Member Validators and, likely by Service Providers."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "It starts with a maintained fork of `"
},
{
"url": "https://github.com/cerc-io/go-ethereum",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "go-ethereum (geth)"
}
]
},
{
"type": "span",
"value": "` that has an added real-time state-diffing service. Statediffing gives a clear picture of the state between any given blockheights. This allows Laconic to minimize the amount of computation required for providing proofs. Three additional “helper” services perform different tasks required to get a full picture of the state as required by an application. Together, these comprise the Full Index Node (FIN)."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The `"
},
{
"url": "https://github.com/cerc-io/eth-statediff-service",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "eth-statediff-service"
}
]
},
{
"type": "span",
"value": "` provides historical state data, while the `"
},
{
"url": "https://github.com/cerc-io/eth-statediff-fill-service",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "eth-statediff-fill-service"
}
]
},
{
"type": "span",
"value": "` uses the historical state data to fill statediff gaps as required. Finally, the `"
},
{
"url": "https://github.com/cerc-io/ipld-eth-state-snapshot",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "ipld-eth-state-snapshot"
}
]
},
{
"type": "span",
"value": "` loads a complete state at a certain blockheight, which helps to bootstrap the system. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "\nThere is more to be written about statediffing, however, whats important to note here is that each service is writing independently to `"
},
{
"url": "https://github.com/cerc-io/ipld-eth-db",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "ipld-eth-db"
}
]
},
{
"type": "span",
"value": "`. The latter serves as a bucket for state data that has been indexed in IPLD. Rather than querying this database directly, the `"
},
{
"url": "https://github.com/cerc-io/ipld-eth-server",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "ipld-eth-server"
}
]
},
{
"type": "span",
"value": "` provides an API layer for Watchers to easily query relevant pieces of data from the Ethereum state. Additionally, `ipld-eth-server` recapitulates the native Ethereum JSON RPC interfaces on top of the `ipld-eth-db` database."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "And so weve come full circle back to the Watchers. As previously mentioned, they are generated from one or more Solidity smart contracts and configured to query specific pieces of data relevant to a Dapp. Watchers make it easy to query the data you need from Ethereum "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "and"
},
{
"type": "span",
"value": " - along the way - get evidence in order to generate proofs that your data is correct. This is in contrast to currently available solutions for Dapp developers, who must currently rely on centralized providers that dont provide evidence to generate proofs."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Web3 is (still!) in its early days, and like the early days of SQL, Dapp developers need advanced knowledge of complex data structures to build their Dapp. Watchers simplify this by exposing a GraphQL endpoint, a solution familiar to an order of magnitude more developers than querying the Ethereum blockchain directly."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic is building a suite of tools to address core problems in Web3. Today, weve provided an overview of the main components of the Laconic Stack. Developers interested in Laconic should start with `"
},
{
"url": "https://github.com/cerc-io/stack-orchestrator",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "stack-orchestrator"
}
]
},
{
"type": "span",
"value": "` to get a sense of running different parts of the stack, then check out `"
},
{
"url": "https://github.com/cerc-io/watcher-ts",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "watcher-ts"
}
]
},
{
"type": "span",
"value": "` to experiment with different watchers and progress to making their own."
}
]
}
]
}
}
},
"date": "2023-01-18",
"featured": false,
"id": "63992475",
"image": {
"url": "https://www.datocms-assets.com/66113/1673986992-laconic_clippy_grid2.png"
},
"slug": "intro-to-the-laconic-stack",
"title": "[TEST EDIT TO LOCAL JSON] Intro to the Laconic Stack"
}
}
}

View File

@ -0,0 +1,389 @@
{
"data": {
"blogPost": {
"author": {
"id": "55457832",
"name": "Michael Gushansky"
},
"category": [
{
"slug": "insights",
"title": "Insights",
"id": "6311819"
},
{
"slug": "product",
"title": "Product",
"id": "3545003"
}
],
"content": {
"blocks": [],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic cofounder Rick Dudley appeared on a special livestream of The Interop with host Sebastien Couture to discuss the Laconic Stack, the blockchain data problems that Laconic solves, Laconics novel governance structure, and how Laconic can index and verify data faster, more efficiently, and at lower cost. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Below is a distilled transcript of Ricks responses during the discussion."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "The Future is App Chains"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "I think there will be millions of chains, and we'll be using a combination of rollups and meshnot straight linear L1, L2, L3, but also meshes of rollups and attestations publishing bridges, etc. And although we may have millions of chains, we won't have millions of massive chains. A large chain may have 100 members, and there may be one or two chains out there with 4,000 validators. But in the world, you only need a few of those."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "I think everything becomes an app chain. I think mainnet Ethereum ultimately becomes an app chain and the application is settling rollupsvery similar to Cosmos Hub, frankly. Polkadot, Ethereum 2.0, Cosmos Hub are all actually very similar in terms of the endgame state in the final thesis. And I don't think that there will necessarily be a winner per se. I think they will have curious different properties. "
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Why Laconic?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The ultimate goal of Laconic is to get all of the data that a user is concerned about in the hands of that user. Not in a cloud-hosted environment, not in Microsoft, not in AWS, but in users actual custody. And to enable them to do all the verification themselves."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Right now, its very difficult to extract parts of data from the Ethereum Mainnet that are relevant for Dapp needs. Its almost impossible to synchronize a Geth node in a reasonable amount of time."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There are multiple light client protocols that have come around to help alleviate this problem but they still don't go all the way. The Laconic Network goes the whole way. It goes from source code, to what is in the user's eyeballs with everything being verifiable. If you see a message on Laconic that came to you through the Laconic Network, you could say, \"I want to know which blockchain or blockchains this came from. I want to know what code generated this result. I want to know who wrote that code.” We provide all of that in the Laconic Network."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Three Major Components of Laconic"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There is the Laconic LLC itself, which is in the Cayman Islands. There is the Laconic Stack, which is the standalone software that anyone can run today to generate this data and the evidence that they need. And then there's the Laconic Network, which facilitates the buying and selling of data. It facilitates running these services, discovering the services, paying for services, and then making sure all of that is verifiable."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Those three components are an evolution. We've iterated on the Stack many times over at this point. MakerDAO is still using an early version of that stack to this day last I checked, which was recently. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "If you were an intrepid developer, you could go into the Stack Orchestrator code and run that yourself and put that into production yourself right now. But the problem with that is it's very expensive to generate this evidence. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Its computationally very expensive, and specifically, disk I/O operations are very expensive activities to do. So as a Dapp developer, when you have very few users, you can run this reasonably on the laptop. But as your app grows, or if you're wanting to see all of the Uniswap V3 pool data, then a laptop's not going to be able to process that in a timely manner necessarily. I mean, laptops are pretty powerful so some of them can, but maybe not all of them. And at that point, you need hardware. And when you need hardware, you then have this problem of, \"Okay, well am I going to buy hardware and rack it in a data center?\" That's probably not a viable answer."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Am I going to go to AWS? Well, AWS is centralized, there are all sorts of problems. There's censorship for instance. AWS may choose to comply with a law that I'm not legally obligated to comply with. We've seen this issue with Alchemy and Infura, and these solutions comply with the laws in their jurisdiction, but the Dapp developer is in a different jurisdiction. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "So then you end up with this situation; \"Okay, well if I want to have multiple service providers actually serving this data to users, they need to be in multiple jurisdictions.\" And that's what Laconic LLC solves. It's a Cayman Island LLC. We have members in different jurisdictions and those members will contract with the end users and comply with those laws in that way."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Laconic and Cosmos"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic team members were also core contributors to Cosmos SDKwe did a bunch of work on the Cosmos SDK. The data structures in Ethereum and the data structures in Cosmos and many other blockchains were designed to facilitate consensus, not to facilitate reading the data back out. And so in those architectures, there's utility in taking the techniques that we've applied to Ethereum and applying them to those other chains."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There is a value and utility to taking those techniques and applying them to the Cosmos SDK chains. Osmosis is an example of where it would be useful. For example, you can't have a block explorer that works across Cosmos Hub upgrades. No one's ever bothered to build one that works that way. If you built the block explorer on top of Laconic instead of directly on top of the chain, you would actually be able to provide that continuity."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Every time a Cosmos chain upgrades, they regenesis and restart the chain. When you start that new genesis, peoplejust as a matter of conveniencedon't preserve that data. You don't have a way of representing the irregular state change that happens during the upgrade. Whereas in the Laconic system, we have a means of doing all those things. We can link any two arbitrary chains together and we have a means of representing these arbitrary state changes. We can provide that continuity as a service."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Incentive Alignment "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Because we're IPLD based, we actually can relatively easily take our archive and push it into Filecoin, where there can then be this clear monetization strategy for storing the data. Because we monetize the transmission of the data, which is a much easier problem to solve than the verifiable storage of Filecoin, we're providing an incentive for why someone would do that. Think about it. There are different incentives throughout the process. There's an incentive for including the transaction. That incentive is very clear, but there's not really any incentive in any blockchain I'm aware of for why I should then send that data. Why should I satisfy a read from a user? A user asks for a read, and why do I care?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "That's what Laconic is trying to solvewe're incentivizing the reading of that data. And by incentivizing the reading of that data, that's step number two. Now we can talk about the incentives of step number three, which is a long-term persistent storage of that data. Because if you think about just having the incentives of just Filecoin and just Ethereum, you have this gap in the middle. Why do I take the Ethereum data and transform that and publish it to Filecoin? There's not really an incentive for me to do that."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Whereas with Laconic, there starts to become more of an incentive to do that because I need to support my own read infrastructure. People will come to you and know to come to a single place to get their historic reads as well as their more recent reads. And so youll be incentivized to charge them. There will already be an ecosystem in place where people are accustomed to paying for data. And when they want to pay for old data or new data, they'll come to the same place, buy that data, and that will incentivize archival storage. Right now we don't have a very good model for why archival storage persists. And it is a real mechanism design issue actually."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Laconic and IPLD"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "InterPlanetary Linked Data (IPLD) is the core of our system. The first thing we do is take the Ethereum data, which could be any blockchain or any hash linked data structure, and we convert that into an IPLD object. We then index it in that context. Were storing the RLP encoded bytes, but we are also storing the CID (Content ID), the multi-format address of that object. That's how we're able to generate evidence."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "On Ethereum, you have transaction receipts and you have the event messages. When you have an event message on Ethereum, the event message does not prove all the way back up to the root. So when you have a set of events, which is what The Graph consumes, the way that you prove that event is correct is that you find the block that that event was in, and then you rerun that whole block and at the end of it you see if you have the same event that you started with. Whereas, if I have an account balance on Ethereum, I have a block number and then I can get a proof. So I don't have to recompute the whole block to figure out the account balance in that block. I just get the proof from the Ethereum client about that account balance at that block, and I can present that proof and the balance to the user using eth_getProof."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "But the actual logs in Ethereum are not provable in this way. This is why The Graph isn't provable and there are a lot of consequences from this. But because we use IPLD, we can create those hash links. Where the link was missing in the original Ethereum protocol, we can augment that protocol and generate a proof using the Ethereum data and our additional links, which are relatively easily. It's not some weird, crazy different format. It's this format that is very similar to the existing Ethereum formats, that prove that this log actually came from this block."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Laconic Member Validators"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic L2 has seven Founding Members right now. These seven Members validate, ingest the blocks, and make commitments to the state of those blocks. They then share that information with a paying customer. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There are plans to increase the validator set. From a customer perspective, if our customer is a Dapp developer and they're saying, “right now I have to use Infura, Alchemy, Blocknative to assert that my data is correct because if one of them goes down for whatever reason, that's three right there.” "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "That sounds like a pain in the ass. With Laconic, you integrate one protocol and you get seven Member Validators instead of three, and you get an assertion from us that you can verify yourself that we're actually physically located in different places. Alchemy and Infura both run in AWS, I presume. If AWS goes down, you just lost two out of your three, if not all three out of your three in that case. Seven is a low number, but seven is incredibly high compared to what people have right now, or they think they have four and they have one, whereas we're positively asserting that you have seven."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "RPC Services and Laconic"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "On the path to building Watchers, we realized we had to build extremely performant RPC endpoints, and we had to build out a deployment system. We realized that that was actually what people wanted to buy from us. Most Dapps dont want to bother with Watchers right now. What they want to see is this immediate savings on the RPC endpoint side. From there, oncet our foot is in the door, we can say, \"Well, we can give you even more savings. You are using that RPC endpoint to build your own indexer. We have a whole library of tools to build indexers that will auto-generate indexers for you. And we have a marketplace where you can go to get other people to run that indexer for you when you don't want to scale it.\""
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Currently, RPC endpoints are subsidized by VCs. Dapp developers are never experiencing the true cost of running an indexing service or running an RPC endpoint. They're not exposed to that in a free market way. There's this actor, this venture capitalist, who is going in and giving away free samples at a massive scale. The challenge for us is in how we compete with that? There's also a challenge in that our customers are depending on this centralization service and don't realize it. "
}
]
}
]
}
}
},
"date": "2023-02-09",
"featured": false,
"id": "64080923",
"image": {
"url": "https://www.datocms-assets.com/66113/1675901476-laconic-seb-blog.png"
},
"slug": "rick-dudley-on-the-interop",
"title": "[TEST EDIT TO LOCAL JSON] Rick Dudley Discusses Laconic Network on The Interop"
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,582 @@
{
"data": {
"blogPost": {
"slug": "how-laconic-different",
"title": "How is Laconic different?",
"date": "2022-07-26",
"category": [
{
"id": "3545003",
"slug": "product",
"title": "Product"
}
],
"author": {
"id": "63259964",
"name": "Maly Ly"
},
"image": {
"url": "/images/site_content/blogPost/how-laconic-different.png"
},
"content": {
"blocks": [
{
"id": "38579992",
"text": "Laconic is a new indexing and querying solution that aims to make verifiable blockchain data available from a truly decentralized and massively scalable network. We are not the first project to address this problem, and this article will describe how our approach sets us apart from the work that has been done before."
}
],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"item": "38579992",
"type": "block"
},
{
"type": "heading",
"level": 1,
"children": [
{
"type": "span",
"value": "Vision"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "We believe that Web3 and blockchain technologies offer the promise of "
},
{
"type": "span",
"marks": [
"strong"
],
"value": "permissionless and equal access"
},
{
"type": "span",
"value": " to new digital tools and financial instruments, and that these properties can be a force for positive change. Critically, decentralization of the networks and resources in Web3 is the key protection against the monopolistic jurisdiction of large tech companies and overzealous governments.  "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "We further believe that the creation of public, consensus driven, cryptographically verifiable data leads to greater transparency and accountability. Finally, we believe that transacting on blockchains fosters incentive alignments through tokenomic engineering, allowing us to be more deterministic about how systems and society run."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "These are the core values that imbue all of the design decisions in creating the Laconic Network. "
}
]
},
{
"type": "heading",
"level": 1,
"children": [
{
"type": "span",
"value": "Challenges"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The challenges facing Web3 adoption are significant, and threaten to prevent the fulfillment of the promise and vision. Laconic Network is focusing on a set of challenges that arise when DApp developers need to interact with blockchains and query the data that is stored there. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Working with blockchain data is more challenging than traditional web development because of the storage constraints, the overhead of preserving consensus and protecting networks from attack. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Other significant challenges include: "
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Blockchain nodes are designed to be write-optimized and bear large overhead costs for storage, network gossip, and computation required for consensus and security."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "True internet scale growth (eg. comparable to Facebook or Twitter) is not possible on existing Web3 backend infrastructure. Mass adoption will require the development of a data scalability layer that facilitates for Web3 the types of usage patterns that we expect from Instagram, Google, and LinkedIn."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "These challenges all compound when cross chain data is called for, which is increasingly the case. The data scalability layer will also need to account for cross-chain interoperability."
}
]
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic isnt the first to address the challenge of building a data availability layer for Web3. Companies such as Infura and Alchemy have long offered blockchain data services as convenient APIs for DApp developers, and have thus facilitated the early growth of high utility applications that interact with the underlying chains. As centralized services with quickly growing traction and clout, they already in some ways resemble the monopolistic centralized players of Web2. The convenience they offer is paid for at the price of losing censorship resistance and permissionless access. In short, we trust these companies to tell us the truth and treat us right. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Somewhat truer to the ethos of blockchain and Web3 are The Graph and Covalent, both of which have recently launched products that have elements of decentralization and verification of the data being served. For Ethereum, these services are limited to indexing events, transactions, and internal transactions, and dont typically index the state and storage trees at all. One consequence of this is that they dont support the Ethereum JSON RPC get_proof() call, which is essential to safeguarding the verifiability of the data being queried. No proof, no trustworthy data. "
}
]
},
{
"type": "heading",
"level": 1,
"children": [
{
"type": "span",
"value": "Why will Laconics solution solve current challenges?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The Laconic Network is innovating on three separate fronts: technology, governance, and incentive alignment. The challenge of serving verifiable blockchain data, at scale, from a decentralized platform is so enormous that a purely technical solution wont suffice. "
}
]
},
{
"type": "heading",
"level": 1,
"children": [
{
"type": "span",
"value": "Technology"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "At a technology level, we have pioneered multiple innovations. "
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "IPLD structures to preserve the hash-linked data format that is native to blockchain data—even withstanding transformations."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The concept of the Laconic Full Index Node which removes the need to re-index every time a new data access use case is materialized. The result is significantly faster setup times for customized data access API endpoints, that are tailored to individual DApps."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Re-indexing of blockchain data into specialized caches (Watchers) to simplify anticipated DApp use cases. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Content-addressability of blockchain data. In the same way that IPFS is used to request files by content hashes, blockchain data will be requested by hashes of its content, and served through the off-chain p2p IPFS network. "
},
{
"type": "span",
"marks": [
"strong"
],
"value": "This leads to a global hyperscale caching layer that is sufficient enough to ensure the viability of Facebook or Google level adoption of Web3."
}
]
}
]
}
]
},
{
"type": "heading",
"level": 1,
"children": [
{
"type": "span",
"value": "Governance"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Working with multiple international legal teams, Laconic Network is pioneering a novel governance model with the aims of ensuring unprecedented decentralization, fairness, and equality. The goals are simple: maintain a decentralized network that resists being monopolized and which is not subject to the whims of any single entitys jurisprudence. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "In order to achieve those goals, a number of problems must be addressed:"
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "A sufficient number of Validators and Service Providers to scale as Web3 grows"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "A rich diversity of underlying network and data center dependencies (e.g. we aim to avoid ending up with a preponderance of machines running on AWS)"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "A diversity of jurisdictional locations for network Members"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "A diversity of funding sources for network members"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "All governance decisions occur on-chain"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "All members have equal voting power"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "No early token allocations for VCs or founders"
}
]
}
]
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"value": "Incentive Alignment"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "One of the prime benefits of blockchains is the ability to prescribe token incentives that align with desirable behaviors. For example, validators are incentivized to do the work needed to secure the network and establish consensus about block generation. The Laconic Network has created a number of incentives to align the many roles involved towards an ever more efficient and growing data availability layer for Web3."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "For data consumers, its important to have a true selection of Service Providers (node operators who run Watchers). Since Service Providers must compete with each other on the basis of price and service level, this benefits consumers by guaranteeing the best level of service for the lowest price."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Developers writing Watchers (to be run by Service Providers), are incentivized to create useful Watchers. There is a mechanism for rewarding developers when people choose to run and query the Watchers they have written. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic Members have a strong incentive to grow the network to meet demand through the fulfillment of new member auctions. These auctions bring new liquidity to the network as well as new members who can increase network capacity by indexing and serving data. A bonding curve rewards existing members with an auction fee with the earliest members benefiting the most. However, there is a disincentive to growing the network too quickly, as earnings for Members will come from indexing and serving data. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Anyone interested in building out the network will have a token incentive and opportunity to participate simply by running an in-browser cache of the off-chain data. By caching the data in this way, it will form an infinitely scalable global hyper-cache of the data, and the service level of DApps will increase as a result. "
}
]
},
{
"type": "heading",
"level": 1,
"children": [
{
"type": "span",
"value": "Conclusion"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic aims to significantly contribute to the growth and adoption of Web3 and blockchain technologies by solving foundational problems that currently hamper the development of DApps. This involves indexing blockchain data and making it available from a decentralized network of service providers, and doing so in a way that retains the cryptographic verifiability of that data. The innovations that allow us to do this emanate not only from technological advances, but also from the novel governance and incentivisation structures that are built into the very network structure. "
}
]
}
]
}
}
},
"featured": true,
"id": "35743439",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,727 @@
{
"data": {
"blogPost": {
"slug": "how-laconic-improves-the-nft-experience",
"title": "How Laconic Radically Improves the NFT Experience",
"date": "2022-10-05",
"category": [
{
"id": "3545003",
"slug": "product",
"title": "Product"
}
],
"author": {
"id": "55641250",
"name": "Joshua Eustis"
},
"image": {
"url": "/images/site_content/blogPost/how-laconic-improves-the-nft-experience.png"
},
"content": {
"blocks": [
{
"id": "55708950",
"label": "Discord",
"url": "https://discord.com/invite/ukhbBemyxY"
}
],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Part 1 of this two-part series discussed the five major implementation and integration issues plaguing DApp developers, along with an overview of how Laconic addresses each one:"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "1. NFT data lacks consistency and integrity."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "2. NFT data is fragmented and scattered."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "3. For both NFTs and equivalent token formats, data types vary from blockchain to blockchain."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "4. NFT games require lightning-fast retrieval and scalability."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "5. Data retrieved from multiple locations is difficult to verify. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Now, in Part 2, we'll explore how these problems are playing out in the real world—and how Laconic tools and processes shield both users and developers from the effects of shifting and conflicting standards, radically reducing everyone's list of problems.   "
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Apes, witches ... tax fraud? The power of caching."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Let's start by looking at a current cornerstone of the industry. Arguably the most popular use case for NFT artwork is "
},
{
"url": "https://boredapeyachtclub.com/#/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "10k PFP collections"
}
]
},
{
"type": "span",
"value": ", collections of (typically 10,000) relatively simple anthropomorphized cartoon jpegs, generated by combining variations on a large but limited set of defined metadata “traits,” each of which correlates to a physical attribute of the generated character drawing. "
},
{
"url": "https://boredapeyachtclub.com/#/home",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Bored Ape Yacht Club"
}
]
},
{
"type": "span",
"value": ", for example, uses this model. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "In the case of another popular collection, "
},
{
"url": "https://www.cryptocoven.xyz/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Crypto Coven"
}
]
},
{
"type": "span",
"value": ", a smart contract is called to mint tokens based on a similar list of randomly generated traits. To gather each piece of this data and display it, a wallet client or platform makes an API call to an "
},
{
"url": "https://docs.metamask.io/guide/rpc-api.html#table-of-contents",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "RPC"
}
]
},
{
"type": "span",
"value": " provider. To retrieve the data, the client or platform must sift through an extraordinary amount of data to find just a few essential pieces. And all that searching eventually adds up. More serious problems could also arise, from sandwich MEVs to lowball ape sales as a "
},
{
"url": "https://www.cryptonews.net/news/nft/6583225/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "front for tax shenanigans"
}
]
},
{
"type": "span",
"value": ".\n\nLuckily, there's an easier (and less easily abused) option. A Laconic Watcher could cache all data related to a given smart contract—in this case, "
},
{
"url": "https://cryptocoven.mirror.xyz/A622VSRm8-9oLzc8l3oFGmfnFUZQmDQ3Wx3ObhSlhsc",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "the brilliant Crypto Coven `counters.sol` variant"
}
]
},
{
"type": "span",
"value": "—making it instantly available at any DApp request while preserving proof of authenticity. Because Laconic can prove metadata at the current block height, not several blocks behind like most current centralized data providers, all NFT data received is guaranteed correct. That makes for faster queries, lower costs, easier updates—a quality-of-life upgrade for developers. For a particularly busy smart contract such as Bored Ape Yacht Club, Laconic's data cache could also drastically improve the daily experience of thousands of users. And let's not forget the damage done to industry reputation by "
},
{
"url": "https://nftevening.com/bored-ape-6462-sold-for-200/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "the successful exploits of every \"fat-fingered\" Ape owner"
}
]
},
{
"type": "span",
"value": "."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Where were going, we dont need standards."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Smart contracts are incredibly popular for good reason. But there are "
},
{
"url": "https://etherscan.io/address/0x53e4c0167ed855e96f562dbb911854d586f5cc07#code",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "countless"
}
]
},
{
"type": "span",
"value": " "
},
{
"url": "https://etherscan.io/address/0x517e643f53eb3622fd2c3a12c6bfde5e7bc8d5ca#code",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "variations"
}
]
},
{
"type": "span",
"value": " out there, even on Ethereum. In fact, "
},
{
"url": "https://www.smartcontractresearch.org/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "entire Web2 and Web3 developer communities"
}
]
},
{
"type": "span",
"value": " view this aspect of NFT technology as where its real beauty is revealed: the developer as artist, Making It New. Limit contract and metadata standards, the argument goes, and you'll hamstring developers' creativity, starving the ecosystem of innovative ideas. (Unaddressed standards are, of course, nothing new. Think back to the browser wars of Web 1.0, when entire websites ... just didn't work on Internet Explorer, and at many design shops, ensuring IE functionality would cost you a good 20% extra.)"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic is uniquely suited to solve the problems associated with nonstandardized token data retrieval. By caching token data into microchains of IPLD blocks, and serving it directly to DApps from the resulting decentralized content-addressable database in a unified format, the Laconic Watcher makes the entire issue moot. It displays the precise data queried, confirms that it's correct—and does so more quickly and with a more current state than any standard RPC service."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "An end run around fragmented and scattered metadata."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "A Laconic Watcher makes it easy for developers to retrieve blockchain data from an indexed database; fetch off-chain data as needed; and correlate, merkleize, and cache the results. With a "
},
{
"url": "https://etherscan.io/address/0xe6ddda1c3f1cb01aa5c86a21e8636deabfd1f013#code",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Crypto Coven smart contract"
}
]
},
{
"type": "span",
"value": ", for example, there's no need to concern yourself with both the smart contract and the media the tokenURI points to—a Watcher can tie them together in ways standard RPC providers can't, with a terrific signal-to-noise ratio, perfectly up-to-date state, and persistent uptime.\n\nWatchers define and expose precisely crafted APIs for DApps that consume specific data sets, such as a given smart contract. Allowing a DApp itself to focus solely on its primary mission of delivering the goods to the user eliminates the need for (often surprisingly heavy) query lifts."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Smooth token data retrieval and management, even from multiple blockchains."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Non-fungible tokens exist on multiple blockchains, in varying degrees of complexity, in a range of programming languages, in line with wildly varying (if any) metadata standards. The result is, unsurprisingly, significant friction when it comes to token management. Laconic removes much of the drag by unifying and extending the possibilities of metadata once its been retrieved."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "To maintain a unified format regardless of chain or data source, Laconic stores all blockchain data in content-addressable data formats. This allows for a level of global availability and extensibility that makes DApp development far more convenient. "
},
{
"url": "https://www.laconic.com/blog/99-problems-but-nfts-aint-one",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Our hypothetical on-chain Library of Alexandria in Part 1"
}
]
},
{
"type": "span",
"value": " is made possible by Laconics uniquely decentralized, content-addressable format and the Watcher's computationally light footprint. Think of this chain-agnostic view as a Rosetta Stone for Web3 data."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Laconic makes querying NFT data verifiable, fast, and affordable."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic makes DApp access both faster and easier with its up-to-date, indexed, verifiable blockchain data and custom query and caching services; queries, too, become more affordable to develop and maintain. And in a time of ballooning NFT data stores and rapidly increasing demands on user experience, Laconic Watchers deliver data at a fraction of the cost of traditional data retrieval."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "In short, the architecture of the Laconic Network delivers practical solutions to many of today's most pressing NFT challenges. Custom Laconic Watcher services can, for example:"
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Collect data from multiple blockchains"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Process that data to make it consumable by DApps"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Preserve data verifiability across transformations "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Keep data up to date"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Streamline DApp data retrieval"
}
]
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "With these capabilities, the Laconic Network becomes an indispensable data querying and verification layer for any NFT-related service—and, more than any other approach to querying blockchain data, a resource with the capacity to help the entire industry thrive."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Read more about Watchers and the Laconic Network "
},
{
"type": "span",
"marks": [
"underline"
],
"value": "here"
},
{
"type": "span",
"value": "."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": ""
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Got questions? Join us on Discord."
}
]
},
{
"item": "55708950",
"type": "block"
}
]
}
}
},
"featured": true,
"id": "55708951",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,609 @@
{
"data": {
"blogPost": {
"slug": "how-laconic-network-uses-ipld",
"title": "How Laconic Network Uses IPLD",
"date": "2022-08-30",
"category": [
{
"id": "3545003",
"slug": "product",
"title": "Product"
}
],
"author": {
"id": "7023106",
"name": "Christoph Berger"
},
"image": {
"url": "/images/site_content/blogPost/how-laconic-network-uses-ipld.png"
},
"content": {
"blocks": [
{
"id": "55419640",
"title": "IPLD"
}
],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Accessing blockchain data off-chain is no longer a matter of trust"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The mission of the Laconic Network is to ensure that decentralized off-chain caches can serve blockchain data without losing the ability to prove the integrity of that data across data transformations. This post shows how the Laconic Stack maintains the verifiability of Ethereum data for its decentralized caching and querying solution. "
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Querying blockchain data is difficult and expensive"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "DApp developers face a dilemma when it comes to working with blockchain data. Ethereum data is stored in various ways, including the state, storage, and transaction tries, as well as in event logs. The original concept for accessing Ethereum data was that DApps would run or have access to an Ethereum full node and query it directly. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "However, DApp developers rarely want to run their own full node only to gain access to the data they need. Further, and more problematic, due to the way data is stored on Ethereum, there is often no direct way of querying for particular information. Because blockchains are optimized for writing new blocks and achieving consensus, they cannot be indexed like a classic database. As a result, to query for data, developers have to make multiple calls to the Ethereum API, replay transactions to read the events emitted, and store intermittent state in the application to join it with data from subsequent invocations.  This process is difficult and expensive."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The alternative to running a full node is to use a middleware indexing and caching service. While this alternative simplifies data acquisition for developers, it introduces some new and significant problems. In addition to high costs, long setup times, reliability issues, and the dependence on Web2-style centralized services, there is one problem that is especially pernicious: the data served by these services must be "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "trusted"
},
{
"type": "span",
"value": ". It is currently impossible for existing centralized data providers to offer cryptographic proofs for every byte of data served."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "The Solution: Laconic Network and IPLD"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Many people are familiar with the Interplanetary File System (IPFS), but fewer people know about the Interplanetary Linked Data (IPLD) protocol. IPLD is the underlying technology of IPFS, and it is the superpower technology behind many of IPFSs advantages. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "IPLD can represent arbitrary data in self-describing structured objects, and it can link those objects into Merkle DAGs. As such, IPLD offers the following advantages:"
}
]
},
{
"type": "list",
"style": "numbered",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The data is content-addressable via a Content ID (CID), just as IPFS files are content-addressable."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The data is cryptographically provable, meaning you can verify that a set of data belongs in a larger data set even without needing to have either set on hand. You only need the cryptographic hashes."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The data undergoes natural deduplication, reducing storage and transport costs."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The data is tamper-proof. Any attempts to change the data that you have requested via content addressing can be foiled by validating the hashes."
}
]
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "IPLD codecs map data from its original form to the IPLD data model. So if a codec exists for that data, the data has a formal representation in the IPLD data model. "
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "The Connection to Ethereum"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "In the case of Ethereum data, the "
},
{
"url": "https://ipld.io/specs/codecs/dag-eth/",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "DAG-ETH codecs"
}
]
},
{
"type": "span",
"value": " can be used to map on-chain data to off-chain IPLD structures. This mapping to IPLD makes it possible to inspect, process, or reason about data in a uniform way. The codecs cover block headers, uncles, transactions, transaction receipts, and receipt logs, as well as all the different Merkle Patricia tries that are rooted in an Ethereum block. As a result, IPLD can accurately represent any Ethereum data."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Unlike the original data, the off-chain IPLD representation enables indexing for fast querying. The restrictions of the blockchain do not apply here. Indexes can be added that allow developers to query data in ways that are otherwise difficult to achieve with the native ETH JSON RPC API. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "More importantly, the IPLD representation of blockchain data can be kept verifiable even after transforming the data into other models. Transformations are necessary to support complex DApps that aggregate and link data in app-specific ways or rely on a non-native representation of the data. The classic methods of slicing, dicing, and recombining the data would render it unverifiable. With Laconic Network data, thanks to our use of IPLD, the data remains as verifiable as it is on the blockchain."
}
]
},
{
"item": "55419640",
"type": "block"
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Merkleized data is provable data"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The IPLD representation of an Ethereum block includes the block header and the uncles, transactions, receipts, logs, receipt trie, transaction trie, state trie, and storage tries that Ethereum stores alongside the block header. A modified Merkle Patricia Trie (MMPT), which is relevant to Ethereum, has branch nodes, extension nodes, and leaf nodes. Non-leaf nodes store the content hashes of their child nodes. This hashing goes all the way up to the root node. Therefore, the hash value in the tree root represents all leaf data. If any part of the data in a Merkle tree is tampered with, the root hash would change and differ from the root hash stored in the block header. In other words, data like state, transactions, and more, is connected to the block header in a provable way.  "
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Storing all of the IPLD: Laconic Full Index Nodes"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Traditionally, Ethereum Full Nodes are used to power DApps that need to access and query all of the data of the blockchain. The disadvantages of relying on a normal Full Node are well known: "
}
]
},
{
"type": "list",
"style": "numbered",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Expensive to operate"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Not optimized for data querying"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Logs stored from events have to be replayed to access the data"
}
]
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic Full Index Nodes (LFIN) overcome these limitations by generating additional derivative data based on that which is stored in the Ethereum Full Node, adding new indexes, relational mappings, and materialized views, and even merkleizing some data that was previously not merkleized. The result is an amount of data that far exceeds what is normally stored. The role of the LFIN is to track and store the complete data, including derived indexes and Merkle trees of that data, in IPLD block format, for eventual consumption by DApps. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The data representation inside of the LFIN optimizes many classes of queries by removing the need  to chain together data from multiple transactions. For example, listing all transactions for a particular wallet address could be achieved with a single query. Or gathering all of the node hashes needed to generate a cryptographic proof. "
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Laconic Watchers - interoperable and provable blockchain data"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Because the volume of data in the Laconic Full Index Node is so vast, most DApps would not want to have to query that database directly. Instead, DApps work with a specialized caching layer that exists to transform LFIN data into the format needed by specific DApps. These are Laconic Watchers. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The data in the LFIN is still not ready for DApp developers at this point. Further transformation is needed to structure the data in the format required by your DApp. This is the role of the Laconic Watcher. Watchers will be the topic of a subsequent article, but within the scope of this article, you can understand them as being custom secondary or tertiary caches of data that directly fulfill the needs of specific applications. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Thanks to our use of IPLD, these transformations can occur without losing the cryptographic integrity of the data. Developers can build their Watchers to track, process, and cache the underlying blockchain data, and then query the watchers using GraphQL. The returned data includes the linked hash structure that can be followed all the way back to the underlying blockchain. In the Laconic Network, when any data is being transformed, the hash of the inputs to the transformation and the hash of the code that performs the transformation are preserved. Thus:"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"code"
],
"value": "T(a+b) => c"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The new model, c, will contain content-hash references to a, b, and the code performing T."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "One intentional consequence of our adoption of structured IPLD models for data representation is that it greatly simplifies dealing with cross chain data. Our ability to transform data while maintaining linked hashing will be invaluable when we begin to index chains beyond Ethereum. Laconic Network is designed with blockchain interoperability in mind."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "The source of proof"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The Laconic Network improves the Web3/blockchain ecosystem greatly by combining the validation-preserving nature of IPLD with a new way of caching and transforming blockchain data in a decentralized manner. This ability frees DApp developers from relying on centralized, trust-based data providers and closes the cryptographic provability gap between the blockchain and DApps built to use blockchain data. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Stay up-to-date with Laconic news:"
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"url": "https://discord.com/invite/ukhbBemyxY",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"value": "Join our Discord server"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"url": "https://t.me/share/url?url=https%3A%2F%2Fwww.laconic.com%2Fblog%2Fhow-laconic-network-uses-ipld",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"value": "Subscribe to our Telegram channel"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Sign up for our mailing list below"
}
]
}
]
}
]
}
]
}
}
},
"featured": true,
"id": "43258780",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,604 @@
{
"data": {
"blogPost": {
"slug": "intro-to-the-laconic-stack",
"title": "Intro to the Laconic Stack",
"date": "2023-01-18",
"category": [
{
"id": "6311820",
"slug": "developers",
"title": "Developers"
}
],
"author": {
"id": "63992470",
"name": "Zach Ramsay"
},
"image": {
"url": "/images/site_content/blogPost/intro-to-the-laconic-stack.png"
},
"content": {
"blocks": [
{
"id": "63992474",
"title": "Laconic Stack Diagram"
}
],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Heres the main problem: reading data from the Ethereum blockchains is either cheap and sloppy or expensive and correct. As a result, Dapp developers have come to rely on inexpensive centralized services that do not provide evidence to verify the correctness of the data they are serving to Dapps."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Not only is it expensive to get verifiable data but it can also be challenging to parse out the subset of data you really need. In the early days of SQL, you had to be proficient at the command line in order to use the product, and so use was limited to those that had that specialized capability."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Eventually, GUIs were built such that anyone with basic computer skills could use drop-down menus and create database schemas without writing a single line of code. Web3 is still in the early days of SQL, it is not easy onboarding new users and developers who are otherwise quite capable with the latest Web2 technologies.\n\nRight now, theres all this data on Ethereum and as a Dapp developer, you only want a tiny fraction of it. But, to verify that fraction, you have to (among several other things) maintain an archive node - this is prohibitively expensive for the majority of developers. To solve this problem, centralized services such as (Infura, The Graph, and Alchemy) have popped up and currently account for the majority (if not most) of Dapp queries to Ethereum."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic was created to address these and several other problems in the blockchain ecosystem. Not only does Laconic make it easy to get verifiable data - quickly and cheaply - it also provides a framework for data transformation and aggregation that are difficult or impossible to do in other systems.\n\nArchitecting a solution to this requires many moving pieces; these have been developed by core Ethereum & Cosmos contributors over the past 5 years. In this post, we will walk you through the various components of the Laconic Stack."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There are three different ways to participate in the Laconic Network: Member Validators, Service Providers, and Dapp Developers. To describe the responsibilities and benefits of each role, we must first start grounded in the technicalities of the Laconic Stack."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Lets take a look at the following core stack diagram:"
}
]
},
{
"item": "63992474",
"type": "block"
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Note: this diagram intentionally leaves out several repositories (e.g., codecs, utilities, rpc shims). This is done for simplicity reasons and anyone diving deep into the stack will discover them.\n\nThe two repositories at the top are also the main entry points for most developers. `"
},
{
"url": "https://github.com/cerc-io/stack-orchestrator",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "stack-orchestrator"
}
]
},
{
"type": "span",
"value": "` is a command-line tool for, well, orchestrating the stack. It uses docker-compose to deploy a specified collection of networked docker containers, thereby eliminating the need to set up a variety of services independently. Every user of the Laconic Stack will at some point - if not regularly - use the stack orchestrator."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The `"
},
{
"url": "https://github.com/cerc-io/watcher-ts",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "watchers-ts"
}
]
},
{
"type": "span",
"value": "` repo contains the publically available Watchers and the code to generate them. Watchers are TypeScript that is generated from one or more Solidity smart contracts. Dapp Developers can participate in the Laconic Network by either 1) writing a custom watcher for their Dapp or 2) writing a generally useful watcher and publishing it to the Laconic Registry, thus earning a fee every time it is used. Well come back to Watchers later."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Down at the bottom left is the `"
},
{
"url": "https://github.com/cerc-io/laconicd",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "laconicd"
}
]
},
{
"type": "span",
"value": "` repository and it is indeed the “bottom” of the stack. It is built from the Cosmos SDK and has custom modules specific to operating the Laconic Network (e.g., fork of Ethermint/Evmos, auction, nameservice). It is likely that in the future there will be a public testnet, however, because the Laconic Network is a permissioned validator set, only Member Validators that have officially joined the Laconic Network will be included in the mainnet. Just because the validator set is permissioned does not prohibit anyone from running a full node and Service Providers or others may choose to do so for a variety of reasons."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The `"
},
{
"url": "https://github.com/cerc-io/laconic-sdk",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "laconic-sdk"
}
]
},
{
"type": "span",
"value": "` is a library for facilitating talking to `laconicd`. Both the `"
},
{
"url": "https://github.com/cerc-io/laconic-registry-cli",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "laconic-registry-cli"
}
]
},
{
"type": "span",
"value": "` and the `"
},
{
"url": "https://github.com/cerc-io/laconic-console",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "laconic-console"
}
]
},
{
"type": "span",
"value": "` use it. While `laconic-registry-cli` is a command-line tool for doing so, the `laconic-console` is a user interface for writing and reading records on the Laconic Network. These general-purpose tools are useful for a wide variety of use cases across the stack."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "A key goal of the Laconic Network is to provide accurate, verifiable data from the Ethereum blockchain. Comparisons to currently available solutions are for another post, however, no service currently exists to provide inexpensive evidence that the data being served is correct. The Laconic solution (one of) to this is in something called “statediffing”, a part of the stack run by Member Validators and, likely by Service Providers."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "It starts with a maintained fork of `"
},
{
"url": "https://github.com/cerc-io/go-ethereum",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "go-ethereum (geth)"
}
]
},
{
"type": "span",
"value": "` that has an added real-time state-diffing service. Statediffing gives a clear picture of the state between any given blockheights. This allows Laconic to minimize the amount of computation required for providing proofs. Three additional “helper” services perform different tasks required to get a full picture of the state as required by an application. Together, these comprise the Full Index Node (FIN)."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The `"
},
{
"url": "https://github.com/cerc-io/eth-statediff-service",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "eth-statediff-service"
}
]
},
{
"type": "span",
"value": "` provides historical state data, while the `"
},
{
"url": "https://github.com/cerc-io/eth-statediff-fill-service",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "eth-statediff-fill-service"
}
]
},
{
"type": "span",
"value": "` uses the historical state data to fill statediff gaps as required. Finally, the `"
},
{
"url": "https://github.com/cerc-io/ipld-eth-state-snapshot",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "ipld-eth-state-snapshot"
}
]
},
{
"type": "span",
"value": "` loads a complete state at a certain blockheight, which helps to bootstrap the system. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "\nThere is more to be written about statediffing, however, whats important to note here is that each service is writing independently to `"
},
{
"url": "https://github.com/cerc-io/ipld-eth-db",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "ipld-eth-db"
}
]
},
{
"type": "span",
"value": "`. The latter serves as a bucket for state data that has been indexed in IPLD. Rather than querying this database directly, the `"
},
{
"url": "https://github.com/cerc-io/ipld-eth-server",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "ipld-eth-server"
}
]
},
{
"type": "span",
"value": "` provides an API layer for Watchers to easily query relevant pieces of data from the Ethereum state. Additionally, `ipld-eth-server` recapitulates the native Ethereum JSON RPC interfaces on top of the `ipld-eth-db` database."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "And so weve come full circle back to the Watchers. As previously mentioned, they are generated from one or more Solidity smart contracts and configured to query specific pieces of data relevant to a Dapp. Watchers make it easy to query the data you need from Ethereum "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "and"
},
{
"type": "span",
"value": " - along the way - get evidence in order to generate proofs that your data is correct. This is in contrast to currently available solutions for Dapp developers, who must currently rely on centralized providers that dont provide evidence to generate proofs."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Web3 is (still!) in its early days, and like the early days of SQL, Dapp developers need advanced knowledge of complex data structures to build their Dapp. Watchers simplify this by exposing a GraphQL endpoint, a solution familiar to an order of magnitude more developers than querying the Ethereum blockchain directly."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic is building a suite of tools to address core problems in Web3. Today, weve provided an overview of the main components of the Laconic Stack. Developers interested in Laconic should start with `"
},
{
"url": "https://github.com/cerc-io/stack-orchestrator",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "stack-orchestrator"
}
]
},
{
"type": "span",
"value": "` to get a sense of running different parts of the stack, then check out `"
},
{
"url": "https://github.com/cerc-io/watcher-ts",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "watcher-ts"
}
]
},
{
"type": "span",
"value": "` to experiment with different watchers and progress to making their own."
}
]
}
]
}
}
},
"featured": false,
"id": "63992475",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,746 @@
{
"data": {
"blogPost": {
"slug": "introducing-laconic-network",
"title": "Introducing Laconic Network",
"date": "2022-07-26",
"category": [
{
"id": "2965426",
"slug": "news",
"title": "News"
},
{
"id": "3545003",
"slug": "product",
"title": "Product"
}
],
"author": {
"id": "63259964",
"name": "Maly Ly"
},
"image": {
"url": "/images/site_content/blogPost/introducing-laconic-network.png"
},
"content": {
"blocks": [],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The advent of smart-contract blockchains, led by Ethereum in 2014, has given rise to exciting new possibilities for humans interacting and transacting with each other. The ensuing rise of Web3, with wider consumer adoption of DeFi and NFTs in particular, has begun to show the world how public blockchains that are permissionless and trustless can bring immense value to industries and individuals. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The value of blockchain:"
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Immutable data that brings transparency to finance and governance"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Efficiency through smart contract automation "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Security and privacy through emerging cryptography "
}
]
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Yet all of these benefits hinge on developers succeeding in writing Web3 applications on top of blockchains that are fast, efficient, secure, and frictionless to use. There will be no internet-scale adoption of Web3 if the user experience is bad, or if it is simply too difficult to write the applications in the first place. And this point highlights a critical weakness of blockchains - accessing the data that they store is not as simple and straightforward as one might expect. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "On the contrary, since blockchains are write-optimized databases that focus nearly exclusively on establishing consensus and finality of each new block, they are notoriously difficult to work with for data retrieval."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The result of this has been the rise of a middleware industry to index, cache, and serve blockchain data. This includes services like Infura, Alchemy, and The Graph. These services, while more convenient for developers to use when building DApps, all break the fundamental benefits of blockchain in one or more ways. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "First, they tend towards centralization, and we end up with an industry where the blockchains are decentralized, but the DApps built on them all pass through an oligarchy of service providers that are not materially different from the IaaS cloud providers that represent the hyper-centralization of Web2. Second, they serve data that can no longer be cryptographically proven to be the correct data, so the trustless benefit of blockchain technology is replaced with a trust relationship with a single company. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Until Laconic, there has not been any technology that serves blockchain data while truly upholding the ideals of decentralization and allowing all data to be independently cryptographically verified. Key components of the emerging Web3 ecosystem, like Metamask, use centralized APIs from OpenSea and Infura without any mechanism for cryptographically verifying the accuracy or provenance of the data. Yet, provable data and decentralization are essential to having truly trustless systems for Web3 to depend on."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "It is precisely this service that Laconic has been created to deliver."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Blockchain Data for High-Performance Applications"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The Laconic Network solves these two fundamental and existential problems. We are creating a truly decentralized network of data indexers and API providers to deliver hash-linked (cryptographically provable) blockchain data off-chain. Every byte of data served to DApps via the Laconic Network can be verified and proven to be mathematically integral."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "We are thrilled at the prospect that the Laconic Network will become the catalyst and enabler to unlock immense potential value in the blockchain. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "For the last five years, our team of platform experts across Ethereum, IPLD / IPFS, and Cosmos SDK has been leading research and development in this space. We are creating a new set of technologies and infrastructure to solve the fundamental problem of making blockchain data accessible to high performance, high availability applications. The work has included the application of IPLD block structures to preserve the hash-linked structure of blockchain data when stored in traditional relational databases and served via API endpoints."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"emphasis"
],
"value": "The upshot: No longer will DApp developers have to struggle with convoluted queries, poor performance, long indexing times, or unprovable data when building decentralized applications. "
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Enter the Laconic Network"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Furthermore, weve pioneered a novel organizational and governance structure that solves the seemingly incompatible goals of providing guaranteed data availability service levels via a truly decentralized network. Laconic Network Members are corporate entities who enter contractual obligations to offer data indexing and retrieval services to end-users with professional-grade performance guarantees. Yet the network of these partners is technically, legally, and even geographically decentralized, and therefore impervious to censorship or monopolistic control. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "One of the primary responsibilities of Laconic Network Members is to run Laconic Watchers, which are programs that expose data APIs to DApps, maintaining specific views of blockchain state and data expressed as mini-blockchains, solely for the purpose of reliable, provable data querying. DApp developers can find and use existing Laconic Watchers and can programmatically create new Watchers. There will be token incentives for programmers who write Watchers. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Finally, the Laconic Network features an incentivized data caching layer to ensure robustness.  All blockchain data can be made permanently, globally available through the caching layer, without needing to directly query blockchain nodes, and, of course, without sacrificing the cryptographic integrity of the data. People who care about decentralization and provable data will be able to participate in this caching layer and earn tokens while doing it."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The upcoming launch of the Laconic Network will bring a new era marked by the positive value that blockchains bring to humanity, with ever more practical and impactful use cases emerging as the barriers of data availability fall away."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The Laconic Network will have opportunities and benefits for anyone who cares about the future of the decentralized web:"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": ""
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"url": "https://discord.com/invite/ukhbBemyxY",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Join our Discord"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"url": "https://t.me/laconicnetwork",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Chat with us on Telegram"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "and "
},
{
"url": "https://www.laconic.com/",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "sign up for our Newsletter"
}
]
}
]
}
]
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "How have others tried to solve these challenges?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The original vision of Ethereum was that DApp developers would connect directly with Ethereum nodes and use the JSON-RPC API of an Ethereum client to query data. This allows you to get data from a source that has verified the data, and is decentralized, but it requires you to run the node yourself, or hire someone to run it for you. Furthermore, the data is not indexed in such a way that is convenient for DApp developers, and a large number of queries and processing must be done to satisfy normal application cases."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "To improve the convenience of querying Ethereum data, many indexers have taken the data and put it in off-chain databases, often with sensible indexes. They then expose this data over new APIs that foster rapid application development and developer ease, but completely forsake the first principle values of decentralization and cryptographic verifiability. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "To our knowledge, no indexer has managed to provide the convenience of custom indexes and APIs while preserving decentralization and cryptographic proofs of the data integrity."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Laconic's Solution: How are we different?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Developed over four years by our team of Ethereum, IPLD, and Cosmos SDK core contributors, the Laconic Solution encompasses three main components:"
}
]
},
{
"type": "list",
"style": "numbered",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic Stack, a set of services which convert Ethereum data into IPLD blocks and populate our high-performance, carefully indexed databases.\n\n"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic SDK, which makes it easy for developers to write front ends and other services which consume IPLD-based data structures and proofs.\n\n"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic Network, a multi-sided marketplace that allows DApp developers and service providers to transact in a more cost-effective way and then pass those cost savings on to end-users, providing a sustainable and decentralized operating model for DApp developers. The key element of the Network is Watchers, custom materialized views of blockchain data that developers query to access specific blockchain data."
}
]
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The Laconic Stack consists of our modified Geth client which extracts and denormalizes the data, transforming it into IPLD blocks and indexing it properly for efficient querying and future transformations. For example, we can list all the node hashes needed to execute a cryptographic proof in one query, instead of having to walk down the Merkle tree with a chain of sequential queries. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The main contact point for developers is the Watcher, a materialized view of a specific subset of blockchain data (e.g. a specific contract or protocol) that provides a custom endpoint for DApps to query.  "
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "$LNT, the Laconic Network Token"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "With a fixed total supply, Laconic Network Token (LNT) serves multiple functions in the network design, most saliently by securing incentive alignment across network stakeholders. In addition to being used as rewards for service providers to run Watchers, LNT also allows for seamless transactions across services, regardless of blockchain or DApp."
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Distribute rewards to staked users"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Provide service discounts"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Distribute funds to community members for Network maintenance and development"
}
]
}
]
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Whats Next for Laconic"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "After five years in stealth mode, were looking forward to our public marketing debut this month. Later in Q3 2022, we will announce the initial cohort of seven Founding Members, as well as a funding round. As our technology, governance, and network are novel, with no current analogies, we're excited to share more articles about key aspects of the Laconic Stack and Laconic Network, including our use of IPLD, the role of Watchers, the features of the Laconic App, and our pioneering governance framework."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "For those wishing to run validators, we're aiming to have an incentivized Testnet in 2023, followed by the launch of our Mainnet later in 2023."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Summary of Laconic Network Milestones"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Public Marketing Launch: Q3 2022"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Coming out of a long stealth period, well be launching our marketing assets and channels, including branding, website, social media and developer platforms, and content."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Seven Founding Members and Funding: Q3 2022"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Well be announcing our initial seven Founding Members and the close of our seed funding round."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Incentivized Testnet: Early 2023"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "With the launch of our Incentivized Testnet, prospective validators will be incentivized to learn about the requirements for being a Member/Validator on Laconic Network and how to operate the Laconic Stack."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Mainnet Launch & Incentivized Global Data Cache: Late 2023"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Once Laconic Mainnet launches, "
},
{
"type": "span",
"value": "and 7 Member/validators have joined the network, well have an incentivized global data cache, allowing anyone to easily participate in serving blockchain data to DApps (and earn $LNT in doing so)."
}
]
}
]
}
}
},
"featured": false,
"id": "24195830",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,448 @@
{
"data": {
"blogPost": {
"slug": "laconic-and-consensys-metamask-launch-mobymask-light-client",
"title": "Laconic and ConsenSyss MetaMask Launch MobyMask Light Client",
"date": "2022-11-08",
"category": [
{
"id": "3545001",
"slug": "partners",
"title": "Partners"
}
],
"author": {
"id": "63259964",
"name": "Maly Ly"
},
"image": {
"url": "/images/site_content/blogPost/laconic-and-consensys-metamask-launch-mobymask-light-client.png"
},
"content": {
"blocks": [],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "blockquote",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"emphasis"
],
"value": "\"Its hard to overstate what an achievement this [Laconic] is for bringing down the computational costs of privacy, scalable data distribution, and also speed of data lookups for users who repeatedly use the same contracts but dont necessarily run their own full nodes.\""
}
]
}
],
"attribution": "Dan Finlay, MetaMask Founder"
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": ""
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Today Im thrilled to announce that "
},
{
"url": "http://metamask.io/news/security/meta-mask-and-laconic-launch-moby-mask-light-clienthttps://metamask.io/news/security/meta-mask-and-laconic-launch-moby-mask-light-client",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Laconic is partnering with the worlds leading self-custodial wallet, ConsenSyss MetaMask"
}
]
},
{
"type": "span",
"value": ", and MetaMask founder Dan Finlay, to launch "
},
{
"url": "https://mobymask.com/#/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "MobyMask"
}
]
},
{
"type": "span",
"value": ", an anti-phishing tool. You can check out Dan Finlays "
},
{
"url": "https://mirror.xyz/0x55e2780588aa5000F464f700D2676fD0a22Ee160/8whNch3m5KMzeo6g5eblcXMMplPf8UpW228cSh3nmzg",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "original MobyMask blog"
}
]
},
{
"type": "span",
"value": ", and his "
},
{
"url": "https://metamask.io/news/security/meta-mask-and-laconic-launch-moby-mask-light-client",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "blog announcement today"
}
]
},
{
"type": "span",
"value": ", for more information."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "MobyMask is a community-sourced registry for managing and reporting phishing accounts across social media and Web3 intersections, based on MetaMask's "
},
{
"url": "https://mirror.xyz/0x55e2780588aa5000F464f700D2676fD0a22Ee160/pTIrlopsSUvWAbnq1qJDNKU1pGNLP8VEn1H8DSVcvXM",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Delegatable framework"
}
]
},
{
"type": "span",
"value": ". It provides robust tools for sourcing phishing reporters from across online communities, using a dynamic web of trust. The registry is designed to grow organically as community members report scammers and phishers directly onto the Ethereum mainnet."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Accessible, affordable privacy and security"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic's MobyMask-caching Ethereum light client greatly reduces the cost of hosting a trustworthy copy of the MobyMask anti-phishing registry, making the tool accessible and affordable for a wide range of users. By optimizing the blockchain query process, explains Dan Finlay in his blog announcement today, Laconic \"greatly reduces the computational costs of privacy, scalable data distribution, and also speed of data lookups for users who repeatedly use the same contracts but dont necessarily run their own full nodes.\""
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "MobyMask further streamlines blockchain security by bringing light-client functionality directly to the browser. The key is the "
},
{
"url": "https://www.laconic.com/blog/laconic-watchers",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Laconic Watcher"
}
]
},
{
"type": "span",
"value": ", an essential piece of the Laconic Stack that caches only the specific blockchain data required for a particular query—reducing data requirements by orders of magnitude while creating a lightweight, self-hostable process that web services such as MetaMask, WalletGuard, and Phishfort can use to draw MobyMask phishing detection data. A soon-to-be-released TypeScript version of our Watcher will streamline security even further, with support for fully browser-based list caching and peer-to-peer data replication. "
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Lowering barriers for entry to Web3 "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Phishing and related scams plague both novice and experienced blockchain users, creating further barriers to adoption and limiting the potential for growth of the Web3 ecosystem. Thats created a real need for tools that make this ecosystem safer, faster, easier, and more affordable to use. In reducing technical requirements for interacting with the blockchain, the Laconic protocol lowers barriers to entry, making Web 3 technologies more accessible to those with limited resources."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "With that goal in mind, Laconic is working on an update that lets users search a dynamic repository of phishing reports, and share them with a network of peers, via a free private API. Messages will be fully provable on chain, with blockchain used only to resolve registry conflicts and revoke access when needed. While the initial repository is by invitation only, Laconic and MobyMask plan to eventually allow users to subscribe to multiple roots of trust, and to host their own. Meanwhile, were laying the groundwork for an ambitious shared vision: a system with the ability to verify credible sources for a wide range of information types."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "A highly scalable and privacy-preserving application"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "With MobyMask making Web3 access safer and less stressful for everyone involved, the potential benefits, says Dan, are substantial. ”If were going to build anything of value out of decentralized technology, we need to basically eliminate phishing. That's going to take a lot of creativity and ingenuity, and were happy that "
},
{
"url": "https://www.laconic.com/",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Laconic"
}
]
},
{
"type": "span",
"value": " and MobyMask combine so well to deliver a highly scalable and privacy-preserving application whose safety remains rooted on the blockchain.”"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "\nYou can learn more about MobyMask at "
},
{
"url": "http://www.mobymask.com",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "mobymask.com"
}
]
},
{
"type": "span",
"value": ". For more information on Laconic, "
},
{
"url": "https://discord.com/invite/ukhbBemyxY",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "join the Laconic Discord"
}
]
},
{
"type": "span",
"value": "."
}
]
}
]
}
}
},
"featured": true,
"id": "56055548",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,330 @@
{
"data": {
"blogPost": {
"slug": "laconic-devcon-vi-recap",
"title": "Laconics Devcon VI Recap",
"date": "2022-10-20",
"category": [
{
"id": "6311819",
"slug": "insights",
"title": "Insights"
}
],
"author": {
"id": "55457832",
"name": "Michael Gushansky"
},
"image": {
"url": "/images/site_content/blogPost/laconic-devcon-vi-recap.png"
},
"content": {
"blocks": [
{
"id": "55844240",
"title": "MEV"
},
{
"id": "55844241",
"title": "OFAC"
},
{
"id": "55844702",
"title": "Regulation"
},
{
"id": "55846103",
"title": "Devcon"
},
{
"id": "55844242",
"label": "Join Our Discord to Learn More",
"url": "https://discord.com/invite/ukhbBemyxY"
}
],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "As the first Devcon held in 3 years, and right after the historic Merge, Devcon VI drew thousands of attendees from around the world and our team was fortunate to be a part of it.\n"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "So what were the hot topics at this years Devcon VI in Bogota?"
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "\n"
},
{
"type": "span",
"marks": [
"strong"
],
"value": "1. Maximum Extractable Value (MEV)"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "One of the most pervasive topics at Devcon was MEV. Flashbots co-founder Phil Daian announced the launch of SUAVE, Single Unifying Auction for Value Expression, to combat MEV centralization and censorship.\n\nSUAVE will be an MEV-aware encrypted mempool that maximizes profits for users. "
}
]
},
{
"item": "55844240",
"type": "block"
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "2. Office of Foreign Assets Control (OFAC)"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Post Merge, OFAC compliant MEV boost relays have been enabled across a broader array of block proposers resulting in a censorship of 51% of Ethereum blocks. The implication is that if block producers can censor txs due to OFAC compliance, what other types of transactions could they censor?"
}
]
},
{
"item": "55844241",
"type": "block"
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "3. Regulation: Digital Commodity Consumer Protection Act (DCCPA) "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Regulation isnt keeping up with the speed of innovation. This is obvious for instance in Europes current attempt to to regulate dollar-pegged stablecoins, capping volumes and potentially banning algo-stablecoin use. Stablecoin volume has increased dramatically over the last several years and a cap or ban could significantly hurt the crypto ecosystem overall.\n\nThe Digital Commodity Consumer Protection Act (DCCPA) could have a significant impact on DeFi in the US as well. The general consensus is that the crypto community as a whole has to advocate for positive outcomes, and resource groups like Coin Center that are actively fighting for regulatory guidance. "
}
]
},
{
"item": "55844702",
"type": "block"
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "5. Layer 2"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Unsurprisingly, the increasingly crowded and competitive L2 landscape was on display.The Arbitrum and Optimism booths  angled for attention side by side at the conference, an example of the escalating war for dominance between the major Layer 2 solutions. There was discussion around the security tradeoffs between side chains like Polygon and rollups like Arbitrum & Optimism, along with concerns that rollups are currently too centralized and lacking fraud proofs. "
},
{
"url": "https://www.laconic.com/blog/what-is-a-proof",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"value": "Laconic knows a thing or two about proofs"
}
]
},
{
"type": "span",
"value": "…\n"
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "6. Data Scaling"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Data indexing and scaling continues to be a fundamental challenge for Web3 development. Youre either running a full node yourself or forced to make compromises while using one of a handful of existing centralized indexing solutions.\nEnter Laconic, the first multichain verifiable data indexer. Laconic enables developers to build internet-scale Web3 applications and light clients at a fraction of the speed and the cost of current tools."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "*Side note, the conference wifi pw was “runfafullnode” but were here to do that for you…IYKYK.\n"
}
]
},
{
"item": "55846103",
"type": "block"
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Interestingly, the decision to host the conference in South America was prescient as the economic crises in Venezuela and Argentina highlight the use cases of crypto as a hedge against inflation and more generally as a means for financial sovereignty. We spoke with a number of Argentinians and Venezuelans about the growing usage of crypto payments in their countries.\n\nThe need to enable developers to build applications with access to faster and more reliable data has never been greater. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": ""
}
]
},
{
"item": "55844242",
"type": "block"
}
]
}
}
},
"featured": false,
"id": "55844243",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,764 @@
{
"data": {
"blogPost": {
"slug": "laconic-governance-model",
"title": "A New Governance Model for the New Web",
"date": "2022-10-25",
"category": [
{
"id": "3545003",
"slug": "product",
"title": "Product"
}
],
"author": {
"id": "55641250",
"name": "Joshua Eustis"
},
"image": {
"url": "/images/site_content/blogPost/laconic-governance-model.png"
},
"content": {
"blocks": [],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic Network was founded to develop crucial infrastructure for current and future generations of blockchains and Web3 applications. That's an ambitious mission, and one that demands significant technological innovation. Perhaps even more innovative, however, is the company's governance model—a unique organizational "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "structure that, along with the Laconic token, underlies"
},
{
"type": "span",
"value": " a scalable and sustainable project with the power to address the many operational, regulatory, and ideological challenges of Web3. "
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Operational challenges"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic Networks governance model addresses four primary operational challenges:"
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Network funding. The Laconic governance model funds initial network development and growth. But unlike most venture capital-funded businesses, Laconic avoids passive investment, instead requiring all founding members to make significant contributions of capital, engineering expertise, or both."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Network growth. To ensure timely continued growth, the Laconic Network must scale along with demand for Web3 data services—necessitating clear procedures for adding and removing Members and Service Providers."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Hardware operations. Laconic indexing and services are computationally expensive, requiring significant hardware and infrastructure investment. Laconic is creating a decentralized infrastructure network built for scalability and flexibility, and designed to deliver data to consumers at the highest possible service level."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Corporate governance. Clear and fair governance is essential to any decentralized project. The Laconic limited liability company agreement (LLCA) clearly specifies how stakeholders including Members, Service Providers, and data customers may participate in the governance process; proposal submission and voting processes; and proposal requirements for specific changes and updates."
}
]
}
]
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Regulatory challenges"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The governance model addresses three primary regulatory challenges: "
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Making it clear that the Laconic LNT token is solely a loyalty point or prepayment for services—not a security or currency"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Ensuring that on-chain private auction of membership interests in a Cayman Island LLC is fully compliant with US securities law"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Protecting minority rights for all shareholders of Laconic LLC"
}
]
}
]
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Ideological challenges"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "As Web3 scales, Laconic Network aims to become an essential layer in service of verified blockchain data to applications. The company's governance model must be designed to:"
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Reward active Network participants through incentives for actions that help build and run the network, including becoming Members or Service Providers, writing Watchers, and consuming network data"
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Discourage attempts to speculate on, or otherwise passively profit from, the network"
}
]
}
]
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Corporate structure"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The Laconic LLC structure lays out a flexible but binding legal framework for the company's relationship with Network Members. It also provides for treasury management and related off-chain governance solutions while the network is being built:"
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic Network, as a corporate entity, is a Cayman Islands LLC made up of members who are themselves corporations. Members work together to build and operate the Network, for which they are required to act as Service Providers and Validators; as a Validator, each member controls a share of the Laconic Network Liquidity Pool. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The corporation's purpose is to sell data in a way that provides purchasers with cryptographic evidence, which ensures reimbursement if a Service Provider fails to meet a quality of service guarantee. Each membership interest in Laconic LLC is indivisible and nontransferable, and represents an actual security per the S.E.C. definition of the term."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "On-chain membership interests are determined based on a combination of each Member's capital accounts and individual Liquidity Pool shares—a structure designed to reward members for acting as Validators and Service Providers while promoting healthy competition. The Members treasury collateralizes the Network, protecting Service Providers and users."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic Network currently has seven Founding Members, who brought the project into existence by funding its treasury and providing the engineering work to create the Laconic Stack and Laconic App. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Founding Members have been selected to ensure enough initial Validators and Service Providers to run the hardware needed to index and serve data to end users."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Requiring that Members both fund the Network and provide technical services ensures that all Members are motivated to make the project successful. There is no passive investment—for example, from VCs who buy the token at a discounted price to fund the Network, then wait for a pump to sell. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Selecting seven Founding Members supports accountability for a minimum viable level of decentralization. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Members operate within multiple legal jurisdictions, preventing the Laconic Stack, Validators, and Service Providers from concentrating in too few data centers or cloud providers."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "As demand for the services provided by Laconic Network increases, it will be necessary to add Members in order to increase the capacity and diversity of available Service Providers. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "As Members are added, Membership totals must always take the form of 6n+1—ensuring that simple majority votes will never be evenly split, and that Validators will never be paid for Byzantine fault tolerance (BFT) that they do not provide. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "New Members are added via auction. To participate in an auction, potential Members must prove that they are technically qualified and have the funds needed to buy a Membership Interest from one or more existing members."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "To demonstrate their ability to operate the Laconic Stack at a level of quality comparable to that of existing Members, potential Members must participate in a testnet."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Potential Members who successfully complete the testnet are invited to a private auction of a lot of six new Membership Interests. Auction proceeds are added to the Liquidity Pool, minus a Sellers Reward for existing Members. Sellers Rewards, akin to mini liquidity events, provide additional financial motivation for membership. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "At some point in the future, Laconic LLC may choose to change the rules regarding membership and Validator participation."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "As required by law, provisions exist by which Members may be voluntarily or involuntarily removed from the Network in order to maintain minority shareholder rights of the membership as a whole."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Members wishing to exit may sell their interest back to Laconic LLC, which will then auction it to a new potential Member. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Members failing to fulfill Validator or Service Provider duties may be evicted by a governance resolution. "
}
]
}
]
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "The Laconic Network Token"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Much of the mechanism design of the Laconic Network is encapsulated in the intended uses of the Laconic Network Token (LNT)."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": " LNT provides insurance to the Network's Service Providers and data consumers. Any prepayment for services, or any surplus services that data consumers have paid for but not used, may be redeemed for an asset of value. For Service Providers, LNT simplifies business operations, serving as a single asset representing claims against both a stablecoin and the native currency of the L1 on which they are required to operate. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The LNT also provides guarantees to Network participants, in much the same way that initiating a retail transaction triggers an automatic temporary hold on the buyer's payment card, which is released when the purchase is completed. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Note that  LNTs purpose is to allow for refundable prepayment of services among a federation of Service Providers operating across multiple jurisdictions; the token does not exist in any other capacity. It is not a security, as it does not represent a financial interest in Laconic LLC; it can be redeemed only via authorized transfer within the Liquidity Pool, which is controlled by the Laconic Members. Membership Interests are, however, securities, as they represent both the financial interests and the governance stakes of the Members in Laconic LLC; one Membership represents one vote."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The LNT is considered a voucher for data retrieval, not a general-purpose currency. LNT is procured through the Liquidity Pool by trading 3CRV or ETH, and used to pay Service Providers for data transfers. LNT is also staked by Service Providers, and enables them to register on-chain as such. A reclamation function ensures that the full fixed supply of the token will remain constant and in use at all times, making it unsuitable for long-term holding or speculative investment. "
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Governance"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Corporate governance for Laconic LLC will be performed on chain, by voting parties who are both Members and Validators. Voting parties may vote on two types of resolutions:"
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Ordinary resolutions"
},
{
"type": "span",
"value": " govern operational details of the network and require a ⅔ vote to pass."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Special resolutions"
},
{
"type": "span",
"value": " are required to amend the governance articles or shut down the Network. Special resolutions must be passed by a unanimous vote."
}
]
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Proposals may be submitted by any user of the Network who has more than the equivalent of $1000 USD escrowed as LNT."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "New possibilities for organizational governance"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconics primary goal is to make verifiable blockchain data available at scale to Web3 applications. The company also aims to embody the ideological goals of true decentralization and fair rewards for parties actively participating in the network as Members, Validators, Service Providers, or Watcher writers. The Founding Members have also thought extensively about the utility of the LNT token (as a voucher for data), its role in governance (none at all), and how to grow the network through Validator/Member auctions. Together, these choices yield a novel corporate governance model worthy of study by any organization with similar goals and challenges."
}
]
}
]
}
}
},
"featured": false,
"id": "55641249",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,695 @@
{
"data": {
"blogPost": {
"slug": "laconic-watchers",
"title": "Laconic Watchers: Ensuring Trustlessness in Web3",
"date": "2022-09-06",
"category": [
{
"id": "3545003",
"slug": "product",
"title": "Product"
}
],
"author": {
"id": "63259964",
"name": "Maly Ly"
},
"image": {
"url": "/images/site_content/blogPost/laconic-watchers.png"
},
"content": {
"blocks": [],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Watchers in the Laconic Network are the keystone technology that will scale blockchain data access for the next wave of Web3 adoption. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The Laconic stack provides a way for DApp developers to retrieve the blockchain data they require in a manner that is efficient, verifiable, and decentralized. The mechanism by which the relevant subset of blockchain data is queried, cached, and delivered, is the Laconic Watcher."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Weve previously explored "
},
{
"url": "https://www.laconic.com/blog/how-laconic-network-uses-ipld",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "how the Laconic Network uses IPLD"
}
]
},
{
"type": "span",
"value": " (“the data model of the content-addressable web”) to keep off-chain data cryptographically verifiable across transformations. The Laconic Watcher is the component that makes that data available for DApps.  You will learn about the role of Watchers within the Laconic Network, how they work, and what you can use a Watcher for."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "DApp Developer Challenges"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "A public, permissionless blockchain is optimized for storing large amounts of data and achieving consensus. A DApp typically needs only a tiny fraction of that data for its operations. Ethereum clients are not designed to serve the data needs of a given DApp, such as reading and linking data from multiple contracts, introducing cross-chain data, or presenting DApp-specific information to users. Existing options for retrieving blockchain data have some drawbacks:"
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Significant effort required: "
},
{
"type": "span",
"value": "Running an archive node gives access to all of a blockchains data.  Structurally, blockchains are write rather than read optimized. Many developers are unable to, unwilling to, or cost-prohibited from, running the infrastructure."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Trustlessness broken: "
},
{
"type": "span",
"value": "Centralized services can provide indexed blockchain data, but  they lack the mechanisms to cryptographically prove their accuracy and provenance. DApp developers and users must trust these services, contrary to the decentralized and trustless promises of Web3."
}
]
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Our goal is to make DApp development as frictionless as possible. When you build your DApps, Laconic Watchers relieve you of the infrastructure burden and enable you to query and receive trustless, verifiable, off-chain blockchain data."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "The Watcher and the Laconic Network"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "To understand the Watchers role and functionality, let's briefly recap how the Laconic solution works."
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The primary function of the Laconic Network indexing is to keep an up-to-date version of blockchain data in a relational database. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "To achieve this, a Laconic Full Index Node fetches the latest blockchain updates and turns them into IPLD blocks with advanced indexing. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Unlike existing ETL (Extract-Transform-Load) solutions that convert blockchain data into a searchable database format, the Laconic Network continuously monitors and evaluates state diffs on the chain, retrieving and indexing relevant tries."
}
]
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "This additional data opens up a new range of opportunities for DApps. This is the first component of the Laconic solution.  However, the database is still too large and too general for DApps to use; raw blockchain data structures are not suitable for DApps."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Enter the Laconic Watcher."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Your DApps Personal Data Delivery Service"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Watchers are the component that makes DApp development as frictionless as possible. Watchers serve three fundamental purposes:"
}
]
},
{
"type": "list",
"style": "numbered",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Query"
},
{
"type": "span",
"value": " the Laconic Full Index Node for the specific data your DApp needs."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Transform"
},
{
"type": "span",
"value": " the queried data to make it consumable for your DApp."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Cache"
},
{
"type": "span",
"value": " the data for fast and inexpensive access."
}
]
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Watchers run queries relevant to your DApp through a GraphQL interface; you can create precisely the API you need, transforming the data as required. Watchers run as daemons, constantly updating the cache with transactions from the blockchain's head."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Your Watcher is effectively your personal, virtual, read-only blockchain, containing the specific data your DApp needs. You get the same verifiability you would from the source blockchain, without the same burden or overhead."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Where do I find Watchers? How can I write one? Do I have to?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Running Watchers: "
},
{
"type": "span",
"value": "It is the job of Service Providers on the Laconic Network to run Watchers. One or more Service Providers can run a given Watcher."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Do I have to write my own Watcher?"
},
{
"type": "span",
"value": " As a DApp developer, you dont necessarily need to create your own Watcher. Some alternatives:"
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Pay to access a public Watcher API. "
},
{
"type": "span",
"value": "The fees are split between the Service Provider and the Watcher creator."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Check the Watcher Registry:"
},
{
"type": "span",
"value": " If a Watchers creator chooses to make it publically available, they can add the Watcher to the on-chain Watcher Registry for easy discovery. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "You dont have to start from scratch. "
},
{
"type": "span",
"value": "Watchers are composable. You can build a Watcher on top of one or more existing Watchers found in the Watcher Registry."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "What about Smart Contracts? "
},
{
"type": "span",
"value": "As a Smart Contract author, you can auto-generate Watcher code directly from your Smart Contract's Solidity source code. The code generator is capable of generating the Watcher GraphQL API based on eth_calls as well as storage variables in the Smart Contract."
}
]
}
]
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Watchers, in Conclusion"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Laconic Watchers"
},
{
"type": "span",
"value": " allow DApps to cache and query verifiable blockchain data served by a decentralized network of Service Providers. Watchers facilitate the creation of custom APIs suitable for a DApps specific needs. "
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "As a developer,"
},
{
"type": "span",
"value": " you will benefit from the Laconic Network by finding, writing, or combining Watchers to serve the backend data needs of your DApps."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "As a Laconic Network Service Provider or Validator,"
},
{
"type": "span",
"value": " you will be part of solving the problems of blockchain data access for the next wave of Web3 adoption. "
}
]
}
]
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"value": "Stay up-to-date with Laconic News"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Join our "
},
{
"url": "https://discord.com/invite/ukhbBemyxY",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Discord server"
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Subscribe to our "
},
{
"url": "https://t.me/share/url?url=https%3A%2F%2Fwww.laconic.com%2Fblog%2Fhow-laconic-network-uses-ipld",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Telegram channel"
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Sign up for our mailing list below"
}
]
}
]
}
}
},
"featured": true,
"id": "55448692",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,972 @@
{
"data": {
"blogPost": {
"slug": "monthly-update-dec-2022",
"title": "Laconic Monthly Update: December 2022",
"date": "2022-12-01",
"category": [
{
"id": "2965426",
"slug": "news",
"title": "News"
}
],
"author": {
"id": "63259964",
"name": "Maly Ly"
},
"image": {
"url": "/images/site_content/blogPost/monthly-update-dec-2022.png"
},
"content": {
"blocks": [
{
"id": "63259974",
"title": "metamask"
},
{
"id": "63259975",
"title": "testnet"
},
{
"id": "63259976",
"title": "lp"
},
{
"id": "63259977",
"title": "public marketing launch"
},
{
"id": "63260091",
"title": "nft"
},
{
"id": "63259978",
"title": "events"
}
],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Hello Laconians,"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Welcome to our first Laconic Monthly Update! "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "After five years in stealth development, we were excited to go live with our public marketing launch in the last quarter."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "In the three months since, Laconic has grown quickly, and weve made huge progress with both product and growth. Despite the arrival of “crypto winter,” our team remains focused on building a platform with the power to ensure that the next generation of blockchain applications are safer, faster, and more useful."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Thank you for joining us on our journey!"
}
]
},
{
"item": "63259974",
"type": "block"
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "METAMASK PARTNERSHIP"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "This month, we announced that Laconic is partnering with the worlds leading self-custodial wallet, ConsenSyss MetaMask, and MetaMask founder Dan Finlay, to launch MobyMask, an anti-phishing tool. Laconic's MobyMask-caching Ethereum light client greatly reduces the cost of hosting a trustworthy copy of the MobyMask anti-phishing registry, making the tool accessible and affordable for a wide range of users."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Together, were laying the groundwork for an ambitious shared vision: a system with the ability to verify credible sources for a wide range of information types. You can "
},
{
"url": "https://www.laconic.com/blog/laconic-and-consensys-metamask-launch-mobymask-light-client",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "read our blog to learn more about the partnership with MetaMask"
}
]
},
{
"type": "span",
"value": "."
}
]
},
{
"item": "63259975",
"type": "block"
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "TESTNET"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Weve successfully launched a testnet for internal development and for testing with Laconics Founding Members (Founding Members to be announced). The genesis transaction occurred on August 9, 2022, with all Members in consensus.\n\nWere now creating tooling to monitor block production, number of transactions, and Validator health; further tooling will include a dashboard and a block explorer."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "A public, incentivized testnet is planned for 2023. You can sign up for early access "
},
{
"url": "https://www.laconic.com/partners#testnet",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"value": "here"
}
]
},
{
"type": "span",
"value": "."
}
]
},
{
"item": "63259976",
"type": "block"
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "LIQUIDITY POOL & PAYMENT CHANNELS"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Weve continued work on the mechanics and logistics of the liquidity pool, state/payment channels that will govern the flow of payments and tokens between our own chain and Ethereum, and auction logic implementation. Well also be building out the back end of the Laconic App and its network underpinnings. The next step is to deploy the smart contract for the liquidity pool directly to testnet. "
},
{
"url": "https://www.laconic.com/blog/introducing-laconic-network",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"value": "Learn more about our platform and network"
}
]
},
{
"type": "span",
"value": "."
}
]
},
{
"item": "63259977",
"type": "block"
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "PUBLIC MARKETING LAUNCH"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "After five years in stealth, we completed the design and development of the Laconic website and community channels, with a successful public launch on August 16. Since then, weve scaled online engagement with potential partners, developers, press, and people around the world looking to learn more about Laconic. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": ""
}
]
},
{
"item": "63260091",
"type": "block"
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "WEEKLY GROWTH CAMPAIGNS"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Weve launched 14 campaigns since the website launch, and will continue to scale marketing and community efforts in 2023."
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "July 26:"
},
{
"url": "https://www.laconic.com/blog/introducing-laconic-network",
"type": "link",
"children": [
{
"type": "span",
"value": " "
},
{
"type": "span",
"marks": [
"underline"
],
"value": "Introducing Laconic Network"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "July 26:"
},
{
"url": "https://www.laconic.com/blog/how-laconic-different",
"type": "link",
"children": [
{
"type": "span",
"value": " "
},
{
"type": "span",
"marks": [
"underline"
],
"value": "How Laconic Network is Different"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "August 6:"
},
{
"url": "https://www.laconic.com/blog/laconic-watchers",
"type": "link",
"children": [
{
"type": "span",
"value": " "
},
{
"type": "span",
"marks": [
"underline"
],
"value": "Laconic Watchers: Ensuring Trustlessness in Web3"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "August 30:"
},
{
"url": "https://www.laconic.com/blog/how-laconic-network-uses-ipld",
"type": "link",
"children": [
{
"type": "span",
"value": " "
},
{
"type": "span",
"marks": [
"underline"
],
"value": "How Laconic Network Uses IPLD"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "September 6:"
},
{
"url": "https://www.laconic.com/blog/laconic-watchers",
"type": "link",
"children": [
{
"type": "span",
"value": " "
},
{
"type": "span",
"marks": [
"underline"
],
"value": "Laconic Watchers: Ensuring Trustlessness in Web3"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "September 13:"
},
{
"url": "https://www.laconic.com/blog/rick-dudley-on-interchain-fm",
"type": "link",
"children": [
{
"type": "span",
"value": " "
},
{
"type": "span",
"marks": [
"underline"
],
"value": "Rick Dudley Discusses Laconic Network on Interchain.fm"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "September 20:"
},
{
"url": "https://www.laconic.com/blog/what-is-a-proof",
"type": "link",
"children": [
{
"type": "span",
"value": " "
},
{
"type": "span",
"marks": [
"underline"
],
"value": "What Is a Proof and Why Do You Need One?"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "September 28:"
},
{
"url": "https://www.laconic.com/blog/99-problems-but-nfts-aint-one",
"type": "link",
"children": [
{
"type": "span",
"value": " "
},
{
"type": "span",
"marks": [
"underline"
],
"value": "99 Problems But NFTs Aint One"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "October 5:"
},
{
"url": "https://www.laconic.com/blog/how-laconic-improves-the-nft-experience",
"type": "link",
"children": [
{
"type": "span",
"value": " "
},
{
"type": "span",
"marks": [
"underline"
],
"value": "How Laconic Radically Improves the NFT Experience"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "October 20: "
},
{
"url": "https://www.laconic.com/blog/laconic-devcon-vi-recap",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Laconics Devcon VI Recap"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "October 25: "
},
{
"url": "https://www.laconic.com/blog/laconic-governance-model",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "A New Governance Model for the New Web"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "November 8: "
},
{
"url": "https://www.laconic.com/blog/laconic-and-consensys-metamask-launch-mobymask-light-client",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Laconic and ConsenSyss MetaMask Launch MobyMask"
}
]
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "November 22: "
},
{
"url": "https://www.laconic.com/blog/why-decentralization-matters",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Why Decentralization Matters"
}
]
}
]
}
]
}
]
},
{
"item": "63259978",
"type": "block"
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "EVENTS"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Nothing beats real-life engagement! Conferences and events are key channels for growing audience awareness. Our team canvassed select Ethereum and blockchain conferences with a focus on brand positioning, partnerships, and customer development:"
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "ETHAmsterdam and Devconnect (4/1825): "
},
{
"type": "span",
"value": "Going into the launch of our public marketing channels, our team produced "
},
{
"url": "https://twitter.com/laconicnetwork/status/1521957074841706497",
"meta": [
{
"id": "target",
"value": "_blank"
}
],
"type": "link",
"children": [
{
"type": "span",
"value": "a networking event"
}
]
},
{
"type": "span",
"value": " to connect with Member teams, investors, and developers attending ETHAmsterdam and Devconnect, a conference dedicated to Ethereum L2 Scaling."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "ETH CC Paris (7/1822): "
},
{
"type": "span",
"value": "Multiple Laconic Member teams converged at the largest Ethereum conference. This was a great opportunity for us to deepen awareness of Laconic among investors and validators in the Ethereum community. "
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Cosmoverse Medellin (9/2728): "
},
{
"type": "span",
"value": "Cosmoss largest conference was an opportunity for us to build awareness and engagement in the Cosmos ecosystem."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Devcon Bogota (10/716): "
},
{
"type": "span",
"value": "The largest Ethereum developer conference offered the perfect opportunity to drive awareness of Laconic with Ethereum developers. Check out the "
},
{
"url": "https://www.laconic.com/blog/laconic-devcon-vi-recap",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "recap blog"
}
]
},
{
"type": "span",
"value": " to learn what the hot topics were at Devcon."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "SF Blockchain Week and ETH SF (11/15): "
},
{
"type": "span",
"value": "These two Bay Area conferences enabled our team to deepen our network in one of the worlds premier tech hubs."
}
]
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "\n\n"
}
]
}
]
}
}
},
"featured": true,
"id": "63259979",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,600 @@
{
"data": {
"blogPost": {
"slug": "rick-dudley-on-interchain-fm",
"title": "Rick Dudley Discusses Laconic Network on Interchain.fm",
"date": "2022-09-13",
"category": [
{
"id": "6311819",
"slug": "insights",
"title": "Insights"
},
{
"id": "3545003",
"slug": "product",
"title": "Product"
}
],
"author": {
"id": "55457832",
"name": "Michael Gushansky"
},
"image": {
"url": "/images/site_content/blogPost/rick-dudley-on-interchain-fm.png"
},
"content": {
"blocks": [],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Rick Dudley, the co-founder of "
},
{
"url": "https://laconic.com",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "the Laconic Network"
}
]
},
{
"type": "span",
"value": ", talks to Chjango Unchained on a special live-streamed episode of "
},
{
"url": "https://www.youtube.com/watch?v=viE0BZGx_DU",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Interchain.FM"
}
]
},
{
"type": "span",
"value": " about the risks of monopolization, why DApps have a hard time querying Ethereum data, how the Laconic Network solves this problem, and the legal aspects of creating a truly decentralized DApp data marketplace."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "How Laconic preserves verifiability"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic is a data indexing service with an Ethereum L2 rollup that uses the Cosmos SDK and a fork of Ethermint. “Primarily, what we're doing is making third-party verifiable caches and indexes of Ethereum data, and we're building a marketplace to facilitate the buying and selling of that data.”"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "For Ethereum-based apps, developers only need a subset of the Ethereum state to run their DApp. Laconic connects you with service providers who can serve that data to DApps, all in a decentralized, disintermediated way."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Unlike other DApp data providers, Laconic focuses on the verifiability of the provided data. Rick points out that “there is no other platform that is preserving the verifiability in the way that we are.” Achieving this verifiability is anything but easy. If a DApp wants to run verifications using an archive node, it would take months of moderate computing time to do that, not to mention archival storage. “Most people don't have 14 terabytes just laying around that they can attach to their phone or laptop.”"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconics answer is to split the data and decentralize validation. As Rick explains, “we take the whole Ethereum blockchain. And then we get a bunch of validators together and make you a little mini proof-of-stake blockchain of just the information you care about.” Ethereum remains the L1 in this scenario; “all the value that's transacted on the Laconic Network is actually staked or escrowed on Ethereum.”"
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Leveraging linked data"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The Laconic solution builds upon an established data format (IPLD, or Interplanetary Linked Data) to deliver the promise of verifiable data. The IPLD format not only allows transforming data to better serve the needs of DApps, but also makes it possible to verify these transformations. “It's not magic, but it makes it easier for us to deal with these very complex and robust data types. It also allows us to do cross-chain proofs, which is the main appeal.”"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Not only cross-chain proofs, but proofs about Ethereum events—which is not possible in Ethereum directly. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "“Events were never intended to be provable there. They weren't supposed to be used in the way they're used today.”  Rick explains how difficult it is for the average DApp developer to know that a single event really came from Ethereum, “You have to have the hundreds or thousands of events that came with that event, or you have to rerun the transaction in the block and see that it emitted the event. And both of those things are extremely expensive.” "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic has a technique for saving the effort of doing that re-computation, and IPLD plays a large part in that."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Acting lawfully"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The Laconic Network will have up to 67 validators that will be located in different countries. This raises some legal questions. Chjango points to a scenario where sanctions against countries can break the promise of decentralization. Rick explains how Laconics legal structure addresses this issue. Laconic is run by an LLC that is designed to “comply with the laws within its jurisdiction and to allow each member to comply with the laws within their jurisdiction.” "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "If a country imposes sanctions on another country, the members are free to follow their local law and refuse service to members of the sanctioned countries. At the same time, the rest of the Laconic Network remains available for those accounts. All this can be done without sacrificing privacy. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "“You can use encryption and other things for someone to say is this user in the United States, yes or no, without revealing where the user actually is.” Rick concludes that, “of the 67 members, we hope to have members that are willing to and legally able to service customers in those jurisdictions that are currently underserved.”"
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Blockchain decentralization, or the lack thereof"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Decentralization in conjunction with global distribution is key to providing uninterrupted service in the face of ill-intended governments or political disturbance. Rick considers decentralization to be retreating, giving way to new monopolies. In other words, there is a re-centralizing effect."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The problem starts with the cost of verification. Chjango asserts that “the difficulty of fully verifying an Ethereum blockchain is such that it has hurt its decentralization, even though the underlying blockchain is decentralized.” The expense of running a fully validating node has introduced new centralization choke points."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Rick places the problem one level down, at the network. The internet comprises 60,000 sub-networks that communicate over the Border Gate Protocol (BCP). But a traffic analysis found Ethereum network traffic on only 18 subnets. And a handful of companies AWS, Google, Microsoft, Cloudflare   run much of the infrastructure, and are also in the same legal jurisdiction. So a single company can switch off large parts of the Ethereum system."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "This lack of decentralization continues at the blockchain level. “There are 4000 validating nodes on the network, but about 80% of them are in AWS. And somehow, in spite of that, 50% of the blocks still come from three people.”"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic's answer to this problem is “forced decentralization.” Rick stated, ”Laconic requires its members to run their own hardware and to be located in different data centers. And we may at some point require people to run their own networks on the internet, so that we do maintain decentralization at that level.” Here, the legal side plays an important role.  The LLC can positively assert that a Member is a specific legally registered entity. They signed a contract that stipulates they avoid being in the same data center as another Member, or else they're in breach of the contract and they risk being removed from the network. \"That's a big benefit of the LLC, and definitely something that we've spent time thinking about to design it right,\" Rick continued."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Monopolistic forces are unavoidable. Give people an option to exit a toxic monopoly"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Even with Laconics solution, scalability and sustainability of the whole blockchain ecosystem are not a given. As pointed out earlier, more than 50% of Ethereum blocks are created by only three mining pools."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "(Source: "
},
{
"url": "https://etherscan.io/stat/miner?blocktype=blocks",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Etherscan.io"
}
]
},
{
"type": "span",
"value": ")"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Such monopolization tendencies are hard to fight. Ricks view is to initially accept the inevitable. “I think it's more about acknowledging that these things are going to be monopolized. And then building technology that allows us to exit those monopolies as needed, more than trying to build technology that's going to resist the monopoly.”"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The aim of Laconic is to make it trivial for people to exit when those systems get monopolized. To achieve this, Laconic has a few layers of protection in place to stop the Laconic Network from being compromised by monopolization attempts. As an example, the legal agreements prevent Laconic members from sharing investors. So an investor cannot simply invest in over one-third of the members to take it over."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "But if some sort of monopolization does occur, every DApp user has an option to exit. “If every user of a DApp has their own Watcher (Laconics API servers) running, they would have all the state they needed to move that DApp to another chain. They could take that one Watcher, generate a new state snapshot for that application, and then move that state snapshot to a new chain. And that literally would take a year of processing on Ethereum."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Whats in the name Laconic?"
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"value": "Why “Laconic”? "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Rick explains, “It means terse.” "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Referencing the ancient inhabitants of Laconia known for their more concise and terse style of speech, Laconic also describes a style of speaking or writing that uses only a few words, often to express complex thoughts and ideas."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconics “laconic” technology  elegantly simplifies the complexity of blockchain, and accelerates DApp development."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Takeaways"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "This was a wide-ranging interview with deep-dives on many topics not covered here. Dive in to find out more about:"
}
]
},
{
"type": "list",
"style": "bulleted",
"children": [
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Payment channels and validator accountability."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Processing time and why they dont discuss network speed or TPS at Laconic."
}
]
}
]
},
{
"type": "listItem",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Why Laconic chose Geth over other Ethereum clients."
}
]
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Catch the full interview on "
},
{
"url": "https://www.youtube.com/watch?v=viE0BZGx_DU",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "YouTube"
}
]
},
{
"type": "span",
"value": "."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Thanks to "
},
{
"url": "https://www.youtube.com/channel/UCMcYl850ni93ZDqchYF7v1w",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Chango Unchained"
}
]
},
{
"type": "span",
"value": " and Interchain.FM for leading this thought-provoking interview with Rick. Its exciting to be able to showcase the work happening at Laconic, designing and implementing a solution for truly decentralized delivery of provable data from the Ethereum blockchain."
}
]
}
]
}
}
},
"featured": false,
"id": "55457818",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,461 @@
{
"data": {
"blogPost": {
"slug": "rick-dudley-on-the-interop",
"title": "Rick Dudley Discusses Laconic Network on The Interop",
"date": "2023-02-09",
"category": [
{
"id": "6311819",
"slug": "insights",
"title": "Insights"
},
{
"id": "3545003",
"slug": "product",
"title": "Product"
}
],
"author": {
"id": "55457832",
"name": "Michael Gushansky"
},
"image": {
"url": "/images/site_content/blogPost/rick-dudley-on-the-interop.png"
},
"content": {
"blocks": [],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic cofounder Rick Dudley appeared on a special livestream of The Interop with host Sebastien Couture to discuss the Laconic Stack, the blockchain data problems that Laconic solves, Laconics novel governance structure, and how Laconic can index and verify data faster, more efficiently, and at lower cost. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Below is a distilled transcript of Ricks responses during the discussion."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "The Future is App Chains"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "I think there will be millions of chains, and we'll be using a combination of rollups and meshnot straight linear L1, L2, L3, but also meshes of rollups and attestations publishing bridges, etc. And although we may have millions of chains, we won't have millions of massive chains. A large chain may have 100 members, and there may be one or two chains out there with 4,000 validators. But in the world, you only need a few of those."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "I think everything becomes an app chain. I think mainnet Ethereum ultimately becomes an app chain and the application is settling rollupsvery similar to Cosmos Hub, frankly. Polkadot, Ethereum 2.0, Cosmos Hub are all actually very similar in terms of the endgame state in the final thesis. And I don't think that there will necessarily be a winner per se. I think they will have curious different properties. "
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Why Laconic?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The ultimate goal of Laconic is to get all of the data that a user is concerned about in the hands of that user. Not in a cloud-hosted environment, not in Microsoft, not in AWS, but in users actual custody. And to enable them to do all the verification themselves."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Right now, its very difficult to extract parts of data from the Ethereum Mainnet that are relevant for Dapp needs. Its almost impossible to synchronize a Geth node in a reasonable amount of time."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There are multiple light client protocols that have come around to help alleviate this problem but they still don't go all the way. The Laconic Network goes the whole way. It goes from source code, to what is in the user's eyeballs with everything being verifiable. If you see a message on Laconic that came to you through the Laconic Network, you could say, \"I want to know which blockchain or blockchains this came from. I want to know what code generated this result. I want to know who wrote that code.” We provide all of that in the Laconic Network."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Three Major Components of Laconic"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There is the Laconic LLC itself, which is in the Cayman Islands. There is the Laconic Stack, which is the standalone software that anyone can run today to generate this data and the evidence that they need. And then there's the Laconic Network, which facilitates the buying and selling of data. It facilitates running these services, discovering the services, paying for services, and then making sure all of that is verifiable."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Those three components are an evolution. We've iterated on the Stack many times over at this point. MakerDAO is still using an early version of that stack to this day last I checked, which was recently. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "If you were an intrepid developer, you could go into the Stack Orchestrator code and run that yourself and put that into production yourself right now. But the problem with that is it's very expensive to generate this evidence. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Its computationally very expensive, and specifically, disk I/O operations are very expensive activities to do. So as a Dapp developer, when you have very few users, you can run this reasonably on the laptop. But as your app grows, or if you're wanting to see all of the Uniswap V3 pool data, then a laptop's not going to be able to process that in a timely manner necessarily. I mean, laptops are pretty powerful so some of them can, but maybe not all of them. And at that point, you need hardware. And when you need hardware, you then have this problem of, \"Okay, well am I going to buy hardware and rack it in a data center?\" That's probably not a viable answer."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Am I going to go to AWS? Well, AWS is centralized, there are all sorts of problems. There's censorship for instance. AWS may choose to comply with a law that I'm not legally obligated to comply with. We've seen this issue with Alchemy and Infura, and these solutions comply with the laws in their jurisdiction, but the Dapp developer is in a different jurisdiction. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "So then you end up with this situation; \"Okay, well if I want to have multiple service providers actually serving this data to users, they need to be in multiple jurisdictions.\" And that's what Laconic LLC solves. It's a Cayman Island LLC. We have members in different jurisdictions and those members will contract with the end users and comply with those laws in that way."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Laconic and Cosmos"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic team members were also core contributors to Cosmos SDKwe did a bunch of work on the Cosmos SDK. The data structures in Ethereum and the data structures in Cosmos and many other blockchains were designed to facilitate consensus, not to facilitate reading the data back out. And so in those architectures, there's utility in taking the techniques that we've applied to Ethereum and applying them to those other chains."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There is a value and utility to taking those techniques and applying them to the Cosmos SDK chains. Osmosis is an example of where it would be useful. For example, you can't have a block explorer that works across Cosmos Hub upgrades. No one's ever bothered to build one that works that way. If you built the block explorer on top of Laconic instead of directly on top of the chain, you would actually be able to provide that continuity."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Every time a Cosmos chain upgrades, they regenesis and restart the chain. When you start that new genesis, peoplejust as a matter of conveniencedon't preserve that data. You don't have a way of representing the irregular state change that happens during the upgrade. Whereas in the Laconic system, we have a means of doing all those things. We can link any two arbitrary chains together and we have a means of representing these arbitrary state changes. We can provide that continuity as a service."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Incentive Alignment "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Because we're IPLD based, we actually can relatively easily take our archive and push it into Filecoin, where there can then be this clear monetization strategy for storing the data. Because we monetize the transmission of the data, which is a much easier problem to solve than the verifiable storage of Filecoin, we're providing an incentive for why someone would do that. Think about it. There are different incentives throughout the process. There's an incentive for including the transaction. That incentive is very clear, but there's not really any incentive in any blockchain I'm aware of for why I should then send that data. Why should I satisfy a read from a user? A user asks for a read, and why do I care?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "That's what Laconic is trying to solvewe're incentivizing the reading of that data. And by incentivizing the reading of that data, that's step number two. Now we can talk about the incentives of step number three, which is a long-term persistent storage of that data. Because if you think about just having the incentives of just Filecoin and just Ethereum, you have this gap in the middle. Why do I take the Ethereum data and transform that and publish it to Filecoin? There's not really an incentive for me to do that."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Whereas with Laconic, there starts to become more of an incentive to do that because I need to support my own read infrastructure. People will come to you and know to come to a single place to get their historic reads as well as their more recent reads. And so youll be incentivized to charge them. There will already be an ecosystem in place where people are accustomed to paying for data. And when they want to pay for old data or new data, they'll come to the same place, buy that data, and that will incentivize archival storage. Right now we don't have a very good model for why archival storage persists. And it is a real mechanism design issue actually."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Laconic and IPLD"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "InterPlanetary Linked Data (IPLD) is the core of our system. The first thing we do is take the Ethereum data, which could be any blockchain or any hash linked data structure, and we convert that into an IPLD object. We then index it in that context. Were storing the RLP encoded bytes, but we are also storing the CID (Content ID), the multi-format address of that object. That's how we're able to generate evidence."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "On Ethereum, you have transaction receipts and you have the event messages. When you have an event message on Ethereum, the event message does not prove all the way back up to the root. So when you have a set of events, which is what The Graph consumes, the way that you prove that event is correct is that you find the block that that event was in, and then you rerun that whole block and at the end of it you see if you have the same event that you started with. Whereas, if I have an account balance on Ethereum, I have a block number and then I can get a proof. So I don't have to recompute the whole block to figure out the account balance in that block. I just get the proof from the Ethereum client about that account balance at that block, and I can present that proof and the balance to the user using eth_getProof."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "But the actual logs in Ethereum are not provable in this way. This is why The Graph isn't provable and there are a lot of consequences from this. But because we use IPLD, we can create those hash links. Where the link was missing in the original Ethereum protocol, we can augment that protocol and generate a proof using the Ethereum data and our additional links, which are relatively easily. It's not some weird, crazy different format. It's this format that is very similar to the existing Ethereum formats, that prove that this log actually came from this block."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Laconic Member Validators"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Laconic L2 has seven Founding Members right now. These seven Members validate, ingest the blocks, and make commitments to the state of those blocks. They then share that information with a paying customer. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "There are plans to increase the validator set. From a customer perspective, if our customer is a Dapp developer and they're saying, “right now I have to use Infura, Alchemy, Blocknative to assert that my data is correct because if one of them goes down for whatever reason, that's three right there.” "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "That sounds like a pain in the ass. With Laconic, you integrate one protocol and you get seven Member Validators instead of three, and you get an assertion from us that you can verify yourself that we're actually physically located in different places. Alchemy and Infura both run in AWS, I presume. If AWS goes down, you just lost two out of your three, if not all three out of your three in that case. Seven is a low number, but seven is incredibly high compared to what people have right now, or they think they have four and they have one, whereas we're positively asserting that you have seven."
}
]
},
{
"type": "heading",
"level": 3,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "RPC Services and Laconic"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "On the path to building Watchers, we realized we had to build extremely performant RPC endpoints, and we had to build out a deployment system. We realized that that was actually what people wanted to buy from us. Most Dapps dont want to bother with Watchers right now. What they want to see is this immediate savings on the RPC endpoint side. From there, oncet our foot is in the door, we can say, \"Well, we can give you even more savings. You are using that RPC endpoint to build your own indexer. We have a whole library of tools to build indexers that will auto-generate indexers for you. And we have a marketplace where you can go to get other people to run that indexer for you when you don't want to scale it.\""
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Currently, RPC endpoints are subsidized by VCs. Dapp developers are never experiencing the true cost of running an indexing service or running an RPC endpoint. They're not exposed to that in a free market way. There's this actor, this venture capitalist, who is going in and giving away free samples at a massive scale. The challenge for us is in how we compete with that? There's also a challenge in that our customers are depending on this centralization service and don't realize it. "
}
]
}
]
}
}
},
"featured": false,
"id": "64080923",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,570 @@
{
"data": {
"blogPost": {
"slug": "trends",
"title": "A Look Ahead at Crypto in 2023",
"date": "2023-01-05",
"category": [
{
"id": "6311819",
"slug": "insights",
"title": "Insights"
}
],
"author": {
"id": "55457832",
"name": "Michael Gushansky"
},
"image": {
"url": "/images/site_content/blogPost/trends.png"
},
"content": {
"blocks": [
{
"id": "63885761",
"title": "Prop 82"
},
{
"id": "63885758",
"title": "Akash Validator Set"
}
],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "So much has changed in the last year due in large part to a seemingly unpredictable sequence of epic market failures. Despite this, were still here trying to predict the unpredictable. As the dust settles from a cascade of collapses including FTX, Terra, 3AC, and many others, the direction crypto must take to become viable is now clearer. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "We find ourselves in a strange position. We built protocols that actually work under immense market pressure, showing some of the promise of decentralized systems. However, that pressure came from deeply irresponsible market manipulation and behavior. How do we make sense of the fallout, and do better. "
}
]
},
{
"type": "heading",
"level": 1,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Blockchain Regulation: its coming"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": ""
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "First, this space is about to get regulated. The "
},
{
"url": "https://www.pillsburylaw.com/en/news-and-insights/digital-commodities-consumer-protection-act-digital-assets.html",
"type": "link",
"children": [
{
"type": "span",
"value": "Digital Commodities Consumer Protection Act"
}
]
},
{
"type": "span",
"value": " (DCCPA) looms in the wake of FTXs demise and Sam Bankman Frieds increasingly radioactive support of the bill. The DCCPA aims to give the CFTC primary jurisdiction over crypto exchanges. This would establish the commission as the authority on spot, margined and leveraged digital commodity trades. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The bill, however, does not outline processes for classifying assets as commodities and securities. This is relevant because the Securities and Exchange Commission (SEC), which under Gary Gensler has increasingly strived for more oversight, currently qualifies most crypto, aside from Bitcoin, as a security. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "In Europe the new Markets in Crypto Assets Regulation (MiCA) aims to regulate dollar-pegged stablecoins, controlling transaction count and volume limits which, "
},
{
"url": "https://www.reuters.com/technology/eu-crypto-rules-set-cap-dollar-pegged-stablecoins-2022-10-07/#:~:text=LONDON%2C%20Oct%207%20(Reuters),competitiveness%2C%20industry%20representatives%20have%20said.",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "according to Reuters"
}
]
},
{
"type": "span",
"value": ", are already exceeded by the three largest stablecoins, Binance USD, USD Coin & Tether. Stablecoin volume has increased dramatically over the last several years and a cap or ban could hinder the crypto ecosystem overall. Crypto regulation and the conversations around asset classifications, regulatory purview, and stablecoin usage will be defining battlegrounds in 2023. "
}
]
},
{
"type": "heading",
"level": 1,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Decentralization: yes it matters"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": ""
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Increasing regulatory pressure will force crypto projects to re-focus on achieving actual decentralization; not just to avoid legal consequences but also to empower more equitable and effective on-chain governance. Although there is no official guidance from the SEC, commissioner "
},
{
"type": "span",
"marks": [
"underline"
],
"value": "Hester Pierces Safe Harbor Proposa"
},
{
"type": "span",
"value": "l has served as a guiding light for those interested. The proposal suggests networks must achieve sufficient decentralization within three years, meaning networks should not be controlled by a single individual or group of individuals. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Tokens must also be used to exchange value pertaining to the network. The token should be sold for facilitating access to, participation on, or development of the network. Essentially, if its a decentralized network, validators/investors/teams cannot control majority stake. If the network has a token, then the token needs to be used for something "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "actually"
},
{
"type": "span",
"value": " intrinsic to network operationsit cant just be a fundraising vehicle."
}
]
},
{
"type": "heading",
"level": 1,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "On-Chain Governance"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": ""
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Weve touched on a number of external forces impacting networks but what about internal forces? On-chain governance is rapidly evolving. Usage of proof of stake (PoS) consensus has grown over the last several years in part due to a dramatic reduction in power consumption, and also because of increased flexibility to affect significant changes to network parameters. With voting power relative to stake, stake concentrated in the hands of a few entities can present unique and potentially insurmountable challenges to achieving sufficient decentralization."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The Cosmos ecosystem is a particularly fascinating testing ground for on-chain governance. From the controversial "
},
{
"url": "https://www.mintscan.io/juno/proposals/16",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Juno Prop 16"
}
]
},
{
"type": "span",
"value": " which resulted in on-chain confiscation of user funds, to the equally controversial "
},
{
"url": "https://www.mintscan.io/cosmos/proposals/82",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Cosmos Prop 82"
}
]
},
{
"type": "span",
"value": " which put forward an entirely new paradigm for Cosmos Hub utility and ATOM value capture, the Cosmos ecosystem has been trailblazing governance processes and implementation. "
}
]
},
{
"item": "63885761",
"type": "block"
},
{
"type": "heading",
"level": 1,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Whats at Stake?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": ""
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "One of the main issues were seeing now is the disproportionate concentration of stake. In Cosmos for instance, the top 5 out of 150 "
},
{
"url": "https://www.mintscan.io/juno/validators",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Juno validators"
}
]
},
{
"type": "span",
"value": " control 25% of the network. The top 5 out of 175 "
},
{
"url": "https://www.mintscan.io/cosmos/validators",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Cosmos validators"
}
]
},
{
"type": "span",
"value": " control 25% as well. The top 5 out of 100 "
},
{
"url": "https://www.mintscan.io/akash/validators",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Akash validators"
}
]
},
{
"type": "span",
"value": " control 37%. "
}
]
},
{
"item": "63885758",
"type": "block"
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "In Ethereum, "
},
{
"url": "https://cointelegraph.com/news/64-of-staked-eth-controlled-by-five-entities-nansen",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "according to Nansen"
}
]
},
{
"type": "span",
"value": ", there are 5 entities that control 64% of staked Ether. Although only 11% of circulating ETH is staked, among 426,000 validators, three major cryptocurrency exchanges account for 30% of the total staked ETH, with Lido DAO accounting for 31%. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "If the top 4-5 Validators control 1/4 of the stake and, at times more, of a network, is the network really decentralized? If an exchange like Binance or Huobi can buy up large volumes of tokens, enter the top validator slots, and through governance, make substantive changes to the network for their own benefit, is that network truly decentralized? There are valid arguments on both sides. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Theres an argument that these networks are permissionless and any entity can engage in governance by purchasing tokens and staking them, so in theory, they are decentralized. In practice, power is often concentrated in the hands of a few entities with a majority of the tokens. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The current Cosmos governance landscape is also fascinating because many pivotal governance mechanisms and network changes are being deliberated simultaneously. Should there be a constitution? Should there be larger deposit requirements for proposals? Should ATOM issuance be changed to fund network growth initiativescompletely repurposing the network in the process? Cosmos will continue to innovate on-chain governance. As Cosmos gains more visibility, developers will adapt components of Cosmos governance for their purposes. "
}
]
},
{
"type": "heading",
"level": 1,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Novel Solutions to Cryptos Most Existential Problems"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": ""
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "As we look ahead to 2023, Laconic is well positioned to address these issues. Laconic Network leverages Cosmos technology and is run by an LLC that is designed to comply with the laws within its jurisdiction and to allow each member to comply with the laws within their jurisdiction. Geographic distribution of member validators strengthens the network's resilience to nation specific sanctions. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Additionally each member validator is given one vote and all votes are equally weighted. This eliminates uneven distribution of voting power typically seen in delegated proof of stake networks. Laconic Network also makes it clear that Laconic Network Token (LNT) is treated as a loyalty point and for prepayment of services, and is not a security or currency. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "For more on the Laconic Network Governance model and how it addresses the fundamental issues around asset classification, token usage, PoS networks and regulation, you can check out “"
},
{
"url": "https://www.laconic.com/blog/laconic-governance-model",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "A New Governance Model for the New Web"
}
]
},
{
"type": "span",
"value": ".” "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Crypto isnt going anywhere, but we will need to build safer and more decentralized systems, and work within a more aggressive regulatory environment. "
}
]
}
]
}
}
},
"featured": false,
"id": "63853186",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,671 @@
{
"data": {
"blogPost": {
"slug": "why-decentralization-matters",
"title": "Why Decentralization Matters ",
"date": "2022-11-22",
"category": [
{
"id": "6311819",
"slug": "insights",
"title": "Insights"
}
],
"author": {
"id": "55641250",
"name": "Joshua Eustis"
},
"image": {
"url": "/images/site_content/blogPost/why-decentralization-matters.png"
},
"content": {
"blocks": [
{
"id": "61461493",
"title": "Blockchain Trilemma"
}
],
"links": [],
"value": {
"schema": "dast",
"document": {
"type": "root",
"children": [
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "The emergence of any technology brings with it new language, and changes or expands the possible meanings of existing terms. Blockchain, of course, is no exception—and almost any discussion of it will include lots of talk about decentralization. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "We should probably start with a definition. In the context of blockchain, "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "decentralization"
},
{
"type": "span",
"value": " denotes the transfer of ownership and governance to the many from the few. Think of the differences between Prince, a solo songwriter and performer who insisted on absolute and final control over his artistic output, and the Beatles, a band that (despite their well-known internal power struggles) had no designated “lead” singer or sole songwriter. While decentralization may not require absolute accord, it does locate power across a system rather than in one designated point. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Its worth noting that many in the Web3 world use the terms "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "decentralized "
},
{
"type": "span",
"value": "and "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "distributed"
},
{
"type": "span",
"value": " interchangeably"
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": ", "
},
{
"type": "span",
"value": "but this is technically incorrect. In the context of the blockchain, "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "distributed"
},
{
"type": "span",
"value": " refers not to ownership or governance, but only to the distribution of parties (in most cases, servers) across a physical or digital space.\n\nIn this context, decentralization isn't a binary value. Instead, it describes the values and characteristics of a system that deliberately locates significant aspects of power across a defined system, rather than at a single point within it. "
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "But, like, what does decentralization "
},
{
"type": "span",
"marks": [
"strong",
"emphasis"
],
"value": "do?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Decentralization is one of the primary innovations that powers blockchains. As the number of parties participating in the consensus mechanism of a blockchain increases, so does its level of decentralization. Participants' consensus about a given digital truth replaces the need for individual trust agreements, while establishing credible censorship resistance for anyone who wants to "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "do something"
},
{
"type": "span",
"value": " on that blockchain. Any transaction is agreed upon by all, which allows any two parties to transact without first establishing a specific shared trust. This removes the need for oversight by a third party—for example, a \"financial panopticon\" established to prevent fraud—and reduces associated privacy and security risk. "
}
]
},
{
"item": "61461493",
"type": "block"
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Decentralization plays a key role in the Blockchain Trilemma—the need to balance decentralization, security, and scalability. A blockchain's level of decentralization is directly proportional to its ability to withstand attacks from inside or outside the network, and directly correlated with its level of neutrality, with greater decentralization linked to stronger censorship resistance and spam-resistant pricing. "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "One of the most exciting things about decentralization is that the digital truth agreed upon via consensus may be proven by anyone running a node. Network participants must uphold the established consensus when making new blocks, or their stake will be slashed—they'll lose a significant portion of the benefits of entry. And while block producers are referred to as "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "validators"
},
{
"type": "span",
"value": ", they perform no defined validation action. Instead, they have a financial incentive to act upon the truth determined by a decentralized quorum of participants."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "As the number of participants in a blockchain increases, so does the power of decentralization, preventing participants from stealing someone elses assets by manipulating transactions submitted for block inclusion. Each member controls the private key for a specific address, so no one can censor or manipulate a transaction once its been submitted. In the broadest sense, this system operates counter to centralized payment protocols such as PayPal, which censors transactions and even "
},
{
"url": "https://www.forbes.com/sites/emilymason/2022/10/27/after-paypal-revokes-controversial-misinformation-policy-major-concerns-remain-over-2500-fine/?sh=2e5a914c30c4",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "levies fines on users for not obeying a set of internally derived rules."
}
]
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Until recently, says Laconic cofounder and chief protocol designer Rick Dudley, “weve mostly been concerned with usurious intermediaries. So maybe its best to think about "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "disintermediation"
},
{
"type": "span",
"value": " as a primary goal within a decentralized system.\" Profit-driven intermediation, he notes, \"is also far more difficult to add to a well-decentralized system, which resists usury by nature.”"
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Look, I dont care about jpegs or digital Monopoly money. Whats in it for me?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Decentralization doesn't just increase the security of financial assets ... or ape GIFs No one party controls the decentralized network, so "
},
{
"url": "https://www.coindesk.com/business/2022/06/29/coinbase-is-reportedly-selling-geo-location-data-to-ice/",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "your pedigree information can't be given or sold to corporations, governments, or any other third parties without your consent"
}
]
},
{
"type": "span",
"value": ", as is dismayingly common on Web2 platforms. Decentralization can also protect network members from arbitrary moralities of a market subset—think the ejection of sex workers from Craigslist, protesters losing their financial platforms under political pressure, or citizens prevented from transacting by their government."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Anything else?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Decentralization also maximizes data reliability. A single point of failure can affect huge swaths of the public; imagine the effects of destroying the only server farm servicing a specific bank. Of course, to mitigate the risks associated with power outages, simple server failures, or even terrorist attacks, banks geographically "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "distribute"
},
{
"type": "span",
"value": " their servers, with multiple parties storing multiple copies of data in multiple places across a "
},
{
"type": "span",
"marks": [
"emphasis"
],
"value": "decentralized"
},
{
"type": "span",
"value": " network. "
},
{
"url": "https://en.wikipedia.org/wiki/Byzantine_fault",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Even if a large portion of its participants were to go dark, the network would still function."
},
{
"type": "span",
"value": "\n\n"
}
]
},
{
"type": "span",
"value": "In this scenario, the bank is protected—though you, as a user of the bank, are vulnerable to having your transactions watched, censored, or thrown out altogether. The contents of your account can also be "
},
{
"url": "https://ij.org/report/policing-for-profit-2/grading-state-federal-civil-forfeiture-laws/irs-cleans-out-bank-accounts/",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "seized for potentially arbitrary or extralegal reasons"
}
]
},
{
"type": "span",
"value": ". As the recent "
},
{
"url": "https://cointelegraph.com/news/bitcoin-sinks-to-new-yearly-low-at-16-8k-as-ftx-insolvency-fears-turn-into-contagion",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "FTX meltdown"
}
]
},
{
"type": "span",
"value": " made all too clear, centralized cryptocurrency exchanges are even more precarious—and because of their inherent lack of regulation, "
},
{
"url": "https://www.forbes.com/sites/haileylennon/2022/08/01/bankrupt-crypto-lender-celsius-could-leave-customers-last-in-line-to-get-paid/?sh=4c4005ea5fde",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "prone to leave retail investors holding the bag"
}
]
},
{
"type": "span",
"value": ". A more decentralized system could offer individual users far more protection against institutional controls, not to mention far less potential for reckless mismanagement by those holding the keys."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "Still a long way to go"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Decentralizing a protocol or network still poses many challenges. Foremost among them is the fact that "
},
{
"url": "https://www.weforum.org/agenda/2016/05/joseph-stiglitz-are-markets-efficient-or-do-they-tend-towards-monopoly-the-verdict-is-in/",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "markets tend to direct capital to the few and not the many"
}
]
},
{
"type": "span",
"value": ". Our current way of life is undergirded by a system that counters decentralization at every level, moving power away from the majority. Accepting decentralized systems in the physical world would require changing much of how we think about how society is arranged, and about "
},
{
"url": "https://www.latimes.com/opinion/op-ed/la-oe-pascrell-live-nation-concert-ticketing-20180517-story.html",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "rapidly shrinking"
}
]
},
{
"type": "span",
"value": " access to competition under late capitalism."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Another key point: Governments that cannot monitor private transactions often attempt to sanction users of protocols that protect the anonymity afforded by robust, decentralized censorship resistance. Such moves can be used to"
},
{
"url": "https://home.treasury.gov/policy-issues/financial-sanctions/sanctions-programs-and-country-information/iran-sanctions",
"type": "link",
"children": [
{
"type": "span",
"value": " "
},
{
"type": "span",
"marks": [
"underline"
],
"value": "uphold international sanctions"
}
]
},
{
"type": "span",
"value": "—or "
},
{
"url": "https://www.wsj.com/articles/crypto-advocacy-group-sues-u-s-treasury-over-tornado-cash-sanctions-11665610506?mod=article_inline",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "oppress a governments own citizenry"
}
]
},
{
"type": "span",
"value": ". "
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "One of the most glaring problems of decentralization is Web3 spaces' level of volatility. While money laundering has existed since the beginning of money (and would continue even if all the blockchains in the world were to vanish), there's enough money laundering, wash trading, and socially engineered theft on blockchain networks to lead regulators to sanction, "
},
{
"url": "https://www.coindesk.com/policy/2022/08/21/arrest-of-tornado-cash-developer-draws-dutch-crypto-community-protest/",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "or even imprison"
}
]
},
{
"type": "span",
"value": ", participants and even developers—while hinders true decentralization across the ecosystem. If we want to make the ecosystem safe for everyone, we've got a lot of housecleaning to do."
}
]
},
{
"type": "heading",
"level": 2,
"children": [
{
"type": "span",
"marks": [
"strong"
],
"value": "So where does Laconic come in?"
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Decentralization is a core feature of the Laconic Network, delivering all of the benefits we've described—uptime, security, affordability, censorship resistance, and fair, consensus-driven governance. The network's seven founding Members, and 60+ additional Members spread across multiple jurisdictions, each run their own hardware, making it highly resistant to concentrated server failures, tampering by individual bad actors, and hostile takeovers."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Each Member serves the network by running "
},
{
"url": "https://www.laconic.com/blog/laconic-watchers",
"type": "link",
"children": [
{
"type": "span",
"marks": [
"underline"
],
"value": "Watchers,"
}
]
},
{
"type": "span",
"value": " smaller caches of specific data commonly used by, for example, DApp developers. There's no single point of failure—if any one Service Provider fails, other Members can ensure Watcher uptime."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Decentralization will drive even more benefits as the network matures. Laconic Network customers can purchase data directly from Service Providers, which compete to win customers through low prices, at the same time exerting downward pressure on data prices across the industry."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Finally, while geographically diverse traditional networks can be subject to an incredibly complex web of national and local laws, participants in the decentralized Laconic Network need comply only with those laws governing their own jurisdictions. “In each jurisdiction,\" explains Dudley, \"varying and often contradictory regulations or sanctions can interfere with or contradict one another, making global compliance difficult. The goal is to be compliant in our jurisdiction, while allowing our users to be compliant in each of theirs.” Each Laconic Stack user decides how best to comply with the laws of their jurisdiction. The biggest benefit here, though, is that under this model, no single governing body has the power to determine a specific flow of data."
}
]
},
{
"type": "paragraph",
"children": [
{
"type": "span",
"value": "Decentralization is at the heart of Web3, and key to all major benefits of the blockchain. As a structure, it has the power to offer the most benefit to the largest group of people, making it more difficult for the few to hoard power or capital at the expense of the many. But for blockchain, and the larger Web3 ecosystem, to reach its full potential, we must work toward broad understanding of the benefits and pitfalls of decentralized networks. Only then can we begin to calm the waters of Web3, and remove the sharks for the next billion users we hope to bring with us."
}
]
}
]
}
}
},
"featured": true,
"id": "61461416",
"_status": "published",
"_seoMetaTags": [
{
"attributes": null,
"content": "Blog Post Title",
"tag": "title"
},
{
"attributes": {
"property": "og:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:title",
"content": "Blog Post Title"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:image",
"content": "/images/site_content/blogPost/blog-post-slug.png?auto=format&fit=max&w=1200"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:locale",
"content": "en"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "og:type",
"content": "article"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"property": "article:modified_time",
"content": "1999-09-09T00:00:00Z"
},
"content": null,
"tag": "meta"
},
{
"attributes": {
"name": "twitter:card",
"content": "summary"
},
"content": null,
"tag": "meta"
}
]
}
}
}

View File

@ -0,0 +1,73 @@
{
"data": {
"careersPage": {
"heroHeading": "Build the Future Now",
"heroLine": "Join Laconic to build a decentralized future.",
"valuesHeading": "Values",
"valuesPoint01Head": "Precision",
"valuesPoint01Image": {
"url": "/images/site_content/careersPage/valuesPoint01Image.png"
},
"valuesPoint01ImageLight": {
"url": "/images/site_content/careersPage/valuesPoint01ImageLight.png"
},
"valuesPoint01Line": "The quality, condition or fact of being exact and accurate",
"valuesPoint02Head": "Elegance",
"valuesPoint02Image": {
"url": "/images/site_content/careersPage/valuesPoint02Image.png"
},
"valuesPoint02ImageLight": {
"url": "/images/site_content/careersPage/valuesPoint02ImageLight.png"
},
"valuesPoint02Line": "The quality of being pleasingly ingenious and simple",
"valuesPoint03Head": "Self-Sovereignty",
"valuesPoint03Image": {
"url": "/images/site_content/careersPage/valuesPoint03Image.png"
},
"valuesPoint03ImageLight": {
"url": "/images/site_content/careersPage/valuesPoint03ImageLight.png"
},
"valuesPoint03Line": "The quality of controlling ones own accounts and data",
"valuesPoint04Head": "Curiosity",
"valuesPoint04Image": {
"url": "/images/site_content/careersPage/valuesPoint04Image.png"
},
"valuesPoint04ImageLight": {
"url": "/images/site_content/careersPage/valuesPoint04ImageLight.png"
},
"valuesPoint04Line": "A strong desire to know or learn something",
"whyHeading": "Why Join Laconic Network?",
"whyPoint01Img": {
"url": "/images/site_content/careersPage/whyPoint01Img.png"
},
"whyPoint01Line": "Build the future now",
"whyPoint02Img": {
"url": "/images/site_content/careersPage/whyPoint02Img.png"
},
"whyPoint02Line": "Solve big challenges",
"whyPoint03Img": {
"url": "/images/site_content/careersPage/whyPoint03Img.png"
},
"whyPoint03Line": "Work around the world",
"whyPoint04Img": {
"url": "/images/site_content/careersPage/whyPoint04Img.png"
},
"whyPoint04Line": "Fair and equitable environment",
"whyPoint05Img": {
"url": "/images/site_content/careersPage/whyPoint05Img.png"
},
"whyPoint05Line": "Growth opportunities",
"whyPoint06Img": {
"url": "/images/site_content/careersPage/whyPoint06Img.png"
},
"whyPoint06Line": "Freedom and flexibility",
"whyHeadNumber": "06",
"positionsHeading": "Open Positions",
"positionsHeadingNumber": "06",
"positionsLinkLabel": "Apply now",
"positionsXylmHead": "Xylm",
"positionsDeepstackHead": "Deep Stack",
"positionsCercHead": "Cerc"
}
}
}

View File

@ -0,0 +1,7 @@
========NEXT_PUBLIC_DATOCMS_BYPASS /json/site_content/category/_readme.txt
-The JSON files in this directory were added for completion when migrating away from datocms
-To my knowledge this specific node is a dead end that is not linked to or iterated in any way
-That is to say, there is no linking out to a specific 'category' page
-The links to specific categories on the blog home page were removed, as they were not even working prior to migration
-The node(s) only exists in the /json/site_content/author/blogPosts JSON files
-The nodes are then scraped FROM those JSON files when looking for blog post relations via category

View File

@ -0,0 +1,9 @@
{
"data": {
"category": {
"title": "Category Title",
"slug": "category-title",
"id": "1234567"
}
}
}

View File

@ -0,0 +1,9 @@
{
"data": {
"category": {
"id": "6311820",
"slug": "developers",
"title": "Developers"
}
}
}

View File

@ -0,0 +1,9 @@
{
"data": {
"category": {
"id": "6311819",
"slug": "insights",
"title": "Insights"
}
}
}

View File

@ -0,0 +1,9 @@
{
"data": {
"category": {
"id": "2965426",
"slug": "news",
"title": "News"
}
}
}

View File

@ -0,0 +1,9 @@
{
"data": {
"category": {
"id": "3545001",
"slug": "partners",
"title": "Partners"
}
}
}

View File

@ -0,0 +1,9 @@
{
"data": {
"category": {
"id": "3545003",
"slug": "product",
"title": "Product"
}
}
}

View File

@ -0,0 +1,31 @@
{
"data": {
"communityPage": {
"heroButton01": "JOIN US",
"heroButton02": "GET STARTED",
"heroDescription": "Join us to accelerate Web3 development, interoperability, and adoption.",
"heroHeading": "Laconic Community",
"heroB01Link": "https://discord.com/invite/ukhbBemyxY",
"heroB02Link": "https://github.com/cerc-io/stack-orchestrator",
"eventsHeading": "Events",
"eventsDescription": "Wed love to meet you in person. Find us at an event near you:",
"socialsHeading": "Connect with Us",
"socialsHeadingAlt": "Join Our Community",
"socialsLine": "GET IN TOUCH",
"socialsImage": {
"url": "/images/site_content/communityPage/socialsImage.png"
},
"socialsImageLight": {
"url": "/images/site_content/communityPage/socialsImageLight.png"
},
"socialsTwitter": "https://twitter.com/laconicnetwork",
"socialsDiscord": "https://discord.com/invite/ukhbBemyxY",
"socialsYoutube": "https://www.youtube.com/@Laconic-Network",
"socialsReddit": "https://www.reddit.com/r/LaconicNetwork/",
"socialsTelegram": "https://t.me/laconicnetwork",
"socialsLinkedin": "https://www.linkedin.com/company/laconic-network/",
"socialsFacebook": "https://www.facebook.com/laconicnetwork",
"socialsInstagram": "https://instagram.com/laconicnetwork"
}
}
}

View File

@ -0,0 +1,41 @@
{
"data": {
"contactPage": {
"heroHeading": "Get in Touch",
"heroLine": "For general or technical inquiries",
"heroLink": "https://discord.com/invite/ukhbBemyxY",
"heroMobileLinkLabel": "CONTACT US",
"formHeading": "Contact Form",
"formWarning": "ALL FIELDS ARE REQUIRED",
"formLabelEmail": "Email",
"formPlaceholderEmail": "email@email.com*",
"formLabelMsg": "Message",
"formPlaceholderMsg": "Write a message or a comment*",
"formLabelPartner": "Type of inquiry",
"formPlaceholderPartner": "Inquiry*",
"formSelectOptions": [
{
"value": "Partnership",
"label": "Partnership"
},
{
"value": "Validator",
"label": "Validator/Member"
},
{
"value": "Investor",
"label": "Investor"
},
{
"value": "Press",
"label": "Press"
},
{
"value": "Marketing",
"label": "Marketing"
}
],
"formLabelButton": "SUBMIT MESSAGE"
}
}
}

View File

@ -0,0 +1,16 @@
{
"data": {
"event": {
"title": "Mainnet",
"eventDesc": "Mainnet is an immersive, agenda-setting summit held annually by Messari.",
"eventStartdate": "2022-09-21",
"eventEnddate": "2022-09-23",
"eventLocation": "New York, USA",
"id": "14069499",
"image": {
"url": "/images/site_content/event/20220921-mainnet.png"
},
"link": "https://mainnet.events/"
}
}
}

View File

@ -0,0 +1,16 @@
{
"data": {
"event": {
"title": "Cosmoverse",
"eventDesc": "The legendary Cosmos Conference",
"eventStartdate": "2022-09-27",
"eventEnddate": "2022-09-28",
"eventLocation": "Medellin, Colombia",
"id": "14094472",
"image": {
"url": "/images/site_content/event/20220927-cosmoverse.png"
},
"link": "https://www.cosmoverse.org/"
}
}
}

View File

@ -0,0 +1,16 @@
{
"data": {
"event": {
"title": "Devcon",
"eventDesc": "Devcon is an intensive introduction for new Ethereum explorers, a global family reunion for those already a part of our ecosystem, and a source of energy and creativity for all.",
"eventStartdate": "2022-10-07",
"eventEnddate": "2022-10-14",
"eventLocation": " Bogota, Colombia",
"id": "14069491",
"image": {
"url": "/images/site_content/event/20221007-devcon.png"
},
"link": "https://devcon.org/en/"
}
}
}

View File

@ -0,0 +1,16 @@
{
"data": {
"event": {
"title": "ETH SF",
"eventDesc": "ETHSanFrancisco 2022 will be the years premier Ethereum event on the west coast, so dont miss your chance to see your SF friends' apartments one last time before they move to Miami.",
"eventStartdate": "2022-11-03",
"eventEnddate": "2022-11-05",
"eventLocation": "San Francisco, USA",
"id": "14094487",
"image": {
"url": "/images/site_content/event/20221103-eth-sf.png"
},
"link": "https://sf.ethglobal.com/"
}
}
}

View File

@ -0,0 +1,16 @@
{
"data": {
"event": {
"title": "Event Title",
"eventDesc": "Event Description",
"eventStartdate": "2023-09-27",
"eventEnddate": "2023-09-28",
"eventLocation": "Event, Location",
"id": "12345678",
"image": {
"url": "/images/site_content/event/_default.jpg"
},
"link": "https://www.google.com/"
}
}
}

View File

@ -0,0 +1,123 @@
{
"data": {
"footer": {
"aboutLinks": [
{
"href": "/about",
"title": "About"
},
{
"href": "/about",
"title": "Vision"
},
{
"href": "/about#team",
"title": "Team"
},
{
"href": "/partners",
"title": "Partners"
},
{
"href": "/careers",
"title": "Careers"
},
{
"href": "/contact",
"title": "Contact"
},
{
"href": "/assets/laconic-logo-assets.zip",
"title": "Brand"
}
],
"communityLinks": [
{
"href": "/community",
"title": "Community"
},
{
"href": "/community#events",
"title": "Events"
}
],
"connectLinks": [
{
"href": "https://twitter.com/laconicnetwork",
"title": "Twitter"
},
{
"href": "https://discord.com/invite/ukhbBemyxY",
"title": "Discord"
},
{
"href": "https://www.youtube.com/@Laconic-Network",
"title": "Youtube"
},
{
"href": "https://www.reddit.com/r/LaconicNetwork/",
"title": "Reddit"
},
{
"href": "https://t.me/laconicnetwork",
"title": "Telegram"
},
{
"href": "https://www.linkedin.com/company/laconic-network/",
"title": "Linkedin"
},
{
"href": "https://www.facebook.com/laconicnetwork",
"title": "Facebook"
},
{
"href": "https://instagram.com/laconicnetwork",
"title": "Instagram"
}
],
"developerLinks": [
{
"title": "Developers"
},
{
"href": "https://github.com/LaconicNetwork",
"title": "Github"
},
{
"href": "/about/#roadmap",
"title": "Roadmap"
},
{
"href": "https://discord.com/invite/ukhbBemyxY",
"title": "Chat"
}
],
"productsLinks": [
{
"title": "Products",
"href": "/products"
},
{
"href": "/products/#laconicwatchers",
"title": "Watchers (SDK)"
},
{
"href": "/products/#laconicstack",
"title": "Laconic Stack"
},
{
"href": "/products/#laconicnetwork",
"title": "Laconic Network"
},
{
"href": "/products/#laconicapp",
"title": "Laconic App"
},
{
"href": "/products/#laconictoken",
"title": "(LNT) Token"
}
]
}
}
}

View File

@ -0,0 +1,119 @@
{
"data": {
"header": {
"navMenu": [
{
"href": null,
"title": "Developers",
"content": [
{
"href": "https://github.com/LaconicNetwork",
"title": "GitHub"
},
{
"href": "/about#roadmap",
"title": "Roadmap"
},
{
"href": "https://discord.com/invite/ukhbBemyxY",
"title": "Chat"
}
]
},
{
"href": "/products",
"title": "Products",
"content": [
{
"href": "/products#laconicwatchers",
"title": "Watchers (SDK)"
},
{
"href": "/products#laconicstack",
"title": "Stack"
},
{
"href": "/products#laconicnetwork",
"title": "Network"
},
{
"href": "/products#laconicapp",
"title": "App"
},
{
"href": "/products#laconictoken",
"title": "Network Token (LNT)"
}
]
},
{
"href": "/partners",
"title": "Partners",
"content": [
{
"href": "/partners#validators",
"title": "Member Validators"
},
{
"href": "/partners#providers",
"title": "Service Providers"
},
{
"href": "/partners#developers",
"title": "Developers"
},
{
"href": "/partners#investors",
"title": "Investors"
},
{
"href": "/partners#testnet",
"title": "Incentivized Testnet"
}
]
},
{
"href": "/about",
"title": "About",
"content": [
{
"href": "/about",
"title": "Vision"
},
{
"href": "/about#team",
"title": "Team"
},
{
"href": "/careers",
"title": "Careers"
},
{
"href": "/contact",
"title": "Contact"
},
{
"href": "/assets/laconic-logo-assets.zip",
"title": "Brand"
}
]
},
{
"href": "/community",
"title": "Community",
"content": [
{
"href": "/community#events",
"title": "Events"
}
]
},
{
"href": "/blog",
"title": "Blog",
"content": []
}
]
}
}
}

View File

@ -0,0 +1,34 @@
{
"data": {
"homePage": {
"heroHeading": "Build a <br class=\"hide-on-desktop\" /> <span class=\"highlight\">Fast, Frictionless, <br /> & Verifiable</span> Web3",
"heroButton01": "JOIN US",
"heroB01Link": "https://discord.com/invite/ukhbBemyxY",
"heroButton02": "LEARN MORE",
"heroB02Link": "https://laconic.com/blog",
"heroSlogan": "<p>From months to minutes. <br />Laconic&rsquo;s multi-chain verifiable data marketplace accelerates<br />development, interoperability, and adoption.</p>",
"benefitsDesc": "<p><span>Developed over five years by core Ethereum, IPLD / IPFS, and Cosmos SDK contributors, Laconic is <strong>a next generation data availability and verifiability layer with cryptographic proofs.<br /><br />Combined with the world's first peer-to-peer data marketplace, Laconic makes internet-scale Web3 applications and light clients possible.</strong></span></p>",
"benefitsHeading": "Why Laconic?",
"benefitsS01Desc": "Build blockchain applications faster, more efficiently, and at lower cost.",
"benefitsS01Heading": "For Developers",
"benefitsS01Item01": "Only solution with cryptographic proofs",
"benefitsS01Item02": "Composable, supports broad uses",
"benefitsS01Item03": "Quick automated setup",
"benefitsS01Item04": "Broad cross-chain compatibility",
"benefitsS01Item05": "Flexibility for all hash-linked data",
"benefitsS01Item06": "Lower development and data costs",
"benefitsS02Desc": "Experience unprecedented control, privacy, and usability.",
"benefitsS02Heading": "For App Users",
"benefitsS02Item01": "Greater data access and control",
"benefitsS02Item02": "In-browser local cache",
"benefitsS02Item03": "Optimal control of privacy levels",
"benefitsS02Item04": "Self-verify data accuracy",
"benefitsS02Item05": "Higher quality of service and uptime",
"benefitsS02Item06": "LNT rewards for network participation",
"benefitsButton": "Join Us",
"benefitsButtonLink": "https://discord.com/invite/ukhbBemyxY",
"othersHeading": "What Others Say",
"latestHeading": "Latest News"
}
}
}

View File

@ -0,0 +1,91 @@
{
"data": {
"partnersPage": {
"heroHeading": "Join Us to Build Web3",
"heroParagraph01": "Laconic is ushering in a new era of internet-scale Web3 applications. Were solving the hardest problems in Web3 by expanding access to verifiable data, and building a global incentivized peer-to-peer data marketplace.",
"heroParagraph02": "Interested in participating in the network? Individuals and organizations around the world with different levels of technical expertise can get involved:",
"oportunitiesDesc01": "Our Tendermint proof-of-stake (PoS) blockchain matches data consumers with service providers, and registers all of the available Laconic Watchers. In addition, the Laconic Network governance is all executed on-chain. Help us maintain the security of the blockchain and the Network by becoming a Laconic Member Validator.\n<br /> <br /> \n• Participate in the Incentivized Testnet<br /> \n• Run a Laconic Full-Index Node<br /> \n• Help index blockchain data<br /> \n• Host Watchers as a Service Provider",
"oportunitiesDesc02": "True internet-scale Web3 applications demand a robust and scalable data layer. Laconic Service Providers operate this layer by hosting Laconic Watchers that serve blockchain data to DApps. Earn by running the programs that provide DApp developers with their API endpoints.\n<br /> <br /> \n• Operate data-serving APIs<br /> \n• Receive payments from data consumers<br /> \n• Build the global cache of blockchain data",
"oportunitiesDesc03": "No longer will Web3 developers struggle with data queries and transformations when building ambitious DApps. The power of Laconic Watchers to specify, transform, and cache blockchain data, and to create custom APIs tailored to individual DApps, will transform Web3 development.\n<br /> <br /> \n• “Watch” any aspect of blockchain data<br /> \n• Transform that data programmatically<br /> \n• Build and expand on prior work - Watchers are composable<br /> \n• Verify your data cryptographically",
"oportunitiesDesc04": "Help us solve the fundamental problems of blockchain adoption and scalability by creating a novel network of indexers and data providers. Whether your interest lies in joining the network as a Member, or helping us build a new generation of Web3 products on the Laconic Network, there is an opportunity for you.<br /> <br /> \n\n• Become a Laconic Member through auctions<br /> \n• Pair with operators to run the Laconic Stack<br /> \n• Invest in the next generation of data-enabled Web3 apps",
"oportunitiesDesc05": "We are building the data scalability layer of all blockchains. This project requires professional operators who can manage hardware at scale. By participating in Laconic's Incentivized Testnet, you'll find out if you have what it takes to successfully run the Laconic Stack and meet our reliability and service quality standards. Completing the Incentivized Testnet is a prerequisite for bidding to become a Laconic Member.\n<br /> <br /> \n• Run the Laconic Stack<br /> \n• Complete challenges and improve the quality of the network<br /> \n• Earn rewards<br /> \n• Participate in Member auctions",
"oportunitiesHeading01": "Member Validators",
"oportunitiesHeading02": "Service Providers",
"oportunitiesHeading03": "Developers",
"oportunitiesHeading04": "Investors",
"oportunitiesHeading05": "Incentivized Testnet",
"oportunitiesImage01": {
"url": "/images/site_content/partnersPage/oportunitiesImage01.png"
},
"oportunitiesImage01Light": {
"url": "/images/site_content/partnersPage/oportunitiesImage01Light.png"
},
"oportunitiesImage02": {
"url": "/images/site_content/partnersPage/oportunitiesImage02.png"
},
"oportunitiesImage02Light": {
"url": "/images/site_content/partnersPage/oportunitiesImage02Light.png"
},
"oportunitiesImage03": {
"url": "/images/site_content/partnersPage/oportunitiesImage03.png"
},
"oportunitiesImage03Light": {
"url": "/images/site_content/partnersPage/oportunitiesImage03Light.png"
},
"oportunitiesImage04": {
"url": "/images/site_content/partnersPage/oportunitiesImage04.png"
},
"oportunitiesImage04Light": {
"url": "/images/site_content/partnersPage/oportunitiesImage04Light.png"
},
"oportunitiesImage05": {
"url": "/images/site_content/partnersPage/oportunitiesImage05.png"
},
"oportunitiesImage05Light": {
"url": "/images/site_content/partnersPage/oportunitiesImage05Light.png"
},
"oportunitiesItem01Links": null,
"oportunitiesItem02Links": null,
"oportunitiesItem03Links": null,
"oportunitiesItem04Links": null,
"oportunitiesItem05Links": null,
"contactButtonLabel": "GET IN TOUCH",
"contactCompanyLabel": "Company",
"contactCompanyPlaceholder": "Your company name*",
"contactDescription": "We have opportunities for people across different levels of technical expertise.",
"contactEmailLabel": "Email",
"contactEmailPlaceholder": "email@email.com*",
"contactFormHeading": "Share a bit about yourself, and join for early access.",
"contactFormWarning": "All fields are required",
"contactHeading": "Are you interested in participating in Laconic's Incentivized Testnet?",
"contactInquiryLabel": "Inquiry",
"contactInquiryOptions": [
{
"value": "Validator",
"label": "Validator/Member"
},
{
"value": "Investor",
"label": "Investor"
},
{
"value": "Developer",
"label": "Developer"
},
{
"value": "Customer",
"label": "Prospective Customer"
}
],
"contactInquiryPlaceholder": "Investor*",
"contactLegalLabel": "What legal jurisdiction is your entity based in?",
"contactLegalPlaceholder": "Your jurisdiction*",
"contactMsgLabel": "Message",
"contactMsgPlaceholder": "Write a message or a comment*",
"contactNameLabel": "Name",
"contactNamePlaceholder": "Your name*",
"contactRoleLabel": "Role",
"contactRolePlaceholder": "Your role*"
}
}
}

View File

@ -0,0 +1,5 @@
========NEXT_PUBLIC_DATOCMS_BYPASS /json/site_content/position/_readme.txt
-The JSON stub files in this directory were added for completion when migrating away from datocms
-There were currently no open positions on the careers page at the time of migrating
-However, they will populate on the careers page if valid JSON files are made per the template
-It should be noted, per the orig design of the careers page, the positions will only list if the team node includes "Cerc" or "Xylm" or "Deep Stack"

View File

@ -0,0 +1,10 @@
{
"data": {
"position": {
"id": "12345678",
"positionName": "Position Name",
"positionTeam": "Cerc / Xylm / Deep Stack",
"positionLink": "https://laconic.com"
}
}
}

View File

@ -0,0 +1,10 @@
{
"data": {
"position": {
"id": "12345678",
"positionName": "Another Position",
"positionTeam": "Cerc",
"positionLink": "https://laconic.com"
}
}
}

View File

@ -0,0 +1,10 @@
{
"data": {
"position": {
"id": "12345678",
"positionName": "Test Position",
"positionTeam": "Cerc",
"positionLink": "https://laconic.com"
}
}
}

View File

@ -0,0 +1,35 @@
{
"data": {
"pressPage": {
"heroButtonLabel": "Download our press kit",
"heroButtonLink": "",
"heroHeading": "Newsroom",
"heroLine": "Contact press at xylm.io for press inquiries.",
"mediaHeading": "Media",
"mediaHeadingNumber": "04",
"mediaVideo01Label": "Laconic launching Ethereum rollups built with Cosmos tech",
"mediaVideo01Link": "viE0BZGx_DU",
"mediaVideo01Thumb": {
"url": "/images/site_content/pressPage/mediaVideo01Thumb.png"
},
"mediaVideo02Label": "Hashing It Out Personals: Rick Dudley",
"mediaVideo02Link": "CZT99WsdSpE",
"mediaVideo02Thumb": {
"url": "/images/site_content/pressPage/mediaVideo02Thumb.png"
},
"mediaVideo03Label": "hide this",
"mediaVideo03Link": "CZT99WsdSpE",
"mediaVideo03Thumb": {
"url": "/images/site_content/pressPage/mediaVideo03Thumb.png"
},
"mediaVideo04Label": "hide this",
"mediaVideo04Link": "CZT99WsdSpE",
"mediaVideo04Thumb": {
"url": "/images/site_content/pressPage/mediaVideo04Thumb.png"
},
"pressHeading": "Press Releases",
"pressHeadingNumber": "",
"featuredHeading": "Featured Stories"
}
}
}

View File

@ -0,0 +1,4 @@
========NEXT_PUBLIC_DATOCMS_BYPASS /json/site_content/pressRelease/_readme.txt
-The JSON stub files in this directory were added for completion when migrating away from datocms
-To my knowledge press releases are not called on the site in any location
-It looks like the queries used to list them were removed or never added to the press/newsletter page

View File

@ -0,0 +1,13 @@
{
"data": {
"pressRelease": {
"id": "12345678",
"title": "Press Release Title",
"date": "2023-04-19",
"link": "https://laconic.com",
"image": {
"url": "/images/site_content/pressRelease/_default.png"
}
}
}
}

View File

@ -0,0 +1,13 @@
{
"data": {
"pressRelease": {
"id": "12345678",
"title": "Test",
"date": "2023-04-18",
"link": "https://laconic.com",
"image": {
"url": "/images/site_content/pressRelease/_default.png"
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More